如果我在单元格“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”。