返回列表 上一主題 發帖

[發問] 對應欄位問題

本帖最後由 c_c_lai 於 2016-12-12 19:17 編輯

回復 10# starbox520
沒錯!
使用第二種方法 (ReDim Preserve),雖受限於 Application.Transpose() 255 的限制,
但它能得以動態的增加陣列,是它的優點。但是由於妳現有的案例卻不太適合,是故改採
一次直接宣告陣列大小的第一種方法 (ReDim ar()),而將陣列直接移轉 (Assign) 到工作表單內。
不致受限於 Transpose() 長度的限制。
  1. Sub Ex()
  2.     Dim ln As Variant, ar As Variant
  3.     Dim cts As Integer, ct2 As Integer
  4.    
  5.     With Sheets("Data")
  6.         ln = .[A1].CurrentRegion.Value      '  Ln :  : Variant/Variant(1 to 177, 1 to 35)
  7.         '  UBound(Ln, 1) = 177 : Long   /   UBound(Ln, 2) : 35 : Long
  8.         ReDim ar(1 To UBound(ln, 2) + 1, 1 To 2)

  9.         For cts = 1 To UBound(ln, 2) - 5
  10.             ar(cts, 1) = ln(1, cts + 1)  
  11.             ar(cts, 2) = ""
  12.             For ct2 = 3 To UBound(ln, 1)
  13.                  If ln(ct2, cts + 1) <> 0 Then
  14.                     ar(cts, 2) = IIf(ar(cts, 2) = "", ln(ct2, 1) & IIf(ln(ct2, cts + 1) > 0, "+", "") & ln(ct2, cts + 1), _
  15.                                         ar(cts, 2) & "," & ln(ct2, 1) & IIf(ln(ct2, cts + 1) > 0, "+", "") & ln(ct2, cts + 1))
  16.                 End If
  17.             Next ct2
  18.         Next cts
  19.     End With
  20.         
  21.     With Sheets("TEST")
  22.         .[H:I] = ""
  23.         .[H2].Resize(UBound(ar, 1), UBound(ar, 2)) = ar
  24.     End With
  25. End Sub
複製代碼
scanttt2.rar (31.82 KB)

TOP

P0A 的組合:

TOP

本帖最後由 c_c_lai 於 2016-12-13 09:15 編輯

回復 10# starbox520
這是之前執行第二種方式 (Ex1()) 所產生錯誤之原因:

TOP

回復 13# c_c_lai


    原來如此

   謝謝C大解說!!

TOP

回復 13# c_c_lai

   
     
    如果像這樣只要取S#XX 或M#XX  前面CF00不要取到,然後第174.175.254.255 不要讀到這4列的資訊(反黃部分)
    另外C大之前的寫法連同把B欄的資訊寫到G欄,這部分去除掉
     只要H欄的呈現資訊, 這樣要怎麼修改呢~

      SQ0001.rar (24.38 KB)

TOP

回復 15# starbox520
第174.175.254.255 不要讀到這4列的資訊(反黃部分) ?
不太明瞭,請白話一點,
是忽略不去計列處理,還是?

TOP

回復 16# c_c_lai


    對就是忽略~

TOP

回復 17# starbox520
但是妳的 SQ0001 反黃的部分是 127、255、127、116,
那 又是怎麼回事?
116、127 也算數嗎?

TOP

回復 15# starbox520
不等妳的確認回復了,
我準備要出門去林口長庚回診了。
SQ0001_xlsm.rar (35.78 KB)

TOP

回復 18# c_c_lai


    Sorry現在才看到Q0Q
    可是我看開起的附檔
     只有這兩個有反黃QQ
      102.png
     CF00M#SC    CF00M#TER    CF00S#S   CF00S#TE   
     這4列略過
     為什麼要去醫院阿
     看眼睛嗎 Q0Q
     保重身體耶~C大大!!!

TOP

        靜思自在 : 是非當教育,讚美作警惕。
返回列表 上一主題