|
'[a34]初始值为5。按第31行16个单元格为一组移动,如果是16列整体移动修改注释行,,,
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$A$33" And Target.Address <> "$A$35" Then Exit Sub
Dim arr(1 To 48), a, b
Static n
If n = 0 And [a34].Value <> 5 Then MsgBox "确认初始值及源数据列位置!": Exit Sub
If Target.Address = "$A$33" Then n = -1 Else n = 1
If Target.Address = "$A$33" And [a34].Value > 1 Or Target.Address = "$A$35" And [a34].Value < 5 Then
[a34].Value = [a34].Value + n
If n = -1 Then a = 11: b = 3 Else a = -5: b = 3
Cells(31, 8 * ([a34].Value - 1) + a).Resize(, 16).Cut Destination:=Cells(31, 8 * ([a34].Value - 1) + b).Resize(, 16)
'Columns(8 * ([a34].Value - 1) + a).Resize(, 16).Cut Destination:=Columns(8 * ([a34].Value - 1) + b).Resize(, 16)
End If
Target.Offset(-1).Select
End Sub |
评分
-
2
查看全部评分
-
|