используя автоматический диапазон для разделения клеток - PullRequest
0 голосов
/ 14 марта 2019

, поэтому я пытался выяснить это некоторое время и нашел несколько тем на один и тот же вопрос.Я не могу заставить его работать, хотя.

Это мой код:

    Sub FindLast()
    Dim lCol As Long
    Dim lRox As Long
    Dim Copyrange As String


    lCol = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count
    lRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
End Sub


Sub NameSplit()

Dim txt As String
Dim i As Integer
Dim FullName As Variant
Dim x As String, cell As Range
Dim charray(181, 3) As Integer

For Each cell In ActiveSheet.Range(Cells(1, 1).Address(), Cells(lRow, lCol).Address()).Select
     txt = cell.Value
     FullName = Split(txt, "-")

     For i = 0 To UBound(FullName)
         cell.Offset(0, i + 1).Value = FullName(i)
         charray(j, i) = FullName(i)
     Next i

Next cell
End Sub

В первом подпрограмме я ищу последнюю ячейку, которая содержит информацию, и я получаю правильный вывод дляlCol и lRow.

Во второй подпрограмме я пытаюсь использовать эти два значения для разделения диапазона ячеек.Я пробовал разные синтаксисы для диапазона, но я получаю сообщение об ошибке:

"ошибка приложения или объекта"

Я не могу отладить, но я на 90% уверен, что проблема вследующая строка:

 For Each cell In ActiveSheet.Range(Cells(1, 1).Address(), Cells(lRow, lCol).Address()).Select

Любая помощь будет высоко ценится.

Спасибо!

1 Ответ

0 голосов
/ 15 марта 2019

Во-первых, если говорить об ошибке, то это связано с тем, что значения lRow и lCol не видны для под-имен разделения. Определите lRow и lcol как глобальную переменную, чтобы значения были видны и были доступны всем модулям.

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

Спасибо ..

...