我有一個包含10個工作表的excel文件。這些圖紙都包含相同的列標題但數據不同。我手動對第一張紙進行了排序,現在我希望其他紙張中的所有列都與第一張紙的順序相匹配,我無法手動完成所有這些操作,因爲這需要我永遠。如何根據第一張訂單以同一順序在工作簿中創建所有列?我對VBA知之甚少,所以尋求一些幫助。在工作表中對excel列進行排序
0
A
回答
1
確保在運行宏之前保存整個工作簿。沒有撤消。
希望這有助於:
Sub ColumnRearrangement()
'Horaciux 2014-06-23
Dim nextLabel As String
Dim currentLabel As String
Dim TotalPages As Integer
Dim TotalColumns As Integer
TotalPages = 10
TotalColumns = 200
'Insert a blank column in each page
For p = 2 To TotalPages
Sheets(p).Select
Columns("A:A").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B1").Select
Next
For c = TotalColumns To 1 Step -1
Sheets(1).Select
'Debug.Print "-" & Cells(1, c).Text & "-" & Str(c)
nextLabel = Cells(1, c).Text
Sheets(2).Select
For oldCulumn = 2 To TotalColumns + 1
'Debug.Print Cells(1, oldCulumn).Text & "-" & Str(oldCulumn)
currentLabel = Cells(1, oldCulumn).Text
If currentLabel = nextLabel Then
'Debug.Print currentLabel & "-" & Str(oldCulumn)
Exit For
End If
Next
For p = 2 To TotalPages
Sheets(p).Select
Columns(oldCulumn).Select
Selection.Cut
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
Next
Next
For p = 2 To TotalPages
Sheets(p).Select
Range("A1").Select
Next
End Sub
0
如果您希望重複列的重新排序,只要所有表中的列都處於相同(錯誤)的順序,就應該能夠爲此記錄一個簡單的宏。打開第二個表(因爲你已經安排好第一),然後執行以下操作:
- 打開第二片
- 點擊
record macro
,給它的任何名稱 - 雖然它的錄音,剪切/插入列在爲了你想要第二片
- 一旦完成內,單擊
stop recording
現在你有,你可以打開網頁的休息,就會重複宏您重新排序。打開每個工作表並單擊查看宏,然後運行剛剛創建的工作表。如果保存文件,它也會保存宏。
編輯:優點@horaciux,請確保在運行宏之前保存整個工作簿,因爲沒有撤消。
相關問題
- 1. 在excel中對列進行排序
- 2. 在excel中對錶單進行排序
- 3. 基於工作表1中的列對sheet2中的列進行排序 - excel
- 4. 在ClosedXML中,如何按列對工作表進行排序?
- 5. 在Erlang中對列表進行排序
- 6. 在Groovy中對列表進行排序
- 7. 在Prolog中對列表進行排序
- 8. 在C中對列表進行排序#
- 9. 在類中對列表進行排序
- 10. 使用表索引對excel表中的列進行排序vba
- 11. 在Excel中對數據進行排序
- 12. 我想對列表進行排序,但它不工作
- 13. 對Prolog中的列表進行排序
- 14. 根據列表對excel行進行排序
- 15. 如何在groovy中對排序列表進行排序
- 16. 按兩列對列表進行排序
- 17. Excel - 對十進制值進行排序
- 18. 使用c#在excel中對列進行排序
- 19. 使用vba在excel中對特定列進行排序
- 20. 使用C#在Excel中對多個列進行排序
- 21. 在python中對列表進行排序的算法無法正常工作
- 22. VBA Excel:通過搜索另一個工作表進行排序
- 23. 在Java中對列表列表進行排序
- 24. Excel VBA:使用下拉列表對單元格進行排序
- 25. 使用Excel公式對單元格列表框進行排序
- 26. 在Excel/Google表格中對空格進行排序
- 27. 可以在多線程中對Excel表進行排序嗎?
- 28. Excel VBA對多行進行排序
- 29. 在角js中對列進行排序
- 30. 在sql中對列進行排序
通過 「整理...手動」 你的意思是如'排序的列A desc,然後列B asc,然後列C desc ...'?如果是這樣,除非您記錄每個過濾器的宏設置,否則除非自動執行它(例如vba),否則可能沒有更快的方法。 – Astockwell
我的意思是我剪切並粘貼到我想要的順序的列。 – kittels
第一行的列標題,對嗎?他們有多少(列)? – Horaciux