【发布时间】:2021-06-06 07:40:05
【问题描述】:
我有很多列的表格,如果我选择单元格 B3 或 C3(例如)复制同一行上的单元格 B3:G3,我需要。
选择可以是工作表上的任何行。可以用 vba 完成吗? 样品表附在此链接上 https://easyupload.io/8knzr9
【问题讨论】:
我有很多列的表格,如果我选择单元格 B3 或 C3(例如)复制同一行上的单元格 B3:G3,我需要。
选择可以是工作表上的任何行。可以用 vba 完成吗? 样品表附在此链接上 https://easyupload.io/8knzr9
【问题讨论】:
B和/或C,它将选择它们的行,但在列中B:G。表格模块,例如Sheet1
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const cFirstRow As String = "B3:C3"
Const sCols As String = "B:G"
Dim crg As Range
With Range(cFirstRow)
Set crg = .Resize(Rows.Count - .Row + 1)
End With
Dim irg As Range: Set irg = Intersect(crg, Target)
If Not irg Is Nothing Then
Dim srg As Range, arg As Range, rrg As Range
For Each arg In irg.Areas
For Each rrg In arg.Rows
If srg Is Nothing Then
Set srg = Columns(sCols).Rows(rrg.Row)
Else
Set srg = Union(srg, Columns(sCols).Rows(rrg.Row))
End If
Next rrg
Next arg
If Not srg Is Nothing Then
srg.Select
End If
End If
End Sub
【讨论】: