怎样用vba显示选择区域的第一个单元格的行的数值,列的数值
实现的方法和详细的操作步骤如下:
1、第一步,显示该单元格中所选单元格的行号和列号,并使用VBA在以下两个单元格中进行显示,见下图,转到下面的步骤。
2、第二步,完成上述步骤后,按“Alt + F11”打开VBA编辑界面,选择当前工作表以编写代码,见下图,转到下面的步骤。
3、第三步,完成上述步骤后,以下代码是当前单元格的行号,并将其放在当前单元格的下一个单元格中,见下图,转到下面的步骤。
4、第四步,完成上述步骤后,以下代码用于获取当前单元格的列号,并将其放在当前单元格下面的第二个单元格中,见下图,转到下面的步骤。
5、第五步,完成上述步骤后,编写代码完成,单击“运行”按钮(或按F5键),见下图,转到下面的步骤。
6、第六步,完成上述步骤后,当返回Excel时,可以看到当前单元格的行号和列号,见下图。这样,就解决了这个问题了。
a.rows的编号是从1开始的,a.rows(1)表示的就是a区域的第一行
如果你要获取a区域的第一个单元格的单元格地址
可以这样写: a.rows(1).cells(1).address(0,0) 或者:a.cells(1,1).address(0,0)
如果你要获取a区域的第一个单元格的单元格行号
可以这样写:a.rows(1).cells(1).row 或者:a.cells(1,1).row
如果你要获取a区域的第一个单元格的单元格列号
可以这样写:a.rows(1).cells(1).column 或者:a.cells(1,1).column
给你一个例程你参考一下:
Sub test()
Dim a As Range
Dim rng As Range
Set a = Range("A1:G7")
For i = 1 To a.Rows.Count 'a.rows.count 为a区域包含的总行数
For ii = 1 To a.Rows(i).Cells.Count 'a.Rows(i).Cells.Count 为a区域指定行包含的单元格数(也就是指定行的总列数)
myvalue1 = a.Rows(i).Cells(ii)
myaddress1 = a.Rows(i).Cells(ii).Address(0, 0)
h1 = a.Rows.Cells(ii).Row
l1 = a.Rows.Cells(ii).Column
MsgBox "工作表名称: " & ActiveSheet.Name & vbCrLf & "行标、列标: 第" & h1 & "行,第" & l1 & "列" & vbCrLf & "单元格地址: " & myaddress1 & vbCrLf & "单元格的值: " & myvalue1, , "用rows对象的cells对象获得"
myvalue2 = a.Cells(i, ii)
myaddress2 = a.Cells(i, ii).Address(0, 0)
h2 = a.Cells(i, ii).Row
l2 = a.Cells(i, ii).Column
yn = MsgBox("工作表名称: " & ActiveSheet.Name & vbCrLf & "行标、列标: 第" & h2 & "行,第" & l2 & "列" & vbCrLf & "单元格地址: " & myaddress2 & vbCrLf & "单元格的值: " & myvalue2, 1, "直接用cells对象获得")
If yn = 2 Then Exit Sub
Next
Next
End Sub
Sub Run()
Dim Rng As Range
Set Rng = Range("C1:F5")
MsgBox "区域最小行:" & Rng.Row & Chr(13) & _
"区域最小列:" & Rng.Column
Set Rng = Nothing
End Sub