vba复制检查索引的表之间的列

我在源文档中有一个表,我需要复制整个列并将其粘贴到另一个工作簿的另一个表中,但列的单元格必须按照索引进行粘贴(因为源和匹配行不在相同的顺序,他们不能)

我创build了一些使用vloockup函数复制值的代码,但是它显示了两个限制:

  1. 源文件不允许有空格
  2. 没有办法复制单元格的格式。

你能否给我一些指导?

PS:为了保持程序的良好性能,我正在避免使用循环,因为使用表格,在编写代码时会更杂乱,但是会导致更less的计算时间。

这是我目前使用的解决scheme:

Sub ss_action(path As String) Dim formula As String Dim prevFile As String Dim temp As String path = Dir(path) prevFile = path + "!MyTable[[MyColumn1]:[MyColumnX]]" temp = "VLOOKUP([@MyColumn1]," & prevFile & ",3,0)" formula = "=IF(" & temp & "<> 0," & temp & ","""")" With Workbooks(taqrgetFile).Worksheets("TargetSheet") .Range("Table1[MyColumnX]").NumberFormat = "General" .Range("Table1[MyColumnX]").formula = formula .Range("Table1[MyColumnX]").Value = .Range("MyTable[MyColumnX]").Value .Activate End With MsgBox ("Import sucessfull") End Sub 

先谢谢你。