0
这是整个代码,以防您想要查看它:https://pastebin.com/TbewRRCc。我的问题是,检查后,我的集合确实只包含我想要的列。所以,如果我有三列我想在那里,columnsToCopy.Count将= 3,当我只是复制columnToCopy(3)。复制结果将只是一列。但是当我通过循环来创建这三列的联合时,这些列之间的所有列也将在联合中。联盟正在抓住我的选择之间的所有范围
例如。假设我正在复制第1列,第13和第30列。粘贴表格将是从1到30的所有列。这不是我想要的。我只想要列1,13,和30 ...所以这三个列总共为这个特殊的Colelction。
关于什么可能会导致我的问题,以及如何解决它的任何想法?
For arrayLoop = LBound(iq_Array) To UBound(iq_Array)
' Take copy of potential ref and adjust to standard if required
checkStr = iq_Array(arrayLoop)
If hasIQs And Left(checkStr, 3) <> "iq_" Then checkStr = "iq_" & checkStr
' Look for existence of corresponding column in local copy array
pCol = 0
For iCol = 2 To colNumb
If checkStr = IQRef(iCol) Then
pCol = iCol
Exit For
End If
Next iCol
If pCol > 0 Then
' Paste the corresponding column into the forming table
columnsToCopy.Add ShRef.Columns(pCol).EntireColumn
End If
Next arrayLoop
If columnsToCopy.Count > 1 Then 'data was added
' Copy table
Dim unionVariable As Range
Set unionVariable = columnsToCopy(1)
For k = 1 To columnsToCopy.Count
Set unionVariable = xlApp.Union(unionVariable, columnsToCopy(k))
Next k
unionVariable.Copy
Next k
unionVariable.Copy
所以你说当你粘贴它只粘贴3列?第1,3,5列?我真的不明白为什么它不适合我......我能上传我正在使用的文件,这样你就可以看到我在说什么了吗? – Pinlop
[PPT幻灯片病毒扫描](https://www.virustotal.com/#/file/ff5125e3234eb4795dbd330be554dbc90197eafb60cea1cf036da9389a92165f/detection),[Excel文件病毒扫描](https://www.virustotal.com/#/file/24d41c015f53fe0621d91a0db8661701b6e858e98edc9e961f703e1da8706a58/检测),[PPT幻灯片文件](https://filetea.me/n3wZluzhVXFTpmjlUPmTxzKew),[Excel文件](https://filetea.me/n3wG3zbxnKoRuuYhonhFf7PHQ) – Pinlop