使用自动范围来分割单元格

问题描述 投票:0回答:1

所以我一直试图解决这个问题,我已经在同一个问题上找到了几个主题。我不能让它工作。

这是我的代码:

    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

在第一个子I中,我查找包含信息的最后一个单元格,并为lCol和lRow获得正确的输出。

在第二个子句中,我试图使用这两个值来分割一系列单元格。我为范围尝试了不同的语法,但我不断收到错误:

“应用程序定义或对象定义错误”

我无法调试,但我90%确定问题出在以下行:

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

任何帮助将非常感激。

谢谢!

split range cell
1个回答
0
投票

首先,说到错误,这是因为sub namesplit看不到lRow和lCol的值。将lRow和lcol定义为全局变量,以便值可见并且可以被所有模块访问。

其次,最好知道你在namesplit sub中尝试执行的操作的细节,这将至少帮助我进一步指导你。

谢谢..

© www.soinside.com 2019 - 2024. All rights reserved.