返回列表 上一主題 發帖

匯入總表數據bug

匯入總表數據bug

各位大大好,初來乍到想詢問一個程式語言
小弟遇到狀況如下
1.將5個專案分別以複製方式貼上"經管表格" (OK)
2.貼上後再將C欄選取範圍匯入"總表" (不OK)
不OK的原因是...
當匯入過去後,全部數值會變成一樣的(求解)
因為寫的這個程式碼感覺很暴力,是否有比較簡單的寫法?(求解)

以下是程式碼,再麻煩各位協助除錯!!! 感恩感恩
Sub summary2()

    工作表1.Activate
   
    'If Sheet <> 專案 Then Exit Sub '非有專案的標題 不動作
    For j = 3 To 7
        For i = 2 To 6
        
           Range("B3:D58").ClearContents
           Sheets(j).Range("B3:D58").Copy Destination:=[b3]
   
               
            工作表7.Cells(4, i) = [c3]
            工作表7.Cells(5, i) = [c5]
            工作表7.Cells(6, i) = [c6]
            工作表7.Cells(7, i) = [c7]
            工作表7.Cells(8, i) = [c8]
            工作表7.Cells(9, i) = [c9]
            工作表7.Cells(10, i) = [c10]
            工作表7.Cells(11, i) = [c11]
            工作表7.Cells(12, i) = [c12]
            工作表7.Cells(13, i) = [c13]
            工作表7.Cells(14, i) = [c14]
            工作表7.Cells(15, i) = [c15]
            工作表7.Cells(16, i) = [c16]
            工作表7.Cells(17, i) = [c17]
            工作表7.Cells(18, i) = [c18]
            工作表7.Cells(19, i) = [c19]
            工作表7.Cells(20, i) = [c20]
            工作表7.Cells(21, i) = [c21]
            工作表7.Cells(22, i) = [c22]
            工作表7.Cells(23, i) = [c23]
            工作表7.Cells(24, i) = [c24]
            工作表7.Cells(25, i) = [c25]
            工作表7.Cells(26, i) = [c26]
            工作表7.Cells(27, i) = [c27]
            工作表7.Cells(28, i) = [c28]
            工作表7.Cells(29, i) = [c29]
            工作表7.Cells(30, i) = [c30]
            工作表7.Cells(31, i) = [c31]
            工作表7.Cells(32, i) = [c32]
            工作表7.Cells(33, i) = [c33]
            工作表7.Cells(34, i) = [c34]
            工作表7.Cells(35, i) = [c35]
            工作表7.Cells(36, i) = [c36]
            工作表7.Cells(37, i) = [c37]
            工作表7.Cells(38, i) = [c38]
            工作表7.Cells(39, i) = [c39]
            工作表7.Cells(40, i) = [c40]
            工作表7.Cells(41, i) = [c41]
            工作表7.Cells(42, i) = [c42]
            工作表7.Cells(43, i) = [c43]
            工作表7.Cells(44, i) = [c44]
            工作表7.Cells(45, i) = [c45]
            工作表7.Cells(46, i) = [c46]
            工作表7.Cells(47, i) = [c47]
            工作表7.Cells(48, i) = [c48]
            工作表7.Cells(49, i) = [c49]
            工作表7.Cells(50, i) = [c50]
            工作表7.Cells(51, i) = [c51]
            工作表7.Cells(52, i) = [c52]
            工作表7.Cells(53, i) = [c53]
            工作表7.Cells(54, i) = [c54]
            工作表7.Cells(55, i) = [c55]
            工作表7.Cells(56, i) = [c56]
            工作表7.Cells(57, i) = [c57]
            工作表7.Cells(58, i) = [c58]
            
           
         Next
    Next
   
    工作表7.Activate
   
   

End Sub

圖片.png (276.44 KB)

匯入順序

圖片.png

圖片2.jpeg (184.5 KB)

數值都是一樣的

圖片2.jpeg

圖片3.PNG (9.85 KB)

工作表數量

圖片3.PNG

1. 是
2. 對,一般流程如下,A數據-->  數組--> 字典,然後B數據-->數組-->取出字典數據處理變成需求
...
samwang 發表於 2022-5-31 21:34



    不會不會!!
大大語法寫得很精準了
只是小弟我剛踏入VBA語言裡,很多東西都還在摸索
能寫出暴力填空方式已經有點免強

可能中間有表達不清楚的地方多多包涵!!!

再次感謝大大!! 同時也分享給大家知道你的語法

TOP

