VBA之行列的引用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA之行列的引用相关的知识,希望对你有一定的参考价值。
‘行列引用 Sub 列引用() Columns(1).Select Columns("b").Select Columns("c:e").Select End Sub Sub 行引用() Rows(1).Select Rows("2").Select Rows("3:4").Select End Sub Sub range行列表式法() Range("1:1").Select Range("2:4").Select Range("a:a").Select Range("b:d").Select End Sub Sub 简写法() [a:a].Select [b:d].Select [1:1].Select [2:4].Select End Sub Sub 全选() Rows.Select ‘选择所有行 Columns.Select ‘选择所有列 Cells.Select ‘选择所单元格 i = Rows.Count j = Columns.Count k = Cells.Count‘显示数据溢出 End Sub
Sub 动态引用使用区域() a = Application.CountA(Columns(1)) b = Application.CountA(Rows(1)) Range("a1", Cells(a, b)).Select End Sub
Row与Column属性(row是行,多用数字表示,column是列,多用字母表示)
‘------------------------------------------------- ‘Range.Row 属性 ‘返回区域中第一个子区域的第一行(最左上角)的行号 ‘Range.Column 属性 ‘返回指定区域中第一块中的第一列的(最左上角)列号 ‘------------------------------------------------- Sub test() i = Range("a3:b9").Range("a5").Row j = Range("a3:b9").Row i = Range("b3:d9").Range("a5").Column j = Range("b3:d9").Column ‘j=2,因为B列是第二列 End Sub Sub row应用()‘隔一行设置行的高度 For Each rw In Rows("1:13") If rw.Row Mod 2 = 0 Then rw.RowHeight = 5 End If Next rw End Sub
效果图:注意行号与行高
单元格的值和地址:
‘单元格的值表示方法 Sub 单元格值表示() a = [a1].Value ‘实际是什么,就是什么 b = [a1].Text ‘看到是什么,就是什么(通过自定义格式做出来的值) c = [a1] ‘不加默认为.Value,建议养成加上.Value的习惯 End Sub ‘注意:一个单元格可以省略value,多单元格区域不能省略 Sub 多区域赋值() ‘一块区域的值统一赋值给另一款区域 Range("e1:e4") = Range("d1:d4").Value End Sub ‘单元格地址与引用 Sub 地址与引用() Set rng = [b2:f2] [a9] = rng.Address(1, 1) ‘绝对引用 [b9] = rng.Address(0, 0) ‘相对引用 [c9] = rng.Address(1, 0) ‘混合引用 [d9] = rng.Address(0, 1) ‘混合引用 ‘结果分别如下:($表示绝对引用) ‘$A$1:$C$3 A1:C3 A$1:C$3 $A1:$C3 End Sub ‘总结:1代表固定,0代表不固定,默认是绝对引用 Sub 地址引用实例() ‘将表三成绩中为空的单元格标为未考 Dim rng As Range, rn$ On Error Resume Next For Each rng In Sheet3.Range("b2:d10") If rng = "" Then rn = rn & rng.Address & "," Next Range(Left(rn, Len(rn) - 1)) = "未考" End Sub ‘思考题:用上题的思路,将成绩中的"未考"去掉为空? Sub Thinking() On Error Resume Next For Each rng In Sheet3.Range("b2:d10") If rng = "未考" Then rn = rn & rng.Address & "," Next Range(Left(rn, Len(rn) - 1)) = "" End Sub
Before:
after:
PS:数据不一致因为是随机生成的
以上是关于VBA之行列的引用的主要内容,如果未能解决你的问题,请参考以下文章