excel - VBA:重新排列列代码在每张纸上将列向右移动
问题描述
我有这段代码可以查看每个工作表并根据数组重新排列列。问题是,对于每张纸,代码都会将我的列从 A1 开始移动。
例如,工作表 1 从 A1 开始,工作表 2 从 P1 开始,工作表 3 从 AE 开始,依此类推。他们都需要从A1开始。
此外,在除了第 1 页之外的每张纸上,它都会在每个标题之后添加一个空白列,这是我不想要的。
这是代码:
Sub RearrangeColumnsInAllWorksheets()
Dim arrColOrder As Variant
arrColOrder = Array("Company", "First Name", "Last Name", "Email", "Category", "Address", "Suite or Unit?", "Suite/Unit", "City", "Province", "Postal Code", "Phone", "Fax", "Website", "Service Areas", "Logo", "CONCAT")
Dim ndx As Long
Dim Found As Range
Dim Counter As Long
Counter = 1
Application.ScreenUpdating = False
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets 'loop through all worksheets
For ndx = LBound(arrColOrder) To UBound(arrColOrder)
Set Found = ws.Rows("1:1").Find(arrColOrder(ndx), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
If Not Found Is Nothing Then
If Found.Column <> Counter Then
Found.EntireColumn.Cut
ws.Columns(Counter).Insert Shift:=xlToRight
Application.CutCopyMode = False
End If
Counter = Counter + 1
End If
Next ndx
Next ws
Application.ScreenUpdating = True 'don't forget to turn it on again
End Sub
谢谢!
解决方案
推荐阅读
- javascript - 如何将“如果数据数组中的第三个元素不为空,则显示表格;如果不是,则返回空白”转换为 Google Apps Script Javascript?
- woocommerce - 将结帐页面的 woocommerce 通知移动到“before_cart”
- python - 获取无类型和无效文字错误
- c# - 带有繁忙等待/CPU绑定代码的等待异步链的末尾应该是什么?
- javascript - 有没有办法选择点击事件附近的元素?
- javascript - Google Maps LatLng 的 Typescript 类型问题{}
- linux - No such file or directory in shell redhat
- c - 在使用 malloc() 分配的两个字符串上使用 strcat() 然后使用 = 分配会导致 C 程序中的段错误
- netsuite - NetSuite 哪些因素决定从文件柜中引用哪个脚本?
- python - 使用 C API 在 python 中确定十进制对象的类型并转换为不同的类型