2023-02-20 06:45来源:m.sf1369.com作者:宇宇
下面代码取活动单元格的行号
R =Selection.Row
A列已选定单元格的行号可以用
ActiveCell.Row来获得
例如用变量xh表示行号
xh=ActiveCell.Row
指定到D列同行的单元格
Range(D + LTrim(Str(xh))).Select
例如在A1:C10中查找单元格值等于“ABC”的行号:
for each rn in range(A1:C10)
if rn.value=ABC then
msgbox rn.row
end if
next
楼上回答很好,但是不知道你是否是想知道如何获得A1、A2......等,可以这样处理:
1、定义两个变量,分别为字符型和整数型:
Dim s As String
Dim i As Integer
2、在循环中引用这些变量进行运算即可
for i=1 to 10
s=A & i
range(s).select
……
next i
在模块中定义2个全局变量iRow,iCol
然后在thisworkbook中的Workbook_Open()事件中,取得工作薄一开始时的初始单元格行号和列号,作为初始行号和列号:
Private Sub Workbook_Open()
iRow = ActiveCell.Row
iCol = ActiveCell.Column
End Sub
再然后在sheet1的Worksheet_SelectionChange(ByVal Target As Range)事件中,加下如下代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim reRow As Integer, reCol As Integer
reRow = Target.Row
reCol = Target.Column
Target.Value = 移动前单元格行号是: & iRow & vbCrLf & 移动前单元格列号是: & iCol
Cells(iRow, iCol) =
iRow = reRow
iCol = reCol
End Sub
请用:activesheet.autofilter.Range.SpecialCells(xlCellTypeVisible).Rows.Count
可以通过INDIRECT函数引用单元格中的数值作为行号。
如果两个数值分别在B1和B2单元格,那么
输入
=COUNTA(INDIRECT(A&B1&:A&B2))
得到统计以B1和B2单元格中的数值作为A列引用范围的非空单元格个数。
输入
=SUM(INDIRECT(A&B1&:A&B2))
得到以B1和B2单元格中的数值作为A列引用范围的和。
应该是活动单元格的行号和列号吧
行号 = ActiveCell.Row
列号 = ActiveCell.Column