VBA将单元格值复制到另一个单元格文本字符串中

时间:2015-07-20 15:45:38

标签: excel vba excel-vba

我在Excel中管理广告资源。 我有两列可供使用:

  1. 产品名称
  2. 包装信息
  3. 表格如下所示

    product name             packaging info
    BLISE FACEWASH           50GM
    IVREA CREAM              60GM
    IVREA CREAM              30GM
    IVREA SHAMPOO            30ML
    

    我想将包装信息中的值添加到产品名称中, 但我想在产品名称的最后一个单词之前添加它。

    期望的结果:

    product name                 packaging info
    BLISE 50GM FACEWASH          50GM
    IVREA 60GM CREAM             60GM
    IVREA 30GM CREAM             30GM
    IVREA 30ML SHAMPOO           30ML
    

    我尝试连接,但它没有帮助,使它变得更复杂。

    我一直在尝试使用宏,因为它似乎可行。

    1. 第2栏中的复制值
    2. 移至左侧单元格
    3. 从右侧跳过1个字( Ctrl + Left arrow)
    4. 粘贴值
    5. 添加空格
    6. 转到下一行
    7. 产品名称中的所有单元格都以相同的值结束。我哪里错了?

      如果没有使用宏,最简单的方法是什么?

      顺便说一句:工作表包含10列,4500多行。

1 个答案:

答案 0 :(得分:0)

VBA;假设标题在A1 / B1中:

Sub MergeCols
    Dim cell As Range, pos As Long

    Set cell = Range("A2")

    Do Until cell.Value = ""
        pos = InStrRev(cell.Value, " ")
        If (pos > 0) Then
            cell.Value = Left$(cell.Value, pos) & cell.Offset(0, 1).Value & Mid$(cell.Value, pos)
        Else
            cell.Value = cell.Value & " " & cell.Offset(0, 1).Value
        End If
        Set cell = cell.Offset(1, 0)
    Loop
End Sub