gpt4 book ai didi

vba - 使用 Excel VBA 向右移动列数据

转载 作者:行者123 更新时间:2023-12-04 21:08:30 31 4
gpt4 key购买 nike

以下是我的排除数据:

A    B       c  ... F               G

1 test vb1 testing1 open
2 test1 vb2 testing1 close
2 test2 vb3 testing1
4 test3 vb4 testing1

我想把F列数据移到B列,把B列数据右移;所以在 B 之前是 C。

我该如何使用 Excel VBA 编程来做到这一点?

最佳答案

尝试这个:

Option Explicit

Sub MoveColumns()

With ActiveSheet
.Columns("F:F").Cut
.Columns("B:B").Insert Shift:=xlToRight
.Columns("C:C").Cut
.Columns("E:E").Insert Shift:=xlToRight
End With
Application.CutCopyMode = False
End Sub

要使用这个:
  • 打开 Visual Basic 编辑器:工具 > 宏 > Visual Basic 编辑器
  • 插入一个模块(右键单击 VBAProject 并插入 > 模块)
  • 将上面的代码粘贴到这个新模块中。

  • 然后您可以从 Excel 执行代码:工具 > 宏... > 宏...

    [编辑] 没有复制粘贴的另一个尝试
    Option Explicit

    Sub copyWithArray()
    Dim lLastrow As Long
    Dim aValues As Variant

    With ActiveSheet
    lLastrow = .Cells(.Rows.Count, "AE").Row
    'store data from the column F
    aValues = .Range("F1:F" & lLastrow).Value
    '"move" data a column further
    .Range("C1:AE" & lLastrow).Value = .Range("B1:AD" & lLastrow).Value
    'copy data from column C to column B
    .Range("B1:B" & lLastrow).Value = .Range("C1:C" & lLastrow).Value
    'restore data copied from column F to column B
    .Range("B1:B" & lLastrow).Value = aValues
    End With
    End Sub

    关于vba - 使用 Excel VBA 向右移动列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9194277/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com