использование автоматического диапазона для разделения ячеек

#split #range #cell

#разделение #диапазон #ячейка

Вопрос:

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

Это мой код:

     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:

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

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

Спасибо..

Комментарии:

1. «Это рабочая тетрадь. Рабочие листы («лист1»). Ячейки (lCol, lRow). Значение «Не могли бы вы, пожалуйста, еще раз проверить свой второй код — Test sub? Это должно быть что-то вроде этого .ячейки (iRow, ICol).значение ? Вы передаете значение столбца вместо строк и наоборот. Пожалуйста, исправьте это и дайте нам знать, если вы все еще получаете какую-то ошибку.