返回列表 上一主題 發帖

不同工作表找對比資料,工作表名稱不固定

回復 9# mdr0465

進一步運用,請試執行以下代碼:


Option Explicit
Sub 儲存格與陣列_1() '注意! 先開一個新工作表再執行,以免誤刪重要資料
Dim Arr(1 To 3, 1 To 5), Brr, Crr, Drr, i%, j%, A, N%
ActiveSheet.UsedRange.ClearContents
For i = 1 To UBound(Arr)
   For j = 1 To UBound(Arr, 2)
      N = N + 1
      Arr(i, j) = N
   Next
Next
[A1].Resize(UBound(Arr), UBound(Arr, 2)) = Arr
[A1].Resize(UBound(Arr), UBound(Arr, 2)).Select
MsgBox "全部Arr陣列值從儲存格[A1]開始貼入值"

Brr = Range([F1], [A65536].End(xlUp))
For i = 1 To UBound(Brr)
   For j = 2 To UBound(Brr, 2)
      Brr(i, 1) = Brr(i, 1) + Brr(i, j)
   Next
Next
[A6].Resize(UBound(Brr)) = Brr
[A6].Resize(UBound(Brr)).Select
MsgBox "在Brr陣列第1欄裡加總當列值後,從儲存格[A6]開始貼入Brr部分陣列值" & vbLf & _
       "1+2+3+4+5=15" & vbLf & "6+7+8+9+10=40" & vbLf & "11+12+13+14+15=65"
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 11# Andy2483

Andy 師兄,
謝謝你耐心指導和提供有用教材給我了解當中的運作,
現在`後輩了解當中的運作了,萬分感謝你:handshake

TOP

本帖最後由 Andy2483 於 2024-3-6 13:57 編輯

回復 12# mdr0465

索引號從 0開始:


Option Explicit
Sub 儲存格與陣列_2() '注意! 先開一個新工作表再執行,以免誤刪重要資料
Dim Arr(3, 5), i%, j%, N%
ActiveSheet.UsedRange.ClearContents
For i = 1 To UBound(Arr)
   Arr(i, 0) = "標題欄項 " & i
   For j = 1 To UBound(Arr, 2)
      If i = 1 Then Arr(0, j) = "標題列項 " & j
      N = N + 1
      Arr(i, j) = N
   Next
Next
Arr(0, 0) = "欄 \ 列"
[A1].Resize(UBound(Arr) + 1, UBound(Arr, 2) + 1) = Arr
[A1].Resize(UBound(Arr) + 1, UBound(Arr, 2) + 1).Select
MsgBox "全部Arr陣列值從儲存格[A1]開始貼入值"
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 13# Andy2483
Andy 師兄,

謝謝你悉心提供有用的教材令我茅塞頓開, 從而更深入理解這編碼的運用,
但學弟有一個疑問再想向Andy 請教, 我明白同一個問題可以用不同方式去編寫同樣都可以做出同樣的結果
但請問Andy學兄,以你個人的見解,你會在什麼時間才會決定使用"Scripting Dictionary" (字典)
什麼時間就不用而用其他方式去編寫程式呢?

謝謝

TOP

回復 14# mdr0465

在什麼時間才會決定使用"Scripting Dictionary" (字典)
1.處理重複.不重複資料
2.變動變數太多時,以字典KEY當變數
3.記憶列號時
4.為了練習字典時,任何情況都想要用字典
5.其他
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 15# Andy2483
Andy 師兄,
明白了,謝謝你每一次都很詳細的解釋,
謝謝

TOP

        靜思自在 : 人生沒有所有權,只有生命的使用權。
返回列表 上一主題