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

时间:2017-05-17 10:24:01

标签: excel vba excel-vba

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

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

  1. 源文件不允许有空格
  2. 无法复制单元格的格式。
  3. 你能否就此事给我一些指导。

    P.S:我为了保持程序的良好性能而避免使用循环,因为使用表格,编写代码时会更麻烦,但会导致计算时间缩短。

    以下是我目前使用的解决方案:

    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
    

    提前谢谢。

0 个答案:

没有答案