#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).значение ? Вы передаете значение столбца вместо строк и наоборот. Пожалуйста, исправьте это и дайте нам знать, если вы все еще получаете какую-то ошибку.