怎样用vba显示选择区域的第一个单元格的行的数值,列的数值

2024-11-06 11:36:53
推荐回答(3个)
回答(1):

实现的方法和详细的操作步骤如下:

1、第一步,显示该单元格中所选单元格的行号和列号,并使用VBA在以下两个单元格中进行显示,见下图,转到下面的步骤。

2、第二步,完成上述步骤后,按“Alt +  F11”打开VBA编辑界面,选择当前工作表以编写代码,见下图,转到下面的步骤。

3、第三步,完成上述步骤后,以下代码是当前单元格的行号,并将其放在当前单元格的下一个单元格中,见下图,转到下面的步骤。

4、第四步,完成上述步骤后,以下代码用于获取当前单元格的列号,并将其放在当前单元格下面的第二个单元格中,见下图,转到下面的步骤。

5、第五步,完成上述步骤后,编写代码完成,单击“运行”按钮(或按F5键),见下图,转到下面的步骤。

6、第六步,完成上述步骤后,当返回Excel时,可以看到当前单元格的行号和列号,见下图。这样,就解决了这个问题了。

回答(2):

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

回答(3):

Sub Run()
Dim Rng As Range
Set Rng = Range("C1:F5")
MsgBox "区域最小行:" & Rng.Row & Chr(13) & _
       "区域最小列:" & Rng.Column
Set Rng = Nothing
End Sub