dee*_*dee 59
要引用单元格范围,您可以使用Range(Cell1,Cell2),示例:
Sub RangeTest()
Dim testRange As Range
Dim targetWorksheet As Worksheet
Set targetWorksheet = Worksheets("MySheetName")
With targetWorksheet
.Cells(5, 10).Select 'selects cell J5 on targetWorksheet
Set testRange = .Range(.Cells(5, 5), .Cells(10, 10))
End With
testRange.Select 'selects range of cells E5:J10 on targetWorksheet
End Sub
Run Code Online (Sandbox Code Playgroud)
Cus*_*omX 34
以下是选择范围A1的两种解决方案.
Cells(1,1).Select '(row 1, column 1)
Range("A1").Select
Run Code Online (Sandbox Code Playgroud)
另请查看此链接;
我们强烈建议您使用Range而不是Cells来处理细胞和细胞组.它使你的句子更清晰,你不必被记住,列AE是第31栏.
只有当您想要选择工作表的所有单元格时,才能使用单元格.例如:Cells.Select要选择所有单元格,然后清空您将使用的值或公式的所有单元格:Cells.ClearContents
-
"单元格"在动态设置范围并使用计数器循环遍历范围时特别有用.使用字母作为列号定义范围在短期内可能更透明,但它也会使您的应用程序更加严格,因为它们是"硬编码"表示 - 而非动态.
是! 您可以使用Range.EntireColumn
MSDN
dim column : column = 4
dim column_range : set column_range = Sheets(1).Cells(column).EntireColumn
Run Code Online (Sandbox Code Playgroud)
如果您在特定列之后,可以使用语法创建硬编码列范围Range("D:D")
.
但是,我使用整列,因为它可以更灵活地在以后更改该列.
Worksheet.Columns
提供对工作表中列的Range访问权限. MSDN
如果您想访问第一张表的第一列.您可以Columns
在工作表上调用该函数.
dim column_range: set column_range = Sheets(1).Columns(1)
Run Code Online (Sandbox Code Playgroud)
该Columns
属性也可在任何Range
MSDN上使用
EntireRow
如果您有一个单个单元格的范围但想要到达该行上的其他单元格,也可能很有用,类似于 LOOKUP
dim id : id = 12345
dim found : set found = Range("A:A").Find(id)
if not found is Nothing then
'Get the fourth cell from the match
MsgBox found.EntireRow.Cells(4)
end if
Run Code Online (Sandbox Code Playgroud)
更新的答案:
此版本的 ColumnNumToStr 比原始答案更加简洁,并测试了从“A”(值 1)到“XFD”(值 16383)的所有列。
Public Function ColumnNumToStr(ColNum As Integer) As String
Dim Rtn As String: Rtn = ""
Dim Value As Integer: Value = ColNum - 1
While Value >= 0
Rtn = Chr(65 + (Value Mod 26)) & Rtn
Value = Fix(Value / 26) - 1
Wend
ColumnNumToStr = Rtn
End Function
Run Code Online (Sandbox Code Playgroud)
原始答案:
这是 ConvertToLetter 函数的精简替换,理论上应该适用于所有可能的正整数。例如,1412 生成“BBH”作为结果。
Public Function ColumnNumToStr(ColNum As Integer) As String
Dim Value As Integer
Dim Rtn As String
Rtn = ""
Value = ColNum - 1
While Value > 25
Rtn = Chr(65 + (Value Mod 26)) & Rtn
Value = Fix(Value / 26) - 1
Wend
Rtn = Chr(65 + Value) & Rtn
ColumnNumToStr = Rtn
End Function
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
299025 次 |
最近记录: |