標題:
篩選後資料如何複製貼上指定的欄位???
[打印本頁]
作者:
p6703
時間:
2012-11-1 13:58
標題:
篩選後資料如何複製貼上指定的欄位???
請問以篩選後資料如要複製至指定的欄位,以巨集如何達成,小弟以一般複製或貼上值的方式,都無法達成,懇請各位先進指教,謝謝
如附件中的E欄位希望將篩選符合的資料複製至G欄位...
[attach]12990[/attach]
作者:
GBKEE
時間:
2012-11-1 14:27
回復
1#
p6703
試試看
Option Explicit
Sub Ex()
Range("E2", Range("E2").End(xlDown)).Copy [G2]
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
試試看
Option Explicit
Sub Ex()
With Range("E2", Range("E2").End(xlDown))
.Offset(, 2) = .SpecialCells(xlCellTypeVisible).Value
End With
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
試試看
Option Explicit
Sub Ex()
Dim Rng As Range, xi As Integer, i As Integer, e As Range
Set Rng = Range("E2", Range("E2").End(xlDown)).SpecialCells(xlCellTypeVisible)
'SpecialCells 方法 傳回 Range 物件,此物件代表與指定型態及值相符合的所有儲存格。Range 物件。
For xi = 1 To Rng.Areas.Count
'Areas 屬性 定傳回 Areas 集合,此集合代表多重範圍中的所有範圍。唯讀。
For Each e In Rng.Areas(xi).Cells
i = i + 1
If i <= 2 Then '前2列
e.Offset(, 2) = e.Value
Else
e.Offset(, 2) = Rng.Cells(1).Value
End If
Next
Next
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
還是不太了解你的說法,試試看是這樣嗎?
Option Explicit
Sub Ex()
With ActiveSheet.UsedRange
.Range("A1").AutoFilter 2, "杯子"
.Columns("E:E").Offset(1).Copy
.Parent.AutoFilterMode = False '取消 工作表的自動篩選
.Range("G:G") = ""
.Parent.Paste Destination:=.Range("G2")
End With
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
Option Explicit
Sub Ex()
Dim Rng As Range, A As Range, i As Integer, EA As Range
Set Rng = Range("E2", Range("E2").End(xlDown)).SpecialCells(xlCellTypeVisible)
'SpecialCells 方法 傳回 Range 物件,此物件代表與指定型態及值相符合的所有儲存格。Range 物件。
'Areas 屬性 定傳回 Areas 集合,此集合代表多重範圍中的所有範圍。唯讀。
For Each A In Rng.Areas
For Each EA In A.Cells
i = i + 1
If i <> 2 Then '<>第2列
EA.Offset(, 2) = EA.Value
End If
Next
Next
End Sub
複製代碼
作者:
scram139
時間:
2016-3-14 16:05
剛好遇到這個問題,來下載測試看看,感謝大大提供解決方法
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)