功能說明:對於原始資料中每一列,找出值為 1 的欄位將這些欄位的標題按順序記錄到新的範圍(S2 開始)如果一列中有多個值為 1 的欄位,會依序記錄其標題分析:詳細分析這段 VBA 程式碼的功能和邏輯:函數目的: 這是一個名為 Sub 記錄值1的列號_I() 的子程序,主要目的是找出特定範圍內數值為 1 的列,並記錄對應的列標題。變數宣告:i, j, k:用於迴圈計數的迭代變數rngArr:用於儲存 A1:Q13 範圍的所有值brr:用於儲存結果的二維陣列headArr:用於儲存 A1:Q1 範圍的標題列主要步驟: a. 讀取數據:b. 清除目標範圍:c. 初始化結果陣列:d. 主要邏輯處理:e. 輸出結果:rngArr = Range("A1:Q13").value:將 A1:Q13 範圍的值複製到 rngArrheadArr = Range("A1:Q1").value:將 A1:Q1 範圍的標題列複製到 headArrRange("S2").Resize(12, 14).ClearContents:清除 S2 開始的 12x14 範圍的內容ReDim brr(1 To 12, 1 To 14):建立一個 12x14 的二維陣列來儲存結果外層迴圈 For i = 2 To 13:遍歷 A2:Q13 的每一列內層迴圈 For j = 2 To UBound(rngArr, 2):遍歷每一列的每一欄當找到值為 1 的儲存格時: 將對應的標題(來自 headArr)寫入 brr 陣列 使用 k 作為 brr 陣列的列索引 Range("S2").Resize(12, 14).value = brr:將 brr 陣列的值寫入 S2 開始的 12x14 範圍VBA CODE:(儲格輸出)VBA CODE:(陣列輸出)