
No.4ベストアンサー
- 回答日時:
filtercopyしてしまうと全コピーになってしまうのはそういうモノなので,どうしようもありません。
方法1:素直に。
sub macro1()
application.screenupdating = false
range("A1:A20").advancedfilter action:=xlfilterinplace, unique:=true
range("A1:A20").copy
worksheets("Sheet2").range("A1").pastespecial paste:=xlpastevalues
activesheet.showalldata
application.screenupdating = true
end sub
方法2:参考にこんなやり口もあります。Advancedfilterより優位性があるワケじゃありませんが,ユニークなリストをメモリに確保したい目的でしばしば出てくる手口です。
Sub macro2()
Dim myDic As Object
Dim h As Range
Set myDic = CreateObject("Scripting.Dictionary")
For Each h In Range("A1:A" & Range("A65536").End(xlUp).Row)
If Not myDic.exists(h.Value) Then
myDic.Add h.Value, ""
End If
Next
Worksheets("Sheet2").Range("A1").Resize(myDic.Count, 1).Value = Application.Transpose(myDic.keys)
Set myDic = Nothing
End Sub
No.3
- 回答日時:
>AdvancedFilterを使って値のみ貼り付け
これはVBAの用語だが、VBAの質問ですか。
質問にはっきりさせること。
>重複したコードのみ抽出して
表現が不十分では無いですか。
私は下記データ例のように解した。重複出現のコード分のみを抜き出した。
下記のデータから1行のみのコードは捨てて他を集めた。
Paste:=xlPasteValuesで書式を捨てている。
>AdvancedFilterを使って、
私はAdvancedFilterで、相当考えたができなかった。
(質問者が言うのは下記で言えば[、適切なのは「a」の行の抽出であって、複数あれば結果が重複するのは当たり前。)
下記は相当てこずった。
A列 B列
コード計数
a12
b23
a43
b55
c34
a1
d2
e3
e4
e5
e6
数個所セルのパターン色を設定
ーー
Sub test02()
kw = Array("a", "b", "c", "d", "e")
j = 30
For i = 0 To UBound(kw)
MsgBox kw(i)
Range("a30:B40").Clear
Range("a1:B20").AutoFilter
Range("A2").CurrentRegion.AutoFilter field:=1, Criteria1:=kw(i)
Range("A2", Range("B20").End(xlUp)).SpecialCells(xlCellTypeVisible).Copy
ActiveSheet.Range("A30").PasteSpecial Paste:=xlPasteValues
r = Range("A30").CurrentRegion.Rows.Count
If r > 1 Then
Range("A30").CurrentRegion.Copy
Cells(j, "h").PasteSpecial
j = j + r
End If
Next i
End Sub
データ範囲や、作業セル範囲、結果を出すセル範囲など(時間がなくて)恣意的なので注意してください。
ーーー
結果 パターン色は消えている。
第30行以下
H列 I列
a12
a43
a1
b23
b55
e3
e4
e5
e6
ーーーー
フィルタ関係に拘ったが、私ならこんな複雑なロジックにしない。
kw = Array("a", "b", "c", "d", "e")
も本当はプログラムで出さないとならないのだが、今回は手作業で済ました。
No.1
- 回答日時:
》 AdvancedFilterでは全コピーになってしまいます
「全コピー」とはどういう意味ですか?
Aシートのデータを[コピー]した後で、Bシートに[値の貼り付け](Paste Special)をしたら如何かと。
この回答への補足
説明不足で申し訳ありません。
全コピーとは書式がコピーされてしまうという意味になります。
現在下記のようなプログラムを作成しています。
Workbooks(file_name).Worksheets(A_sheet).Range("A2:A20").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Workbooks(file_name).Worksheets(B_sheet).Range("A2"), Unique:=True
PasteSpecialはどの箇所に入力したらいいのでしょうか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルマクロ オートフィルターでで選択コピー 2 2022/04/18 11:05
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) 【部分一致した行を含む8行をシートにコピーする方法】 以下のような作業を行いたいのですが、どなたがコ 1 2022/08/30 16:24
- Visual Basic(VBA) シート間で同じ値があったら指定範囲をコピーして貼り付け 1 2022/11/07 08:01
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Visual Basic(VBA) 抽出結果を別シートに貼り付ける 2 2022/07/09 22:59
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの使い方を教えてください!
-
エクセルのセルで整数のみ選択...
-
エクセルで住所一覧から都道府...
-
パソコンで売上集計!!
-
エクセル集計ひと月を4週に分...
-
エクセルの一覧からカードを作...
-
エクセルで、条件をつけて人数...
-
エクセルでテキストからコピペ...
-
エクセルで従業員の満足度を%...
-
半角の引用符 “ ” の打ち方
-
フォルダ名を並び替えても必ず...
-
キーボードで英数字の半角と全...
-
半角英数で「¥」を入力したい...
-
シフトキーを押しての文字入力...
-
エクセルで空白を無視して一番...
-
・(中点)を半角で入力したい
-
「“」と「”」について
-
Yを逆さにした「スターデルタ結...
-
マウスの左ボタンでファイルを...
-
エクセルの挿入図形で文字が隠...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、条件をつけて人数...
-
エクセルのセルで整数のみ選択...
-
エクセルの一覧からカードを作...
-
エクセル 表の人数を計算したい...
-
エクセル集計ひと月を4週に分...
-
エクセルの範囲指定について
-
excel VBA コピーした行を、指...
-
エクセルで複数行に渡ったセル...
-
A3やB4のA,Bって何かの略ですか?
-
別シートへの転記の構文について
-
エクセルマクロでの消費税計算...
-
エクセルVBAで値だけをコピーペ...
-
エクセルで参加者一覧表から参...
-
AdvancedFilterを使って値のみ...
-
とびとびの大量セルを選択した...
-
エクセルで一次線形補間する方法
-
エクセルで住所一覧から都道府...
-
エクセルでテキストからコピペ...
-
VBAマクロを使って給料明細を作...
-
EXCELでコード別の数量・金額を...
おすすめ情報