Excel - 如果单元格值与列标题匹配,则将数据复制到列

时间:2017-06-05 09:33:52

标签: excel vba excel-vba

我在列A中有字符串数据,我在列B中有数字值。我还有列O到Z,它们当前是空白的 - 这些列有标题1,2,3等(即单元格引用O2 = 1, P2 = 2,Q2 = 3等。)

单元格C1中有一个数字值。

如果C1 =匹配任何列标题(O-Z),则将数据从B列复制到相应的列。

示例:如果C1 = 4且单元格R2为4,则列B中的数据将填充在R列中。

如何使用VBA实现这一目标?提前谢谢。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情......

Sub CopyDataDynamically()
Dim lr As Long, num As Long
Dim rng As Range
lr = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("O2")
num = Range("C1").Value
If num > 0 And num <= 12 Then
    Range("B2:B" & lr).Copy
    rng.Offset(0, num - 1).PasteSpecial xlPasteValues
End If
End Sub

如果你想借助公式实现这一点,试试这个......

在O2

=IF($B2="","",IF(O$1=$C$1,$B2,""))

然后在B列中有数据的情况下将其复制。