VBA 代码,用于在两列上旋转职位/姓名列表,向上一行(顶行将落在最后),但不包含空白单元格

问题描述 投票:0回答:1

VBA 代码可以将一行两列与位置/名称同步旋转,以便顶行始终落在最后一个位置。代码应忽略空白单元格,仅旋转包含数据的单元格。细胞选择为A3-B18 单元格 A3 和 B3 应旋转到位置 A6 和 B6。单元格 A4 和 B4 应向上移动一行到 A3 和 B3。单元格 A5 和 B5 应向上移动到 A4 和 B4。基本上,即使选择范围更大,只有包含数据的单元格才应该采取行动并旋转。

旋转前

enter image description here

旋转后

enter image description here

这是代码:

Range("A9:B9").Select
Selection.Copy
Range("A29").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("A10:B24").Select
Application.CutCopyMode = False
Selection.Copy
Range("A9").Select
ActiveSheet.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, IconFileName:=False
Range("A29:B29").Select
Selection.Copy
Range("A24").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks :=False, Transpose:=False
Range("A29:B29").Select
Application.CutCopyMode = False
Selection.ClearContents Range("A3")
excel vba rotation multiple-columns move
1个回答
0
投票

稍微适应具体要求:

Sub roller()

lastrow = Range("A2").End(xlDown).Row

Range("A3:B3").Cut Range("A" & lastrow + 1 & ":B" & lastrow + 1)
Range("A3:B3").Delete xlShiftUp


End Sub
© www.soinside.com 2019 - 2024. All rights reserved.