【发布时间】:2018-12-11 21:56:02
【问题描述】:
我已经搜索了所有内容,但似乎无法让这件作品正常工作。
我有 2 个工作表。
表 1 包含测验问题编号,然后是每个相应 q# 的分数。
表 2 包含每个 q# 作为列标题,我希望 VBA 代码从对应于右标题的 q# 中获取分数。
例如:
表 1
Question# Score
1 100
2 90
3 75
4 95
表 2
Q1 Q2 Q3 Q4
100 90 75 95
表 2 中的列标题可以更改为简单地说“1”、“2”等,这样可以更容易地进行精确匹配。
我找到并使用了这段代码,但是如果它找到一个不起作用的匹配项,它会复制整个列:
Sub CopyDataDynamically()
Dim lr As Long, num As Long
Dim rng As Range
lr = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("a2")
num = Range("b2").Value
If num = 1 Then
Range("B2:B" & lr).Copy
rng.Offset(0, num - 1).PasteSpecial xlPasteValues
End If
End Sub
提前致谢!
【问题讨论】:
-
更改标题并使用 VLOOKUP()
-
如果是一次性复制表格,
paste special -> transpose可能会完成这项工作