彰化一整天的論壇

 找回密碼
 立即註冊
查看: 660|回復: 18

將不同分頁的不同欄位,合併至同一分頁的同一欄位

[複製鏈接]
發表於 2017-8-8 16:36:38 | 顯示全部樓層 |閱讀模式
您好:目前已經使用「如何快速將Excel多個工作表合併成一個」VBA程式碼成功執行分頁合併,但由於報表於各分頁項目順序、名稱不一致(來源有多家廠商),
(例如:金額,有些在分頁中的A欄位、有些在B欄位)
因此仍有以下幾個問題:

1. 將不同分頁的不同欄位,合併至同一分頁的同一欄位
2. 選定結束複製的欄位(例如:結束於倒數第二行or倒數第三行)
3. 選擇目標分頁中開始貼上的欄位(例如:從A2開始貼上)

謝謝您!



回復

使用道具 舉報

發表於 2017-8-9 15:35:20 | 顯示全部樓層
jenny830602 發表於 2017-8-9 15:21
您好:
若我想一次排列多個分頁不知道是否可行?

您好,
     因為每個工作表的欄位都不相同.您可以看我的VBA程式碼,去修改成您要的功能。
回復 支持 1 反對 0

使用道具 舉報

發表於 2017-8-8 17:31:57 | 顯示全部樓層
本帖最後由 imingho 於 2017-8-8 17:53 編輯

您好,
     是否可以上傳範例excel檔(用測試資料代替).並用圖說明嗎?
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-9 14:31:07 | 顯示全部樓層
檔案一:




檔案二:


要將檔案一合併的像檔案二
本來想說是不是可以先合併再寫樞紐
但因為欄位位子不同,且底下有一個「合計」擋住
所以看起來是沒辦法這樣子處理
再請參考~
回復 支持 反對

使用道具 舉報

發表於 2017-8-9 15:08:30 | 顯示全部樓層

您好,
     
1. 闗於欄位的問題,您可以參考
http://blog.bestdaylong.com/2009/10/excel_12.html
讀取Excel中的欄位順序
2.合計的部分可以在全部合併完畢時,再篩選有合計的欄位,再一次將選取的列數刪除就可以.
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-9 15:21:46 | 顯示全部樓層
您好:
若我想一次排列多個分頁不知道是否可行?
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-15 11:48:11 | 顯示全部樓層
本帖最後由 jenny830602 於 2017-8-15 12:23 編輯

您好,目前1. 2. 有找到解決方法了,但目前問題仍卡在 3.
想詢問:若我要複製分頁"Copy"的F欄位,並從F2開始複製到最後一欄(即各表單表頭不要複製),該怎麼處理比較好呢?有試過想寫 "F2:F" ,但似乎不可行...

IA = 1
Do While Sheets("Copy").Range("F" & IA).Value <> ""
Sheets("Copy").Range("F" & IA).Copy Destination:=Sheets("Paste").Range("A" & IB)
IA = IA + 1
IB = IB + 1
Loop
Cells(1048576, "C").End(xlUp) = ""
Cells(1048576, "C").End(xlUp) = ""
Cells(1048576, "C").End(xlUp) = "" '清除倒數三列


非常感謝大大幫忙><











回復 支持 反對

使用道具 舉報

發表於 2017-8-15 14:39:58 | 顯示全部樓層
jenny830602 發表於 2017-8-15 11:48
您好,目前1. 2. 有找到解決方法了,但目前問題仍卡在 3.
想詢問:若我要複製分頁"Copy"的F欄位,並從F2開 ...

您好,
     用 "F2:F" ,是對的,是否可以上傳範例檔案.我再幫您看是那裡語法用錯了。
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-15 16:55:48 | 顯示全部樓層
本帖最後由 jenny830602 於 2017-8-15 17:01 編輯

我似乎還沒有上傳的權限...
主要是有兩個不同的sheets (Copy / Copy2),
要將兩個不同Sheets的 F欄位分別整合到 Test 這個分頁,
且Copy2不複製到表頭~


完整程式碼如下:
Sub copy_fruit()

IA = 1
IB = 1
IC = 1


'>>> Copy(F)
Do While Sheets("Copy").Range("F" & IA).Value <> ""
Sheets("Copy").Range("F" & IA).copy Destination:=Sheets("Test").Range("A" & IB)
IA = IA + 1
IB = IB + 1
Loop

Cells(1048576, "C").End(xlUp) = ""
Cells(1048575, "C").End(xlUp) = ""
Cells(1048574, "C").End(xlUp) = "" '***好像抓不到這一條程式碼?





'***Copy2(F) 不要複製到(F1)表頭項目列
IA = 1
Do While Sheets("Copy2").Range("F" & IA).Value <> ""
Sheets("Copy2").Range("F" & IA).copy Destination:=Sheets("Test").Range("A" & IB)
IA = IA + 1
IB = IB + 1
IC = IC + 1
Loop
Cells(1048576, "C").End(xlUp) = ""

End Sub


回復 支持 反對

使用道具 舉報

發表於 2017-8-15 22:44:37 | 顯示全部樓層
jenny830602 發表於 2017-8-15 16:55
我似乎還沒有上傳的權限...
主要是有兩個不同的sheets (Copy / Copy2),
要將兩個不同Sheets的 F欄位分別整 ...

您好,
     沒有檔案我沒辦法幫您偵錯.
請參考.
discuz 論壇如何註冊及發問問題
http://discuz.bestdaylong.com/thread-32325-1-1.html
裡面的第7個步驟有附件,就可以上傳檔案.若不行請抓畫面給我.
我沒有設權限不能上傳.請看底下的網友也是剛註冊就可以上傳圖片及檔案.
http://discuz.bestdaylong.com/forum.php?mod=viewthread&tid=37841
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2018-9-22 03:21 , Processed in 0.161335 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表