返回列表 上一主題 發帖

[發問] 關於巨集程式修改問題

回復 3# 我是瑄
以下是只貼上值 , 不含格式
要再排序表C的A欄 , 要先知道A欄實際資料是文字/數字? 要做升序/降序? 及標題列是在列1 or 列2?
  1. Sub 按下按鈕()
  2.     Dim y&
  3.     With Sheets("B")
  4.         y = .[Q65536].End(xlUp).Row    'Q欄最後一列
  5.         .Range("P2:P" & y).AutoFilter field:=1, Criteria1:="="
  6.         
  7.         '複製資料
  8.         Union(.Range("C2:C" & y), .Range("A2:B" & y), .Range("D2:H" & y), .Range("Q2:Q" & y)).Copy
  9.         '貼上值
  10.         Sheets("C").[A2].PasteSpecial Paste:=xlPasteValues
  11.       
  12.         .AutoFilterMode = False   '取消篩選
  13.     End With
  14. End Sub
複製代碼

TOP

回復 9# 我是瑄
學習中 , 看起來應該是下面這行的問題
    ad = Split(Replace(Rng.Address(0, 0), "P", ""), ",") '取得空格的列位
如果Rng中有連續的儲存格 , Address會以 ":" 合起來 , 不會一個個逗號分隔表示
試試看把上面那行改為底下的code:
         ReDim ad(Rng.Count - 1)
         k = 0
         For Each area In Rng.Areas
            For Each acell In area
                ad(k) = acell.Row
                k = k + 1
            Next
         Next
或者看別人有沒有更簡潔的寫法

TOP

        靜思自在 : 閒人無樂趣,忙人無是非。
返回列表 上一主題