Board logo

標題: [發問] 自動複製指定名稱的檔案資料 [打印本頁]

作者: papaya    時間: 2020-7-25 09:11     標題: 自動複製指定名稱的檔案資料

測試檔︰[attach]32323[/attach]
備註︰
1_Arr = Array("七政","八卦","五行","六沖","合數","生肖","均值","尾數")
2_效果檔只列出"七政"和"生肖"的部分內容之範例。
3_為達到流程的完整和流暢,所以將多項需求一次提出,尚請見諒!謝謝!

需求流程︰
1_在程式檔Module1的列16插入
[AZ2:AAZ231]更改日期格式為"yyyy-mm-dd"(EX: 2020-07-17)的程式碼。

2_設立一個"InputBox"
XXXX = InputBox("請輸入日期(EX:2020-07-17) ", "輸入日期")。

3_將"InputBox"填入的日期(EX: 2020-07-17),複製->選擇性貼上->值->轉置在程式檔的" Arr "等各工作表的A1。

4_依據填入"InputBox"的日期(EX: 2020-07-17),將DATA的A欄相同日期之下1列的B:H內容,複製->選擇性貼上->值->轉置在" Arr "等各工作表的A3。.

5_以"遺漏"+"程式檔"的" Arr "等各工作表名稱+前述各工作表的B欄項目及C欄名次等各關鍵字,對"程式檔"以外的其他檔案名稱做分類搜尋_
然後將上述搜尋到的對應分類檔案之AZ欄="InputBox"的日期(EX: 2020-07-17)的"上1列之BA:BS內容,複製->選擇性貼上->值->轉置_在"程式檔"的" Arr "等各工作表之E2等相對應的儲存格.

6_程式檔"的" Arr "等各工作表以下範圍之欄列格式_
                    Columns("A:W").Font.Name = "Arial"
                    Columns("A:W").HorizontalAlignment = xlCenter
                    Columns("A:W").EntireColumn.AutoFit
                    [A2].Select
                    ActiveWindow.FreezePanes = True
                    ActiveWindow.Zoom = 75

7_將程式檔"的" Arr "等各工作表複製輸出為1個獨立檔案_檔案名稱="大樂透_遺漏空總統計表_輸入InputBox的日期(EX: 2020-07-17)"

8_將程式檔"的" Arr "等各工作表以下範圍之內容移除_
[A3:A9].ClearContents
[E2:W72].ClearContents

9_請設立1個計時器,並記載共完成複製多少個檔案(如本測試檔為”共完成複製12個檔案”)。

請問︰以上程式的需求語法(2003版)應該如何編寫?
謝謝!
作者: luhpro    時間: 2020-7-26 23:07

本帖最後由 luhpro 於 2020-7-26 23:10 編輯
測試檔︰
備註︰
1_Arr = Array("七政","八卦","五行","六沖","合數","生肖","均值","尾數")
2_效果檔只 ...
.
需求流程︰
1_在程式檔Module1的列16插入
[AZ2:AAZ231]更改日期格式為"yyyy-mm-dd"(EX: 2020-07-17)的程式碼。
.
papaya 發表於 2020-7-25 09:11


其實需求1滿簡單的,
你只需要利用錄製巨集功能就可以得出下式:
Range("J7:L11").Select  ' 範圍是隨意舉例的
Selection.NumberFormatLocal = "yyyy/m/d;@"
再把它依據你的需求改成:
Range("AZ2:AAZ231").NumberFormatLocal = "yyyy-mm-dd"
應該就可以了.

至於 第2 與 第3: (我假設你日期格式一樣是要用 yyyy-mm-dd)
  1.   Dim dDate As Date
  2.   Dim arr
  3.   Dim shName
  4.   
  5.   arr = Array("七政", "八卦", "五行", "六沖", "合數", "生肖", "均值", "尾數")
  6.   dDate = InputBox("請輸入日期(EX:2020-07-17) ", "輸入日期")
  7.   For Each shName In arr
  8.     With Sheets(shName).[A1]
  9.       .NumberFormatLocal = "yyyy-mm-dd"
  10.       .Value = dDate
  11.     End With
  12.   Next
複製代碼
---時間太晚了,其它來不及想了---
作者: papaya    時間: 2020-7-27 00:32

回復 2# luhpro
先拜讀~看能不能消化
謝謝您!

期盼您的續解
作者: papaya    時間: 2020-7-27 02:49

回復 2# luhpro
有爬文,好像我的需求流程順序有點問題,
容我思考後,再麻煩您~感恩 :D




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