-2

если в ячейке "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 ответ1

1

Вот код для взятия "имени", введенного в А1, и распределения букв по ячейкам справа от "имени". Показанный код позволит вам перечислить группу имен в столбце 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".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .