这看起来很简单,但我有一个heckava时间找到答案。我很感激任何帮助。
在工作表上我有五列数据,分为三组:
A1 B1 C1 D1 E1 ---- J1 K1 L1 M1 N1 ---- O1 P1 Q1 R1 S1
A2 B2 C2 D2 E2 ---- J2 K2 L2 M2 N2 ---- O2 P2 Q2 R2 S2
A3 B3 C3 D3 E3 ---- J3 K3 L3 M3 N3 ---- O3 P3 Q3 R3 S3
依此类推200行。
我想在Excel中执行的操作是双击D,M或R列中的单元格并删除相应的分组,并使该行的该部分向上移动。例如,我双击 D2 ,A2,B2,C2,D2和E2被删除,向上移动A3,B3,C3,D3和E3。所有其他细胞保持不变。
提前,感谢任何建议。
答案 0 :(得分:3)
将其添加到工作表的代码模块
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case Target.Column
Case Columns("D").Column, Columns("M").Column, Columns("R").Column
Target.Offset(, -3).Resize(, 5).Delete Shift:=xlUp
Cancel = True
End Select
End Sub
答案 1 :(得分:0)
如果列始终在第3列。在VBA中将此代码粘贴到工作表中
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If (Target.Column = 4 Or Target.Column = 13 Or Target.Column = 18) Then
Range(Selection.Offset(0, -2), Selection.Offset(0, 1)).Delete Shift:=xlUp
Cancel = True
End If
End Sub