VBA – текст в столбцы в определенной строке

Опять столкнулся с проблемой (надеюсь, больше вопросов не задаю). Мне нужно разделить данные из столбца F (строки будут добавляться каждый день) на столбцы G,H,I. Данные в столбце F имеют формат «XXX YY ZZZ_ZZZZrandomdatahere». Мне нужно разделить XXX на столбец G, XX на столбец H, ZZZ_ZZZZ на столбец I и позволить программе игнорировать остальное (все, что после ZZZ_ZZZZ) или, если это невозможно игнорировать, позволить ей бросить его в столбец J.

У меня есть команда, которая работает для этого (я изменил формат на «XXX-YY-ZZZ_ZZZZrandomdatahere», где я использую «-», чтобы определить, по чему команда должна его разделить. Проблема в том, что мне нужно убедиться, что разделение выполняется в той конкретной строке, которая отмечена. Теперь, если я отмечу определенные строки, они будут перезаписаны из строки G4 (первая строка, с которой мне нужно начать), мне нужно переместить целевое местоположение в эту конкретную отмеченную строку (строки). . Я пытался найти решение, но совершенно потерялся в VBA.

Private Sub Generate_Click()
  Dim destRng As Range
    
    If Selection.Columns.Count = 1 Then
    
    Set destRng = Range("G4")
    
    Selection.TextToColumns , Destination:=destRng, _
    DataType:=xlDelimited, Other:=True, OtherChar: = "-", Other:=False, OtherChar: = "_"
    
    Else
    MsgBox "Blah blah blah"
    End If
    
End Sub

РЕДАКТИРОВАТЬ :

Под конкретной строкой я подразумеваю, что после маркировки строк, например F15:F25, столбцы G,H,I также будут заполнены в строках G15:G25, H15:H25 и т. д. Если кто-то в строке F14 забыл отметить строку и разделить ее столбец F, чтобы строка F15 не вводилась в ячейки G14, H14 и I14. Я также отправляю фотографию того, что я имею в виду.

Пожалуйста, объясните, что означает «конкретная отмеченная строка (строки)». Если сложно, попробуйте отредактировать свой вопрос и покажите изображение диапазона, который вы пытаетесь обработать... Думаю, объяснение того, что вы считаете маркером, также поможет.

FaneDuru 04.04.2024 08:50

@FaneDuru Прошу прощения, я изменю свой вопрос и добавлю изображение, чтобы объяснить, что я имею в виду. Спасибо за комментарий.

Starec 04.04.2024 09:03
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
2
72
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Этот мод. используйте строки выбора, чтобы определить пункт назначения.

Private Sub Generate_Click()
  Dim destRng As Range
    
    If Selection.Columns.Count = 1 Then
    
    'Set destRng = Range("G4")  instead this
    
    Selection.TextToColumns , Destination:=Range("G" & Selection.Row), _   'mod
    DataType:=xlDelimited, Other:=True, OtherChar: = "-", Other:=False, OtherChar: = "_"
    
    Else
    MsgBox "Blah blah blah"
    End If
    
End Sub

Это именно та модификация, которая мне была нужна, большое спасибо.

Starec 04.04.2024 09:33

Другие вопросы по теме

Похожие вопросы