使用自动范围拆分单元格

时间:2019-03-14 16:17:35

标签: 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 个答案:

答案 0 :(得分:0)

首先,说到错误,这是由于lRow和lCol的值对于子名称拆分不可见。将lRow和lcol定义为全局变量,以便这些值可见并且可以被所有模块访问。

第二,最好在namesplit子栏中知道您要执行的操作的详细信息,这将至少帮助我进一步指导您。

谢谢..