0
A
回答
1
您需要执行VB编辑器菜单/工具/参考,然后选中Microsoft Scripting Runtime旁边的复选框。 这使您可以访问的Scripting.Dictionary,这是加密散列对象(键/值对)
Sub CopyByCol()
Dim lCol As Long, lCols As Long, sCol As String, lRows As Long
Dim dictCol As New Scripting.Dictionary
Dim rFrom As Range, rTo As Range
Set rFrom = Sheet1.Range("A1")
Set rTo = Sheet2.Range("A1")
' Store hash of where column names occur in target sheet, keyed by Col name
lCols = rFrom.Offset(0, 255).End(xlToLeft).Column - rFrom.Column
For lCol = 0 To lCols
sCol = rTo.Offset(0, lCol).Value
dictCol.Add sCol, lCol
Next
' Get key column name from From sheet, and write to correct col in To sheet
For lCol = 0 To lCols
sCol = rFrom.Offset(0, lCol).Value
lRows = rFrom.Offset(65000, lCol).End(xlUp).Row - rFrom.Row
Range(rFrom.Offset(1, lCol), rFrom.Offset(lRows, lCol)).Copy Destination:=rTo.Offset(1, dictCol(sCol))
Next
End Sub
相关问题
- 1. VBA - 将数据从一张纸复制到另一张
- 2. 将数据从一张纸复制到另一张工作簿
- 3. 如何将数据从一张纸复制到另一张
- 4. 如何从一张纸复制到另一张纸excel?
- 5. 1,000张,一张纸上的数据与另一张纸上的一张纸上的数据匹配
- 6. 使用VBA将列从一张纸复制到另一张纸上?
- 7. 将数据从一张纸复制到另一张纸上,但在一张空白列中
- 8. 使用VBA将一行从一张纸复制到另一张
- 9. 复制活动行从一张纸到另一张谷歌纸张
- 10. 将行从一张纸复制到另一张
- 11. 将内容从一张纸复制到另一张时出错
- 12. VBA - 将可变范围从一张纸复制到另一张
- 13. 将一张纸上的数值插入到另一张纸上
- 14. 将数据从一张纸复制到另一张时的问题
- 15. 将格式化的数据从一张纸复制到另一张
- 16. 使用VBA循环将数据从一张纸复制到另一张
- 17. 使用单元格值将数据从一张纸复制到另一张
- 18. 如何将所选列数据从一张纸加载或复制到另一张纸
- 19. 如何使用vbscript将一张纸的行复制到另一张纸上
- 20. 将一张纸上的详细信息复制到另一张
- 21. 从一张纸复制到另一张纸时的运行时错误
- 22. Excel - VBA - 如何从一张纸复制到另一张
- 23. Excel VBA从一张纸复制到另一张没有选择
- 24. 从一张纸复制到另一张不连续的范围
- 25. excel vba从一张纸复制到另一张订单
- 26. 从第二列开始,将行从一张纸转移到另一张纸上
- 27. 使用表名循环将范围从一张纸复制到另一张
- 28. 根据名称将纸张合并到一张纸上
- 29. 将两张工作表上的三列与两张纸上的行相匹配复制到一张新纸上
- 30. VBA根据匹配值将数字从一张纸传输到另一张纸其他col
谢谢你,很抱歉这么晚才回复:)这将肯定帮助别人的未来... – vettipayyan