远程读文件(工作表)

''''''''''''''''''''''''''
    '需查询数据薄数量
    loopnum = InputBox("请输入读取报表文件数(例:需读""9月报表.xls"",""10月报表.xls"",故填2)", "InputboxForLoop")
    '需要客户数据所在行与列
    RowNum = InputBox("请输入指定工作数据所在行(例如:23)", "InputboxForRow")
    vRowA = InputBox("请输入指定工作数据所在列起始(例如:A)", "InputboxForRow")
    vRowB = InputBox("请输入指定工作数据所在列起始(例如:G)", "InputboxForRow")
    '需要查询报表文件名
    Dim pathXie(12) As String
    For iLoop = 1 To loopnum
        StrSheetName = "请输入指定文件薄名字(例如:9月报表.xls)第" & iLoop & "个:"
        pathXie(iLoop) = InputBox(StrSheetName, "InputboxForPath")
    Next iLoop
    '''''''''''''''''''''''''''''
    For MainLoop = 1 To loopnum
        '设置要打开文件路径
        Workbooks.Open Filename:=ThisWorkbook.Path + "\" & pathXie(MainLoop)
       
        '激活要打开工作簿
        Workbooks(pathXie(MainLoop)).Activate
       
        '隐藏打开的窗体(选用)
        'ActiveWindow.Visible = False
       
        '计算对象报表含有工作表数
        num = Sheets.Count
       
        '开始循环复制
        For i = 1 To num
            Workbooks(pathXie(MainLoop)).Activate
            TempName = Worksheets(i).Name
            Worksheets(TempName).Activate
            '通用扩展用
            aa = vRowA & RowNum
            bb = vRowB & RowNum
            cc = aa & ":" & bb
            '
            Range(cc).Select
            Selection.Copy
            '强制只允许复制数值
            Selection.PasteSpecial Paste:=xlPasteValues
           
            Workbooks("book1.xls").Activate
            Sheets("Sheet1").Activate
            Range("B" & (MainLoop * 33 - 31 + i)).Select
            ActiveSheet.Paste
            Range("A" & (MainLoop * 33 - 31 + i)) = TempName
        Next i
    Next MainLoop
posted @ 2008-01-15 23:48  Edward Xie  阅读(167)  评论(0)    收藏  举报