如何将选定的数据复制到特定的单元格(MATCH)

时间:2014-04-22 07:04:13

标签: excel vba excel-vba

我遇到了一个问题:我在工作表的第3栏中有信息(我称之为sheetin),需要将其粘贴到另一本书的另一张纸上。

复制目的地基于ROW,该ROW匹配sheetin的A列中的值和与sheetin的B列中的值匹配的COLUMN,向右偏移1。

我认为我的问题在于复制目标行。我之前已经将wbin,wbout,sheetin,sheetout保存为字符串。我目前的代码如下:

iMaxRow = 1200
Dim subj1 As String
Dim subj2 As String
For iRow = 1 To iMaxRow

With Worksheets(sheetin).Cells(iRow, 3)
On Error Resume Next
subj1 = Range("B" & iRow).Text
subj2 = Range("A" & iRow).Text
.Copy Destination:=Workbooks(wbout).Worksheets(sheetout).Range(WorksheetFunction.Match _
(subj1, Rows("2:2"), 0) + 1 & WorksheetFunction.Match(subj2, Columns(, "B:B" & "*"), 0))

End With

Next iRow

任何人都能提供的帮助将非常感激。谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解,但是,如果我这样做,我只会使用Excel函数的索引匹配组合,而不是VBA。

例如:

  

= INDEX(B2:B9,MATCH(A2,F2:F9,0))

B2:B9是从中获取价值的数组, A2是查找值, 和F2:F9是查找数组。

这有什么原因吗?