如何在A列中选择包含内容的单元格?
例如
我可能有一个姓名列表
John
Jack
James
和其他更长的时间列表
John
Jack
James
Jimmy
这些将始终位于单元格A1-AX中,X是最后一行。
对于第一个示例,我将使用代码
Range("A1:A3").Select
第二次,
Range("A1:A4").Select
我想使用自动执行此操作的代码,而不管列表中有多少。
答案 0 :(得分:1)
在代码的第四行上编辑工作表名称(在此处保留引号),然后运行代码。
Option Explicit
Sub LRow()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1") '<=== Edit Sheet Name
Dim LRow As Long
LRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
ws.Range("A1:A" & LRow).Select
End Sub
答案 1 :(得分:0)
Private strPrevCellAddress As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r As Excel.Range
If strPrevCellAddress <> "" Then
Range(strPrevCellAddress).Interior.ColorIndex = -4142
End If
Set r = Cells(1, Target.Column)
Set r = r.Resize(r.End(xlDown).Row, 1)
r.Interior.Color = vbRed
strPrevCellAddress = r.Address
End Sub
答案 2 :(得分:0)
您需要参考Worksheet.UsedRange.Rows属性以找到行数。
Dim x As String
x = Me.UsedRange.Rows.Count
Me.Range("A1:A" + x).Select
确保相关工作表处于活动状态,否则您将收到应用程序错误。
答案 3 :(得分:0)
Sub SelectStartToEnd(sheetName as string, Column as string, Optional StartIndex as integer)
Dim StartHere as string
If IsMissing(StartIndex) = False then
StartHere = Column + CStr((1 + StartIndex))
End If
Sheets(sheetName).Range(startHere + ":" + Range(StartHere).SpecialCells(xlCellTypeLastCell).Address).Select
End Sub
这超越了大多数方法的利弊。