我想根据选择选择多个单元格。
这是我的代码:
Private Sub CommandButton1_Click()
Selection.EntireRow.Select
End Sub
我想选择多个单元格中的前四列行,而不是整行。如何实现?this is my Excel worksheet
最佳答案
选择非连续范围的行
Module1
.Private Sub CommandButton1_Click()
selectRowsOfListObject
End Sub
或者Private Sub CommandButton1_Click()
selectRowsOfFirstFourColumns
End Sub
ActiveSheet
中第一个(结构化)表中选定单元格的行。 .表格数据( DataBodyRange
)之外的任何单元格都将被忽略。ActiveSheet
的前四列中。 .在前四列之外选择的任何单元格都将被忽略代替
Set ws = ActiveSheet
使用例如Set ws = wb.Worksheets("Sheet1")
代码
Option Explicit
Sub selectRowsOfListObject()
Dim wb As Workbook
Set wb = ThisWorkbook
Dim ws As Worksheet
Set ws = ActiveSheet
Dim tbl As ListObject
Set tbl = ws.ListObjects(1)
If Selection.Worksheet.Name = ws.Name Then
If TypeName(Selection) = "Range" Then
Dim rng As Range
Set rng = Intersect(Selection, tbl.DataBodyRange)
If Not rng Is Nothing Then
Set rng = Intersect(rng.Rows.EntireRow, tbl.DataBodyRange.Rows)
End If
If Not rng Is Nothing Then
rng.Select
End If
End If
End If
End Sub
Sub selectRowsOfFirstFourColumns()
Dim wb As Workbook
Set wb = ThisWorkbook
Dim ws As Worksheet
Set ws = ActiveSheet
If Selection.Worksheet.Name = ws.Name Then
If TypeName(Selection) = "Range" Then
Dim rng As Range
Set rng = Intersect(Selection.Rows.EntireRow, _
ws.Columns(1).Resize(, 4))
If Not rng Is Nothing Then
rng.Select
End If
End If
End If
End Sub
关于Excel VBA根据选择选择多个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64522660/