热门搜索 :
考研考公
您的当前位置:首页正文

VBA值列选取与复制,赋值

来源:东饰资讯网


‘从活动单元格向上12行到向上1行的总和

ActiveCell.FormulaR1C1=\"SUM(R[-12])C:R[-1]C\"

‘引用第C-D列和第F-G列

Range(“B2:D6”)

‘引用B2-D6的单元格 同Range(“B2”,”D6”) ,Rangge(Cells(2,2),Cells(6,4))

‘引用第2行3列

Cells(2,3) 或Cells(2,”C”)

ActiveCell.Resize(4,4) ‘自当前单元格开始创建一个4行4列的区域

Range(“B2”).Resize(5,3) ‘从B2开始扩展的区域为5行3列的区域

‘不连续单元格的引用

Range(“A1:B2,C4,D6:F7”) 引用从A1-B2、C4和D6-F7的区域

‘设置多个不连续区域

Sub Union

Dim bigRange as Range

WorkSheets(“Sheet1”)。Activate

Set bigRange=Application.Union(Range(“A1:B2”),Range(“C4”),Range(“D6:F7”))

bigRange.Select

End Sub

‘新建名称

为单元格区域添加名称”客户”

Sub AddName2()

ActiveSheet。Names.Add Selections.Address()

End Sub

‘直接为选定的区域命名

Selection。Name=”品名”

Name:=”客户&

\

‘新建名称

Sub AddName1()

ActiveSheet。Names.Add Name:=”品名”,RefersTo:=”=”=$B$2:$B$80

End Sub

‘删除命名

Sub DeleteRangeNames()

Dim rName as Name

For Each rName In ActiveWorkbook。 rName。Delete

Next rName

End Sub

‘选取单个单元格

Range(“A1”)。Select

Names

Cells(1,1).Select

[A1]。Select

‘选取A1-A10,C1—C10的不连续区域

Range(“A1:A10,C1:C10”)。Select

Union(Range(“A1:A10”),Range(“C1:C10”)。Select

‘选取当前区域和使用的区域

CurrentRegion.Selection

UsedRange。Selection

‘选取A1—B10的单元格区域

Range(“A1:B10\")。Select

Range(Cells(1,1),Cells(10,2))。Select

‘命名区域的选择

Range(“品名”).Select

‘选取整个工作表

Cells.Select或Columns.Select或Rows。Select

‘使用常量给单元格赋值

Sub ResetValuesToZero2()

Dim n as Range

For Each n In Worksheets(“Sheet1”) If n.Value<>0 Then

n。Value=0

End If

Next n

End Sub

‘给一个区域赋值

Sub setZero()

。Range(“WorkArea1”)

Sheet1。Range(“A1:D5”)=0

End Sub

‘把变量赋值给单元格

Sub test()

For i=1 to 10

Range(“A” & i)=i

Next i

End Sub

‘使用Chr函数转换数值变量为字符

Sub Test2()

Dim a as String

Dim I as Integer

For i=65 to 70

A=Chr(i)

Range(a & 1)=i

Next i

End Sub

‘把单元格的值赋值给数组

Sub RangeToArray()

Dim myArray(3) as integer

Dim I as integer

For i=1 to 3

myArray(i)=Cells(1,i)

Next i

End Sub

‘把单元格中一行单元格的值赋给数组

Sub RangeToArray0()

Dim I as integer

Dim varArray as Variant

varArray=Sheet1。Range(“A1:C1”)。Value

For i=1 to 3

MsgBox varArray(1,i)

Next i

End Sub

‘把一个单元格矩形区域的值赋给数组

Sub RangeToArray1()

Dim varArray as Variant

Dim r%

Dim c%

varArray=Sheet1。Range(“A1:C3”)。Value

‘按行循环数组

For r=1 to UBound(varArray,1)

For c=1 to UBound(varArray,2)

Debug。Print varArray(r,c)

Next c

Next r

End Sub

‘把数组的值赋给单元格

Sub ArrayToRange2()

Dim aData(2,2) as Variant

Dim RowCnt As integer,ColCnt as integer

aData(0,0)=1

aData(0,1)=2

aData(0,2)=3

aData(1,0)=4

aData(1,1)=5

aData(1,2)=6

aData(2,0=7

aData(2,1)8

aData(2,2)9

End Sub

‘把公式传给数组

Sub RangeToArray4()

Dim arr As Variant

Arr=[a6:c10].Formula

[e6:g10=arr

End Sub

‘单元格间的赋值

Sub cells()

Dim I as Integer

For i=1 to 5

Cells(i+5,7)=Cells(I,1)

Next i

End Sub

‘把一行单元格赋值给一列单元格

Sub Range2()

Dim I as Integer

Dim j as integer

For i=1 to 5

J=j+1

Cells(I,10)=cells(2,j)

Next i

End Sub

‘使用数组转置实现行、列单元格之间的数据传递

Sub range3()

Dim varArray as Varaint

varArray=Application.Transpose([A1:E1])

[G1:G5=varArray

End Sub

‘按地址拆分工作表()

Sub 按地址拆分工作表()

On Error Resume Next

Dim n As Integer, K As Integer

Dim j As Long

n = 2

'获取A列从下数不为空的单元格行号

j = 10

For K = 2 To j

Do Until Left(Sheet2.Cells(K, 2), 3) 〈> Left(Sheet2.Cells(K + 1, 2), ’k中保存省份名称相同的地址数目

K = K + 1

Loop

’判断第2列K行的地区省份与第2列K+1行的地区省份是否相同

If Left(Sheet2.Cells(K, 2), 3) <〉 Left(Sheet2.Cells(K + 1, 2), 3) Then

3)

’如果不同复制Sheet2中的指定单元格

Sheet2.Activate

Range(Cells(n, 1), Cells(K, 2))。Copy

’添加工作表

Sheets.Add

’为工作表命名,其名称取自Sheet2工作表中第二列的前三个汉字

ActiveSheet。Name = Left(Sheet2.Cells(K, 2), 3)

’把复制的内容粘贴到新建的工作表中

Range(”A2”)。Select

ActiveSheet.Paste

End If

n = K + 1

Next K

End Sub

因篇幅问题不能全部显示,请点此查看更多更全内容

Top