通过删除行和列移动 table
Shifting a table by deleting rows and columns
我有一个由随机数填充的 table,我想删除 table 左侧的 x 列,[=25= 底部的 x 行=] 并将剩余的值移动到左下角。
Public Sub shiftrandom()
Dim Difference As integer
Difference = 5
Dim i As Integer
For i = 1 To Difference
Range("B2:B20").Delete Shift:=xlToLeft
Range("B20:N20").Delete Shift:=xlDown
Next i
End Sub
这里 B2:B20 是第一列,B20:N20 是最后一行。这是一个 13x19 table.
Range("B2:B20").Delete Shift:=xlToLeft
本身工作正常,它将所有剩余值向左移动正确的列数,但下移行 returns 和
out of bounds error.
谢谢。
Excel删除时不移位Down
或Right
。
只有Left
或Up
可能:
XlShift - 仅用于 Range 对象。指定如何移动单元格以替换已删除的单元格。可以是以下 XlDeleteShiftDirection 常量之一: xlShiftToLeft
或 xlShiftUp
。如果省略此参数,Microsoft Excel 根据范围的形状决定。
不要循环
Public Sub shiftrandom()
Dim Difference As Long
Difference = 5
With Range("B2:N20")
.Resize(,Difference).Delete
.Rows(.Rows.Count - Difference + 1).Resize(Difference).Delete
End With
End Sub
我有一个由随机数填充的 table,我想删除 table 左侧的 x 列,[=25= 底部的 x 行=] 并将剩余的值移动到左下角。
Public Sub shiftrandom()
Dim Difference As integer
Difference = 5
Dim i As Integer
For i = 1 To Difference
Range("B2:B20").Delete Shift:=xlToLeft
Range("B20:N20").Delete Shift:=xlDown
Next i
End Sub
这里 B2:B20 是第一列,B20:N20 是最后一行。这是一个 13x19 table.
Range("B2:B20").Delete Shift:=xlToLeft
本身工作正常,它将所有剩余值向左移动正确的列数,但下移行 returns 和
out of bounds error.
谢谢。
Excel删除时不移位Down
或Right
。
只有Left
或Up
可能:
XlShift - 仅用于 Range 对象。指定如何移动单元格以替换已删除的单元格。可以是以下 XlDeleteShiftDirection 常量之一: xlShiftToLeft
或 xlShiftUp
。如果省略此参数,Microsoft Excel 根据范围的形状决定。
不要循环
Public Sub shiftrandom()
Dim Difference As Long
Difference = 5
With Range("B2:N20")
.Resize(,Difference).Delete
.Rows(.Rows.Count - Difference + 1).Resize(Difference).Delete
End With
End Sub