返回列表 上一主題 發帖

[發問] Excel如何以關鍵字選取整列資料並複製到新工作表?

[發問] Excel如何以關鍵字選取整列資料並複製到新工作表?

各位前輩好,不好意思,我用Excel製作了一個記帳表活頁簿,如同以下這個連結所示(連結為Google雲端硬碟來源,請安心連結)


我以一個月為單位設立一個工作表,每個工作表內又細分日期、大項、小項、細節、(支出方式)、(收入方式)等等,若無法連結圖片,簡單以下示意圖:

表1
  A  B  C  D
1 日期 大項 小項 細節
2 5/01 伙食 早餐 飯糰
3 5/01 伙食 午餐 乾麵
4 5/02 印刷 名片 京畝名片
5 5/03 伙食 早餐 飯糰

表2
  A  B  C  D
1 日期 大項 小項 細節
2 6/01 伙食 早餐 飯糰
3 6/02 伙食 午餐 乾麵
4 6/04 印刷 大圖 京畝大圖
5 6/05 伙食 早餐 飯糰

我希望能在同一個活頁簿裡新開一個工作表(如圖中藍框),
當我輸入某一個關鍵字,例如「京畝」(如圖中紅框),
Excel可以自動幫我選取所有月份的工作表內的一整列資料,
包含日期、大項、小項、細節....(如圖中綠框),
複製到新工作表內,以幫助我快速統計這幾個月來所有和「京畝」有關的帳目。

想學起來之後可以應用在,例如說,我之後想統計這幾個月的早餐菜色和支出,可以不用一個一個去搜尋~
感謝各位前輩賜教~

Excel.jpg (246 KB)

Excel.jpg

回復 15# GBKEE


請教一下如果要將拉出來的資料做修改並回存原儲存格要怎麼做呢?

TOP

回復 3# sunnyso


    可以SHARE嘛, 本人也有相同雖然此VBA CODE...謝謝~

TOP

謝謝分享,剛好有需要

TOP

謝謝您~我正好需要這樣的需求~3Q

TOP

本帖最後由 GBKEE 於 2014-2-2 09:45 編輯

回復 14# b7307024
擺放資料工作表模組的程式碼
  1. Option Explicit                    '在模組層次中強迫每個在模組裏的變數都必須明確的宣告。
  2. Option Base 1                      '在模組層次中用來宣告陣列索引的預設下限->為 1
  3. Private Sub Worksheet_Change(ByVal Target As Range)
  4.     If Target.Address = "$B$1" Then
  5.          Ext_data Target
  6.     End If
  7. End Sub
  8. Private Sub Ext_data(ByVal Target As Range)
  9.     Dim mnth As Worksheet, all_month(), Rng As Range, AR(), R As Range, S As Integer
  10.     S = 1
  11.     Application.ScreenUpdating = False
  12.     Set Rng = Target.Parent.Range("A5")
  13.     Rng.CurrentRegion.Offset(1).Clear
  14.     all_month = Array("Jan", "Feb", "Mar")
  15.     For Each mnth In Sheets(all_month)
  16.         With mnth
  17.             .Range("A1").AutoFilter 4, "*" & Target & "*"            '自動篩選
  18.             For Each R In .AutoFilter.Range.SpecialCells(xlCellTypeVisible).Rows
  19.                 If R.Row > 1 Then
  20.                     ReDim Preserve AR(1 To S)
  21.                     'AR(S) = R   '整列
  22.                     AR(S) = Array(R.Cells(1).Value, R.Cells(4).Value)  '日期,細節
  23.                     S = S + 1
  24.                 End If
  25.             Next
  26.             .AutoFilterMode = False
  27.         End With        
  28.     Next
  29.     Rng.Offset(1).Resize(S - 1, UBound(AR(1))) = Application.Transpose(Application.Transpose(AR))
  30.     Application.ScreenUpdating = True
  31. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

請問這類型的實作是否一定得借用到VBA的語法?
學無止盡

TOP

嗨嗨~ 各位前輩好!!!
我將此find record1.rar下載回去研究了一下
請問是否一定要先將資料從各sheet複製出來存到某些地方
再從這些地方,複製到我想要顯示的欄位呢?

不能各sheet有符合的資料,直接顯示在我想要擺放的欄位嗎?
並且依據標題顯示,如:我只要顯示日期跟細節
謝謝喔!

TOP

好想知道怎麼解喔

TOP

一起加油吧各位QUQ,我每次想到就會來這裡點點積分,
猛一看是2月發問的,到現在還不能下載XDDDDDDDDDDDDD

我只差3個積分就可以下載了!!!!!!加油!!!!!!

TOP

        靜思自在 : 【是否發揮了良能?】人間壽命因為短暫,才更顯得珍貴。難得來一趟人間,應問是否為人間發揮了自己的良能,而不要一味求長壽。
返回列表 上一主題