大大,感謝你!!
語法我已經都寫完了,也有結合先前的一些語法把專案案號進行匯入

另外我想問 ...
waitto04 發表於 2022-5-31 20:08


1. 是
2. 對,一般流程如下,A數據-->  數組--> 字典,然後B數據-->數組-->取出字典數據處理變成需求
後學一些經驗,說明不好地方,請多包涵指教,謝謝

TOP

但有一件事情是,若這個編碼再下次會更新是不一樣的(非作業,實戰使用)
是不是變成要先將專案代碼先匯 ...
samwang 發表於 2022-5-30 07:54



    大大,感謝你!!
語法我已經都寫完了,也有結合先前的一些語法把專案案號進行匯入

另外我想問的是
語法裡面有提到

If Arr(i, 3) = "" Then GoTo 90 '沒數據離開
                T = sh.Name & "|" & Arr(i, 1)  '條件:工作表名稱+項目
                xD(T) = Arr(i, 3)              '數據裝入字典
90:         Next

1.90是自定義的變數嗎?
2.前次有提及到bug的部分,意思是先把表格內的資訊抓到類似字典庫裡
後續再由專案案號下去分配相對應的數值,意思是這樣對嗎?

太感謝你了,相信這個報表是很有貢獻的!!

TOP

但有一件事情是,若這個編碼再下次會更新是不一樣的(非作業,實戰使用)
是不是變成要先將專案代碼先匯 ...
samwang 發表於 2022-5-30 07:54



    感謝大大的解說
晚點我再測試看看!

TOP

所以有可能你的總表第4列(如附圖)被清除然後執行結果就會失敗
第4列的各分頁的工作名稱不能清除
因 ...
waitto04 發表於 2022-5-29 23:26


但有一件事情是,若這個編碼再下次會更新是不一樣的(非作業,實戰使用)
是不是變成要先將專案代碼先匯入總表內,再將後續的數值呼叫出來呢?
>>對,先將各分頁的的名稱先匯至總表後再執行即可,謝謝

TOP

依據你的測試#14 有成功,#15又失敗,你又說字典有資料
所以有可能你的總表第4列(如附圖)被清除然後執 ...
samwang 發表於 2022-5-29 19:30



所以有可能你的總表第4列(如附圖)被清除然後執行結果就會失敗
第4列的各分頁的工作名稱不能清除
因為那是字典匯出時比對的條件之一


大大 沒錯喔!!是有數據生成的!!
但有一件事情是,若這個編碼再下次會更新是不一樣的(非作業,實戰使用)
是不是變成要先將專案代碼先匯入總表內,再將後續的數值呼叫出來呢?

TOP

本帖最後由 samwang 於 2022-5-29 19:32 編輯
剛剛又重複嘗試了一次,沒成功帶出...

  設定是
"經管表格" C欄的資料可以帶入 "總表"依名 ...
waitto04 發表於 2022-5-29 12:22


依據你的測試#14 有成功,#15又失敗,你又說字典有資料
所以有可能你的總表第4列(如附圖)被清除然後執行結果就會失敗
第4列的各分頁的工作名稱不能清除
因為那是字典匯出時比對的條件之一
請再測試看看,謝謝

另外,我寫的程式執行前不用清除舊資料,因為程式最後會自動清除(我有註解)

1.JPG (93.29 KB)

1.JPG

TOP

With sheets(1) 先設停止點,然後按F5執行,再確認字典有無資料,正確應該要有資料,請確認,謝謝
samwang 發表於 2022-5-29 11:30


剛剛又重複嘗試了一次,沒成功帶出...


2.B的欄位都會被跳過
>> 看你的程式,個分頁資料-->"經營表格"-->C欄資料--> 總表
看不懂你實際需求是 ...
samwang 發表於 2022-5-29 11:41



  設定是
"經管表格" C欄的資料可以帶入 "總表"依名稱填入對應的數據
但小弟剛接觸VBA不久,不知道為什麼,數據帶入了,但是B欄位沒有被引動的感覺,反而是從總表的C欄開始動作

不好意思,礙於權限關係!! 每小時只能回復三帖... 很緊張這種回復方式

TOP

With sheets(1) 先設停止點,然後按F5執行,再確認字典有無資料,正確應該要有資料,請確認,謝謝
samwang 發表於 2022-5-29 11:30



   這個步驟經過確認,有東西可以帶出來唷!

2.PNG (168.61 KB)

2.PNG

TOP

        靜思自在 : 看別人不順眼,是自己修養不夠。
返回列表 上一主題