Board logo

標題: 不同活頁簿資料彙整 [打印本頁]

作者: mankind0703    時間: 2012-4-9 15:57     標題: 不同活頁簿資料彙整

本帖最後由 GBKEE 於 2012-4-9 17:10 編輯

請教各位高手~我想把壓縮檔裡的S1、S2及S3的三個檔案裡的部分儲存格~複製下來並貼到另外一個新的檔案(S-total),這樣的VBA語法範本該怎麼寫才好~求高手指點
作者: GBKEE    時間: 2012-4-9 17:07

本帖最後由 GBKEE 於 2012-4-9 17:11 編輯

回復 1# mankind0703
壓縮檔的活頁簿是開啟的程式碼
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, Wbo As Workbook
  4.     Set Rng = Workbooks("s-total.xlsx").Sheets("sheet1").[a1]   's-total.xlsx 沒資料
  5.     'Set Rng = Workbooks("s-total.xlsx").Sheets("sheet1").[a1].End(xlDown).Offset(1)   's-total.xlsx 資料連續往下複製
  6.     For Each Wbo In Workbooks
  7.         If Wbo.Name <> Rng.Parent.Parent.Name Then  'Rng是儲存格 :的父層(為工作表)的父層(為活頁簿)
  8.             Wbo.Sheets("Sheet1").Range("A:A").SpecialCells(xlCellTypeConstants).CurrentRegion.Copy Rng
  9.             '範圍: Wbo:各活頁簿.Sheets("工作表").Range("A欄" ).SpecialCells(xlCellTypeConstants)(有資料).CurrentRegion(目前區域是指以任意空白列及空白欄的組合為邊界的範圍)
  10.             '範圍.Copy(複製) (空一格)Rng(範圍)
  11.             Set Rng = Rng.End(xlDown).Offset(1)
  12.             'Rng 範圍.End(xlDown:"往下") 到最後有資料的儲存格
  13.             '範圍.Offset (位移列數,位移欄數)  '將範圍移動到指定區域的範圍
  14.         End If
  15.     Next
  16. End Sub
複製代碼

作者: mankind0703    時間: 2012-4-10 09:04

感謝GBKEE高手~那再請教您另外一個問題~ 壓縮檔裡的S1、S2及S3的三個檔案~我只想要複製我所需要的儲存格(由Title A到TitleB)貼到另外一個新的檔案(S-total),~但是儲存格x是我不需要複製的~這樣該怎麼寫比較好呢?
作者: GBKEE    時間: 2012-4-10 11:25

回復 3# mankind0703
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, Wbo As Workbook
  4.     Set Rng = Workbooks("s-total.xlsx").Sheets("sheet1").[a1]   's-total.xlsx 沒資料
  5.     'Set Rng = Workbooks("s-total.xlsx").Sheets("sheet1").[a1].End(xlDown).Offset(1)   's-total.xlsx 資料連續往下複製
  6.     For Each Wbo In Workbooks
  7.         If Wbo.Name <> Rng.Parent.Parent.Name Then  'Rng是儲存格 :的父層(為工作表)的父層(為活頁簿)
  8.             Wbo.Sheets("Sheet1").Range("A:A").SpecialCells(xlCellTypeConstants).CurrentRegion.Copy Rng
  9.             '範圍: Wbo:各活頁簿.Sheets("工作表").Range("A欄" ).SpecialCells(xlCellTypeConstants)(有資料).CurrentRegion(目前區域是指以任意空白列及空白欄的組合為邊界的範圍)
  10.             '範圍.Copy(複製) (空一格)Rng(範圍)
  11.             Set Rng = Rng.End(xlDown).Offset(1)
  12.             'Rng 範圍.End(xlDown:"往下") 到最後有資料的儲存格
  13.             '範圍.Offset (位移列數,位移欄數)  '將範圍移動到指定區域的範圍
  14.         End If
  15.     Next
  16.      With Workbooks("s-total.xlsx").Sheets("sheet1").Cells
  17.             .Replace "x", "=100/1", xlWhole                 '複製後將:  x 字串 替換為公式
  18.             .SpecialCells(xlCellTypeFormulas).Delete        '刪除有公式的儲存格
  19.         End With
  20. End Sub
複製代碼

作者: mankind0703    時間: 2012-4-12 09:49

感謝GBKEE高手~




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)