Foxtable(狐表)用户栏目专家坐堂 → Excel报表合并后横着排列


  共有6042人关注过本帖树形打印复制链接

主题:Excel报表合并后横着排列

帅哥哟,离线,有人找我吗?
迷狐
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2060 威望:0 精华:1 注册:2012/5/24 16:00:00
  发帖心情 Post By:2013/4/26 10:38:00 [显示全部帖子]

是按产品纵向分栏吗?

可以试试按产品分别做EXCEL报表,然后通过vba 拷贝合并成一个文档

Ws.Rows("1:" & 5).Copy(Ws.Range("a" & 10))

 

供参考:

Sub HBSJ()  '合并指定目录中所有文件中相同格式工作表的数据
     Dim myPath$, myFile$, AK As Workbook, aRow%, tRow%, i As Integer
   Application.ScreenUpdating = False        '冻结屏幕,以防屏幕抖动
   myPath = ThisWorkbook.Path & "\分表\"          '把文件路径定义给变量
  
   myFile = Dir(myPath & "*.xls")            '依次找寻指定路径中的*.xls文件
   Do While myFile <> ""                     '当指定路径中有文件时进行循环
      If myFile <> ThisWorkbook.Name Then
         Set AK = Workbooks.Open(myPath & myFile)          '打开符合要求的文件
     
 
      For i = 1 To AK.Sheets.Count            '打开工作表
         aRow = AK.Sheets(i).Range("a65536").End(xlUp).row '打开的工作表A列总行数
         tRow = ThisWorkbook.Sheets("Sheet1").Range("b65536").End(xlUp).row + 1 '存货档案Sheet1数据行数
     
       If aRow > 1 Then
            'AK.Sheets(i).Select
        AK.Sheets(i).Range("a2:a" & aRow).Copy ThisWorkbook.Sheets("Sheet1").Range("b" & tRow)  '取得第3行a:f列以后的数据
        
        AK.Sheets(i).Range("b2:b" & aRow).Copy ThisWorkbook.Sheets("Sheet1").Range("g" & tRow)
      
        AK.Sheets(i).Range("c2:c" & aRow).Copy ThisWorkbook.Sheets("Sheet1").Range("i" & tRow)
      
         AK.Sheets(i).Range("d2:d" & aRow).Copy ThisWorkbook.Sheets("自定义").Range("h" & tRow)
        
         AK.Sheets(i).Range("e2:e" & aRow).Copy ThisWorkbook.Sheets("自定义").Range("i" & tRow)
        
         AK.Sheets(i).Range("f2:f" & aRow).Copy ThisWorkbook.Sheets("自定义").Range("l" & tRow)
       End If
        
      Next
        
        Workbooks(myFile).Close False               '关闭源工作簿,并不作修改
     
     
      End If
            
      MsgBox "正在导入" & myFile & "中数据", 64, "提示"
     
      myFile = Dir                                   '找寻下一个*.xls文件
   Loop
     
   Application.ScreenUpdating = True                 '冻结屏幕,此类语句一般成对使用
   MsgBox "数据导入完成,请查看!", 64, "提示"

End Sub

[此贴子已经被作者于2013-4-26 11:43:49编辑过]

 回到顶部