从一列读取并根据数据写入另一列

时间:2014-06-14 06:38:08

标签: arrays excel vba loops

如何读取一列中的数据(A列)并根据单元格中的数据(字符串)写入同一行中的B列?

例如:将单元格A1中的值(例如“键盘”)和基于值“Dell,Targus,Sony等”的值读入单元格B1。全部使用列A和B的数组。使用.end(xlUp)中的单元格到单元格A1和B1。

速度优化并不是那么重要。

1 个答案:

答案 0 :(得分:0)

也许这有助于您入门。想象一下,我有:

    A              B
1   Keyboards      //result = "Dell"
2   Monitors       //result = "Sony"
3   Speakers       //results = "Targus"

以下代码检测A列中的单元格数,然后循环遍历它们以将信息添加到B列中。

Sub FillColumnB()
    Dim rng As Range, cl As Range

    Set rng = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)

    For Each cl In rng
        If cl = "Keyboards" Then
            cl.Offset(0, 1) = "Dell"
        ElseIf cl = "Monitors" Then
            cl.Offset(0, 1) = "Sony"
        ElseIf cl = "Speakers" Then
            cl.Offset(0, 1) = "Targus"
        End If
    Next
End Sub