循环的宏问题

循环的宏问题

如果我在单元格“A1”中有任何值,例如“我的名字”,我必须将该值分成多个单元格,以显示在单元格“A2”(M)、单元格“A3”(y)等中。之后,我必须查找从单元格“A2”到最后一个单元格的每个单元格值,该单元格在另一个范围内具有最后一个字符,以获取符合该字符的值。

循环一直进行到将单元格“A1”的值分离到多个单元格,但仅对单元格“A2”进行查找,而不会对下一个单元格进行循环。

Sub Macro1() LENGHTH = Len(Range("A1")) CELL_START = ("2") WORD_LEN = 1

  Do While LENGHTH <> 0
    Range("A" & CELL_START).VALUE = mid(Range("A1"), WORD_LEN, 1)
    CELL_START = CELL_START + 1
    LENGHTH = LENGHTH - 1
    WORD_LEN = WORD_LEN + 1
  Loop

  If ActiveWorkbook.Sheets("SHEET1").Range("A2") <> "" Then
     ***Do While ("a2" & " LENGHTH") = ""
       Range("B2").VALUE = WorksheetFunction.VLookup(Range("A2"), Sheet1.Range("G3:H15"), 2, False)
     Loop***

  Else
  End If

End Sub

答案1

以下是获取在 A1 中输入的“名称”并将字母分散到“名称”右侧单元格的代码。显示的代码将允许您在 A 列中列出一堆名称,并且宏将分散列出的所有名称的字母。

Dim LENGHTH As Integer
Dim zWord As String

Sub Macro1()
    Range("A1").Select
    zWord = Range("A1").Value
    Do While zWord <> ""
        LENGHTH = Len(zWord)
        For i = 1 To LENGHTH
            ActiveCell.Offset(0, 1).Select
            ActiveCell.Value = Mid(zWord, i, 1)
        Next i
        ActiveCell.Offset(1, -LENGHTH).Select
        zWord = ActiveCell.Value
    Loop
End Sub

我不确定您想要在宏的第二部分中完成什么,但您可能想使用“hlookup”而不是“vloopup”。

相关内容