Отдельные строки в Excel VBA
Ниже мы рассмотрим программу в Excel VBA, отделяющую строку.
Ситуация:
Поместите командную кнопку на листе и добавьте строки следующего кода:
-
Во-первых, мы объявляем переменную FullName типа String, переменная с именем commaposition типа Integer и переменную I типа Integer.
Dim fullname As String, commaposition As Integer, i As Integer
Проблема, которую мы имеем дело с в том, что мы должны сказать Excel VBA, где мы хотим разделить строку. В случае Смита, Майк запятая находится в положении 6, а в случае Уильямса, Джанет запятая находится в положении 9.
-
Мы используем цикл для выполнения операций по каждому имени, введенного в Excel. Во-первых, мы инициализируем переменную FULLNAME. Далее, мы используем функцию Instr, чтобы найти положение запятой.
For i = 2 To 7 fullname = Cells(i, 1).Value commaposition = InStr(fullname, ",")
-
И, наконец, мы хотим, чтобы написать часть после запятой в колонке B и часть перед запятой в столбце C. Вы можете достичь этого путем добавления строки:
Cells(i, 2).Value = Mid(fullname, commaposition + 2) Cells(i, 3).Value = Left(fullname, commaposition - 1)
Mid (FullName, commaposition + 2) означает, что мы хотим, чтобы часть FULLNAME начиная с символа «commaposition + 2» (это точно первое имя).
Left (FullName, commaposition — 1) означает, что мы хотим, чтобы часть FULLNAME не начиная с начала и до символа «commaposition- 1» (это именно фамилия).
-
Не забудьте закрыть петлю.
Next i
-
Добавьте шесть имен, разделенных запятой и пробелом в Range ( «A2: A7»).
-
Проверьте программу.
Результат: