Board logo

標題: 不同工作表 抓固定欄位資料 [打印本頁]

作者: hanse    時間: 2013-11-19 10:16     標題: 不同工作表 抓固定欄位資料

請教前輩 - 我有個檔案....有很多的工作表(名稱不一)
其中 有2個 欄位資料 ( B2 & E6 )
我要抓到一張新的彙總工作表 呈現如圖示

另外如果 - E7 也要一起抓過來
放在彙總表 D 欄

請教前輩 VBA 要如何設置 ? 感恩不盡 ! 謝謝[attach]16769[/attach][attach]16770[/attach]
作者: GBKEE    時間: 2013-11-19 12:20

本帖最後由 GBKEE 於 2013-11-19 12:23 編輯

回復 1# hanse
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Sh, Ar, i As Integer, X As Long
  4.      '***   一個檔案   ****....有很多的工作表(名稱不一)
  5.      Sh = Array("名稱A", "名稱B", "名稱C", "名稱D", "名稱E")
  6.      For i = 0 To UBound(Sh)
  7.         With Sheets(Sh(i))
  8.             Ar = Array(.Range("B2"), .Range("E6"), .Range("E7"))
  9.         End With
  10.         With Sheets("彙總表")
  11.             X = 2 + Application.CountA(.Range("D2:d" & .Rows.Count)) '工作表函數 CountA
  12.             .Range("D" & X).Resize(, 3) = Ar
  13.         End With
  14.      Next
  15. End Sub
複製代碼

作者: hanse    時間: 2013-11-19 16:43

工作表的名稱可以不要指定嗎 ?
就是這個檔案中    所有的工作表-相對應的欄位 都抓到"彙總表中 ?
作者: GBKEE    時間: 2013-11-19 17:19

回復 3# hanse
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Sh As Worksheet, X As Long
  4.      For Each Sh In ThisWorkbook.Sheets
  5.         If Sh.Name <> "彙總表" Then
  6.             With Sheets("彙總表")
  7.                 X = 2 + Application.CountA(.Range("D2:d" & .Rows.Count)) '工作表函數 CountA
  8.                 .Range("D" & X).Resize(, 3) = Array(Sh.Range("B2"), Sh.Range("E6"), Sh.Range("E7"))
  9.             End With
  10.         End If
  11.      Next
  12. End Sub
複製代碼

作者: hanse    時間: 2013-11-19 17:28

神 !!  感恩 !




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