新足迹

 找回密码
 注册

精华好帖回顾

· [原创整理,谢绝转载] 澳洲典型的野生动物部分汇总——鱼类篇整理中 (2008-10-25) Tiger_Karen · 聊聊关于日本厨房用刀的类型,选购,保养。15.7.22更新磨刀视频 (2012-12-18) 无知的80后
· 微距拍花 (2009-9-5) sinkai · 呆呆买房记---我们在"远东"的家(填坑完毕) (2007-11-17) daidailx
Advertisement
Advertisement
查看: 1416|回复: 2

Excel VBA问题求助 [复制链接]

发表于 2012-2-9 10:20 |显示全部楼层
此文章由 Melway 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Melway 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Sheet1里有一列有不同的手机号,想自动把不同的手机号摘出来,copy到不同的sheet里,sheet的标题就是手机号,title就是第一行title(每个sheet都一样),但是运行之后可以生成以各个手机号命名的sheet,但是不copy内容,最后出error 9, Subscript out of range.

请教大大们这时什么问题。

Sub Macro1()
'
' Macro1 Macro
'

'
    Dim AccountNumber
    RawData = Application.InputBox("Please enter the name of the sheet with raw data", "Mobile Bill Analiser")
    AccountNumberColumn = Application.InputBox("Please enter the Column containing Account Number", "Mobile Bill Analiser")
   
    Sheets(RawData).Select
    Range(AccountNumberColumn & "2").Select
   
    AccountNumber = 1
    Transfername = ActiveCell.Value
    Rows("1:1").Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Name = Transfername
    Range("A1").Select
    ActiveSheet.Paste
    Sheets(RawData).Select
    ActiveCell.Offset(1, 0).Select
   
    Do Until ActiveCell.Value = ""
        If ActiveCell.Value = ActiveCell.Offset(-1, 0).Value Then
                ActiveCell.Offset(1, 0).Select
        Else
           Rows("1:1").Copy
           Transfername = ActiveCell.Value
           Sheets.Add After:=Sheets(Sheets.Count)
           ActiveSheet.Name = Transfername
           Range("A1").Select
           ActiveSheet.Paste
           Sheets(RawData).Select
           ActiveCell.Offset(1, 0).Select
        End If
    Loop
   

    Sheets(RawData).Select
    Range(AccountNumberColumn & "2").Select
    Do Until ActiveCell.Value = ""
            SheetName = ActiveCell.Value
            Rows("2:2").Cut
            Sheets(SheetName).Select
            Range("A2").Select
            Selection.Insert Shift:=xlDown
    Loop
Advertisement
Advertisement

退役斑竹

发表于 2012-2-9 10:57 |显示全部楼层
此文章由 大饼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大饼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Debug your code step by step,就能找到那一行出了问题。
我做copy,不select row或cell。都是直接copy的。我也不知道是否专业。
wbTempleteRecord.Sheets(1).Rows(2).Copy wbOutput.Sheets(3).Rows(LastRowOutput)
专攻电子电路

发表于 2012-2-9 11:13 |显示全部楼层
此文章由 bats 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bats 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Sheets(SheetName).Select
            Range("A2").Select
to
            Sheets(SheetName).Select
            Rows("2:2").Select

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部