怎样用vba显示选择区域的第一个单元格的行的数值,列的数值
答案:3 悬赏:30
解决时间 2021-02-11 09:19
- 提问者网友:失败的占卜者
- 2021-02-10 17:17
怎样用vba显示选择区域的第一个单元格的行的数值,列的数值
最佳答案
- 二级知识专家网友:苦柚恕我颓废
- 2021-02-10 18:23
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
如果你要获取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
全部回答
- 1楼网友:晚安听书人
- 2021-02-10 20:43
Sub Run()
Dim Rng As Range
Set Rng = Range("C1:F5")
MsgBox "区域最小行:" & Rng.Row & Chr(13) & _
"区域最小列:" & Rng.Column
Set Rng = Nothing
End Sub
- 2楼网友:统治我的世界
- 2021-02-10 19:19
sub 超大检查()
dim irowh, irowi, n as long
dim rng as range
irowh = range("h65536").end(xlup).row
irowi = range("i65536").end(xlup).row
for each rng in range("h1:h" & irowh, "i1:i" & irowi)
select case rng.column
case is = 8
if rng > 2440 then
rng.interior.colorindex = 3
n = n + 1
end if
case is = 9
if rng > 1220 then
rng.interior.colorindex = 3
n = n + 1
end if
end select
next
msgbox "共找到符合条件的单元格:" & n & "个."
end sub
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