Board logo

標題: 篩選後資料如何複製貼上指定的欄位??? [打印本頁]

作者: p6703    時間: 2012-11-1 13:58     標題: 篩選後資料如何複製貼上指定的欄位???

請問以篩選後資料如要複製至指定的欄位,以巨集如何達成,小弟以一般複製或貼上值的方式,都無法達成,懇請各位先進指教,謝謝

如附件中的E欄位希望將篩選符合的資料複製至G欄位...

[attach]12990[/attach]
作者: GBKEE    時間: 2012-11-1 14:27

回復 1# p6703
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Range("E2", Range("E2").End(xlDown)).Copy [G2]
  4. End Sub
複製代碼

作者: p6703    時間: 2012-11-1 14:41

GBKEE 版主,執行巨集將E欄的資料複製貼到G欄2~13列,但小弟需求的是貼上對應的列數(3,6,9,12,15.....)
作者: GBKEE    時間: 2012-11-1 15:08

回復 3# p6703
試試看
  1. Option Explicit
  2. Sub Ex()
  3.    With Range("E2", Range("E2").End(xlDown))
  4.     .Offset(, 2) = .SpecialCells(xlCellTypeVisible).Value
  5.     End With
  6. End Sub
複製代碼

作者: p6703    時間: 2012-11-1 23:54

感謝GBKEE版主,小弟以巨集執行可以了,但如果篩選後的列數不是規則性的,此巨集執行是否仍可套用???(因為看程式碼小弟自行猜想是否固定隔二列將資料貼上,但小弟的附件只是剛好其間隔都一樣,如果列數呈不規則性的)
作者: GBKEE    時間: 2012-11-2 16:14

回復 5# p6703
修改附檔資料,試試不就知道.
作者: p6703    時間: 2012-11-2 16:47

感謝GBKEE版主,小弟誤解了程式碼

小弟以附件重新不規律排序執行巨集,只有前二列於G欄秀出正確的值,第三列開始的值都變成第一列的金額,附上如下,請再幫忙看看,謝謝您^^


[attach]13021[/attach]
作者: GBKEE    時間: 2012-11-2 17:12

回復 7# p6703
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, xi As Integer, i As Integer, e As Range
  4.     Set Rng = Range("E2", Range("E2").End(xlDown)).SpecialCells(xlCellTypeVisible)
  5.     'SpecialCells 方法 傳回 Range 物件,此物件代表與指定型態及值相符合的所有儲存格。Range 物件。
  6.     For xi = 1 To Rng.Areas.Count
  7.     'Areas 屬性 定傳回 Areas 集合,此集合代表多重範圍中的所有範圍。唯讀。
  8.         For Each e In Rng.Areas(xi).Cells
  9.             i = i + 1
  10.             If i <= 2 Then  '前2列
  11.                 e.Offset(, 2) = e.Value
  12.             Else
  13.                 e.Offset(, 2) = Rng.Cells(1).Value
  14.             End If
  15.         Next
  16.     Next
  17. End Sub
複製代碼
PS: 回文時  請按 [回覆] 按鈕  答覆你的人才會得到通知, 這是基本的禮貌
作者: p6703    時間: 2012-11-5 16:39

GBKEE版主,小弟以新巨集執行,但跑出結果仍是只有前二筆會套取正確數據,自第三筆起都是捉取第一筆的數據

附件如下,再請版主確認協助,謝謝...

[attach]13044[/attach]
作者: GBKEE    時間: 2012-11-5 17:04

回復 9# p6703
1# 說 :請問以篩選後資料如要複製至指定的欄位
7# 又說 附件重新不規律排序執行巨集,只有前二列於G欄秀出正確的值,第三列開始的值都變成第一列的金額
給你8# 的程式是有依你說撰寫的.
9# 說 但跑出結果仍是只有前二筆會套取正確數據,自第三筆起都是捉取第一筆的數據
那我就不知你的問題是什麼了

作者: p6703    時間: 2012-11-5 17:54

小弟明白了,SORRY讓GBKEE 版主誤會意思了

小弟原本希望巨集可以將已篩選的資料E欄位的數據複製至G欄(用複製的方式不可行)
7#小弟的意思是執行版主3#的巨集後,跑出的結果,仍無法達成希望的結果再請版主看看
之後有將巨集看懂了,只要將If i <= 2 中的2修改(因一般篩選後符合的數據不會超過幾10筆,我只將此數據改成100,即可全數套取),可符合小弟的需求了,謝謝GBKEE 版主
如果不以假設的方式,巨集是否可再簡短些???
作者: GBKEE    時間: 2012-11-6 17:56

回復 11# p6703
還是不太了解你的說法,試試看是這樣嗎?
  1. Option Explicit
  2. Sub Ex()
  3.     With ActiveSheet.UsedRange
  4.         .Range("A1").AutoFilter 2, "杯子"
  5.         .Columns("E:E").Offset(1).Copy
  6.         .Parent.AutoFilterMode = False   '取消 工作表的自動篩選
  7.         .Range("G:G") = ""
  8.         .Parent.Paste Destination:=.Range("G2")
  9.     End With
  10. End Sub
複製代碼

作者: eg0802    時間: 2012-11-21 20:56

回復 12# GBKEE


   G 大  小弟想請教一下    有時篩選後複製    只想貼上可見儲存格  會有不相鄰無法執行此步驟的問題發生   有辦法用VBA 可以解決嗎?
作者: GBKEE    時間: 2012-11-22 16:39

回復 13# eg0802
附檔看看
作者: Hsieh    時間: 2012-11-22 17:48

回復 13# eg0802

必須引用項目Microsoft Forms 2.0 Object Library
[attach]13238[/attach]
[attach]13239[/attach]
[attach]13240[/attach]
作者: eg0802    時間: 2012-11-23 12:56

回復 15# Hsieh


    感謝h大  成功了  ,小弟魯鈍 最後請問H大複製跟貼上的按鈕  怎麼設定的??
作者: eg0802    時間: 2012-11-23 13:38

回復 16# eg0802


    在請問一下H大  為什麼我套用在別的表格就不行了呢????
       除錯之後得到這個  mystr = data.GetText(1)
作者: eg0802    時間: 2012-11-23 14:49

[attach]13257[/attach]回復 15# Hsieh


    H大 不好意思  能否麻煩您幫忙看一下附件 為何會如此?  萬分感激
作者: GBKEE    時間: 2012-11-23 16:24

回復 18# eg0802
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, A As Range, i As Integer, EA As Range
  4.     Set Rng = Range("E2", Range("E2").End(xlDown)).SpecialCells(xlCellTypeVisible)
  5.     'SpecialCells 方法 傳回 Range 物件,此物件代表與指定型態及值相符合的所有儲存格。Range 物件。
  6.     'Areas 屬性 定傳回 Areas 集合,此集合代表多重範圍中的所有範圍。唯讀。
  7.     For Each A In Rng.Areas
  8.         For Each EA In A.Cells
  9.             i = i + 1
  10.             If i <> 2 Then  '<>第2列
  11.                 EA.Offset(, 2) = EA.Value
  12.             End If
  13.         Next
  14.     Next
  15. End Sub
複製代碼

作者: scram139    時間: 2016-3-14 16:05

剛好遇到這個問題,來下載測試看看,感謝大大提供解決方法




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)