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

Arrays 根据数据从一列读取并写入另一列,arrays,excel,vba,loops,Arrays,Excel,Vba,Loops,如何读取A列中的一列数据,并根据单元格中的数据(字符串)写入同一行中的B列 例如:读取单元格A1(例如键盘)中的值,并根据Dell、Targus、Sony等的值读取单元格B1中的值。使用A列和B列在一个数组中。使用从.endxlUp到单元格A1和B1的单元格 优化速度并不是那么重要。也许这有助于您开始。想象一下我有: A B 1 Keyboards //result = "Dell" 2 Monitors //result = "S

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

例如:读取单元格A1(例如键盘)中的值,并根据Dell、Targus、Sony等的值读取单元格B1中的值。使用A列和B列在一个数组中。使用从.endxlUp到单元格A1和B1的单元格


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

也许这有助于您开始。想象一下我有:

    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 

我试过很多类似问题的其他建议。谢谢。成功了。我只需要将偏移量调整到正确的列,就像我的工作表中的J或其他东西一样。