返回列表 上一主題 發帖

[發問] VBA 選擇先後順序的語法

回復 2# fantersy
A分頁10個項目   
B分頁有5個項目
A,B  的項目不同嗎? (各是哪些項)

匯到分頁時要能先從A分頁開始匯入後面再貼B分頁
當B分頁項目大於A分頁項目 一樣先貼A再貼B分頁 可解釋嗎

附檔最好有你期望的範例
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 5# fantersy
試試看
  1. Option Explicit
  2. Sub Ex()
  3.    Dim Ac(), xAr(), Ar(), Rng As Range, i As Integer, ii As Integer, e As Variant
  4.     Ac = Array(12, 13, 1, 2, 14)  '指定欄位順序
  5.     i = 0
  6.     For Each e In Array("D03生產計劃表", "陶瓷電木生產計劃表")
  7.         Set Rng = Sheets(e).Range("A5")  '起始列
  8.         Do While Rng <> ""
  9.             ReDim Ar(UBound(Ac))        '重置陣列:元素數=Ac
  10.             ReDim Preserve xAr(0 To i)  'Preserve 選擇性引數。當改變原有陣列最後一維的大小時,仍然保有原來的資料的關鍵字。
  11.             For ii = 0 To UBound(Ac)    '
  12.                 Ar(ii) = Rng(1, Ac(ii)) '=> 'Ar(ii) = Rng.Cells(1, Ac(ii))
  13.             Next
  14.             xAr(i) = Ar  '資料存入
  15.             Set Rng = Rng.Offset(1)
  16.             i = i + 1
  17.         Loop
  18.     Next
  19.     Ar = Array("作業者", "分配碼", "製令單號", "產品產號", "分配量", "生產日", "生產量", "假日", "不良1", "不良2", "不良3", "不良4", "不良5", "不良6", "目檢員", "登錄")
  20.     With Sheets("繞線-個人管製表改")
  21.         .UsedRange.Clear
  22.         Set Rng = .Range("A2")
  23.         For Each e In xAr  '讀取資料
  24.             '=> For e = 0 To UBound(xAr)
  25.             With Rng
  26.                 .Range("a1") = "繞線個人分配管制表"
  27.                 .Range("a2").Resize(, UBound(Ar) + 1) = Ar
  28.                 .Range("a3").Resize(, UBound(e) + 1) = e
  29.                 '=>.Range("a3").Resize(, UBound(xAr(e)) + 1) = xAr(e)
  30.             End With
  31.         Set Rng = Rng.Offset(7)  '下移7列
  32.         Next
  33.     End With
  34. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 知識要用心體會,才能變成自己的智慧。
返回列表 上一主題