返回列表 上一主題 發帖

[發問] 請問有人能幫忙解答嗎?函數公式該如何寫呢?

[發問] 請問有人能幫忙解答嗎?函數公式該如何寫呢?

請問有人能幫忙解答嗎?函數公式如何寫呢?
(不要用複製貼上) 因為有上千筆資料近百各sheet

因為我現在只能用複製貼上,可是要花很多時間找與貼

能讓book2 裡的sheet1自動抓到book1 AA項目及其後面某欄位資料
               sheet2自動抓到book1 BB項目及其後面某欄位資料
                sheet3...........book1 CC.....................

我只要打開檔案book2 就會自動抓取檔案book1資料自動分類AA BB CC到不同sheet

因為檔案book1裡的sheet1 AA BB CC  數目每個月會有所變動
(book1是我的來源案檔)
(book2是我想要的結果)

檔案book1 sheet1
      A          B          C         D
1    AA        10        11        111
2    AA        20        22        222
3    AA        30        33        333
4    AA        40        44        444
5    BB        50        55        555
6    BB        60        66        666
7    CC        70        77        777
8    CC        80        88        888
9    CC        90        99        999
10   CC       100       11        111
11   CC       110       22        222
12   CC       120       33        333
13   CC       130       44        444
14   CC       140       55        555
15   CC       150       66        666


檔案book2    sheet2
      A          B          D
1    BB        50        555
2    BB        60        666

檔案book2    sheet1
       A         C         D
1    AA        11        111
2    AA        22        222
3    AA        33        333
4    AA        44        444

回復 19# GBKEE


    再次謝謝版主大大的解答~

   sorry~剛剛是我一點小小的疏忽

   您修改的EX1已經執行OK~
  
   非常完美,比我想要的還要好,還要周到
  
  真不愧是版主大大~

   謝謝您,先祝您新年快樂^^

TOP

回復 19# GBKEE


    謝謝版主大大的熱心回覆~
    不過,不好意思~
    我的是2002老版本
   還是無法執行
   執行後如下

TOP

回復 18# c_c_lai


    謝謝您的熱心解答~
    不好意思我的是2002老版本
   還是無法執行
   執行後如下
   

TOP

回復 18# c_c_lai
便 OK 了! (  Rows.Count  ---->  .Rows.Count )
使用2003(老版本)忘記了,2007版(含)以上 Rows.Count , 必需如此 . .Rows.Count

TOP

回復 16# alltest
回復 15# GBKEE
  1. xi = .Cells(Rows.Count, 2).End(xlUp).Row
複製代碼
修改成:
  1. xi = .Cells(.Rows.Count, 2).End(xlUp).Row
複製代碼
便 OK 了!
(  Rows.Count  ---->  .Rows.Count )

TOP

回復 15# GBKEE


    不好意思,不小心把版主大大的關心取消了( 按錯了,sorry ..... ^^~ )
    還請版主大大多多觀照一下~感激~感恩!

TOP

回復 15# GBKEE


    報告 版主大大: EX 已經測試OK~非常感激^^ (版主真是太強了~)
                        另外,EX1 我還是是不出來說,也經按照版主大大的指示修改
                 還是是不出來耶~

煩請版主大大,再熱心幫忙看看我那兒做做錯了呢?~謝謝您

附上修改後的檔案如下:

book測試中.rar (26.05 KB)

TOP

本帖最後由 GBKEE 於 2012-12-28 07:59 編輯

回復 14# alltest
EX   放在 book1 會出現錯誤訊息        book2 會出現錯誤訊息
如圖 :  book2 工作表名稱錯誤





      
EX1  放在 book1 可以執行,但出現的結果怪怪的說~

如圖 book1 請新增一工作表 命名為 : "表頭"





修改 Sub Ex1() 如下
  1. Sub Ex1() '新增活頁簿
  2. Dim E As Variant, r As Integer, xi As Integer, xC As Integer
  3. Dim Rng(1 To 2), Wb As Workbook
  4. Set Wb = Workbooks.Add(1) '新增活頁簿
  5. With Workbooks("book1.xls").Sheets("異常明細")
  6. .AutoFilterMode = False
  7. xC = .Cells(1, .Columns.Count).End(xlToLeft).Column
  8. For Each E In Array("黃色", "紅色", "青色")
  9. .Range("A2", .UsedRange.SpecialCells(xlCellTypeLastCell).Address).AutoFilter Field:=2, Criteria1:=E
  10. xi = .Cells(Rows.Count, 2).End(xlUp).Row
  11. For r = 5 To xC Step 3
  12. Set Rng(1) = .Range("b3:d" & xi)
  13. Set Rng(2) = .Range(.Cells(3, r).Resize(, IIf(r < xC - 1, 3, 2)).Address & ":" & .Cells(xi, r + IIf(r < xC - 1, 2, 1)).Address)
  14. Set Rng(1) = Union(Rng(1), Rng(2))
  15. Wb.Sheets.Add(, Sheets(Sheets.Count)).Name = E & "-" & .Cells(1, r) '新增工作表:命名
  16. With ActiveSheet
  17. If r < xC - 1 Then
  18. Workbooks("book1.xls").Sheets("表頭").[A1].CurrentRegion.Copy .[A1]
  19. 'book1 請新增一工作表 命名為 : "表頭"
  20. Else
  21. Workbooks("book1.xls").Sheets("表頭").[A4].CurrentRegion.Copy .[A1]
  22. End If
  23. Rng(1).Copy ActiveSheet.[A3]
  24. End With
  25. Next
  26. Next
  27. .AutoFilterMode = False
  28. End With
  29. Wb.Sheets(1).Move After:=Wb.Sheets(Wb.Sheets.Count)
  30. Wb.Sheets(1).Activate
  31. End Sub
複製代碼

TOP

回復 13# GBKEE


    報告:版主大大~

        EX1  放在 book1 執行後 只出現前四項欄位

        附上book1 & book2 壓縮檔,供版主大大參考

        再次謝謝版主 GBKEE大大的熱心幫忙~感恩^^
      
            book.rar (21.58 KB)

TOP

        靜思自在 : 人的眼睛長在前面,只看到別人的缺點,絲毫看不到自己的缺點。
返回列表 上一主題