Код VBA для поиска строки в столбце, а затем разделение строки в месте смещения на пробел - PullRequest
0 голосов
/ 04 августа 2020

Итак, я хочу найти все экземпляры строки, а затем сдвинуть их вниз на две строки. Каким бы ни было смещение в 2 строки, я хочу разделить пробел на разные столбцы. То, что у меня сейчас есть, дает мне бесконечный l oop

Sub search()

Dim c As Range
Dim g As Range

With Worksheets(1).Range("A:A")
Set c = .Find("PART", LookIn:=xlValues)
Set g = c.Offset(2, 0)

If Not c Is Nothing Then
    Do
        g.Value = Split(g, " ")
        Set g = c
        Set c = .FindNext(c)
        
    Loop While Not c Is Nothing
End If
End With

End Sub

1 Ответ

0 голосов
/ 04 августа 2020

Попробуйте следующий код, пожалуйста:

Sub search()
 Dim c As Range, firstOne As String, arr As Variant

 With Worksheets(1).Range("A:A")
    Set c = .Find("PART", LookIn:=xlValues)
    
    If Not c Is Nothing Then
        firstOne = c.Address
        Do
            firstOne = c.Address
            arr = Split(c.Offset(2, 0).Value, " ")
            If UBound(arr) <> -1 Then
                c.Offset(2, 1).Resize(, UBound(arr) + 1).Value = arr
            Else
                c.Offset(2, 1).Value = "Empty cell"
                c.Offset(2, 0).Interior.Color = vbGreen
            End If
            Set c = .FindNext(c)
            
        Loop While Not c Is Nothing And c.Address <> firstOne
    End If
 End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...