
No.1ベストアンサー
- 回答日時:
こんにちは
マクロの記録で作成した一例です。コメントを読んで、適当にアレンジして下さい。
Option Explicit
Sub SampleMacro1()
'
' SampleMacro1 Macro
' マクロ記録日 : 2009/3/13
'
'フィルター部分
Selection.AutoFilter Field:=1, Criteria1:="=ほげほげ", Operator:=xlAnd
'可視セルの選択
Selection.SpecialCells(xlCellTypeVisible).Select
'選択範囲のコピー
Selection.Copy
'コピー先のシート&セル選択
Sheets("Sheet2").Select
Range("A1").Select
'ペースト
ActiveSheet.Paste
'コピー元シートに戻りコピー状態解除
Sheets("Sheet1").Select
Application.CutCopyMode = False
Range("A1").Select
End Sub
外してたら、ごめんなさい
この回答への補足
Sub 顧客抽出コピペ()
Sheets("売上帳").Select
Range("B6").AutoFilter Field:=2, Criteria1:=Range("F2").Value
Range("B7:B1000").Select
Selection.Copy
Sheets("個別売上帳").Select
Range("B7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets("売上帳").Select
Range("E7:J1000").Select
Selection.Copy
Sheets("個別売上帳").Select
Range("C7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
という風に作ってみたのですが、2行目の『Range("B6")』
の部分はどういう意味なのでしょうか?
B6でなくてもB7とかB8とかでも同じように動くのですが?
あと、上記のコードは今のところエラーなどは出ていないのですが、
何か問題が出そうな箇所はあるでしょうか?
ちょっと心配なのは、
『Selection.SpecialCells(xlCellTypeVisible).Select』
というコードを使っていないので、いらないところまで含まれて
コピーされることがあるのでしょうか?
No.4
- 回答日時:
こんにちは
#1です。質問者さんの意図するところとは、やはり外していたようです。
該当範囲を選択した後にマクロ記録で出来たプログラムでした。
>という風に作ってみたのですが、2行目の『Range("B6")』
>の部分はどういう意味なのでしょうか?
>B6でなくてもB7とかB8とかでも同じように動くのですが?
肝心のシートを見ていないので、完全に想像ですが B6 セルは、項目セルなのではないですか?
普通、フィルターをかけるときはデータの上ではなく項目セルに掛けますよね。
従って、B7、B8セルは、データセルだと思いますので、同じように動いているように見えても「対象データが減っている」状態ですから抽出漏れが発生することが考えられます。
>『Selection.SpecialCells(xlCellTypeVisible).Select』
>というコードを使っていないので、いらないところまで含まれて
>コピーされることがあるのでしょうか?
このコードだけでは、そのようにはなりません。例えば、以下のようにしても B1000 までセレクトされていることが分かると思います。
※Selection.Address に選択されたセルアドレスが入っています。
Range("B6").AutoFilter Field:=2, Criteria1:=Range("F2").Value
Range("B7:B1000").Select
Selection.SpecialCells(xlCellTypeVisible).Select
MsgBox Selection.Address
下記のようにするとB6セルに隣接しているデータのあるセル全体を選択するので未使用のセルを選択しません。
Range("B6").CurrentRegion.Select
Selection.AutoFilter Field:=2, Criteria1:=Range("F2").Value
Selection.SpecialCells(xlCellTypeVisible).Select
MsgBox Selection.Address
しかし、質問者さんは、部分部分を分けてコピーして合体したいと思ってるようですので、そのままでは使えないですね m(__;m
外していたようで、ごめんなさい。
No.3
- 回答日時:
シート1のセルA2からA10に「あ」から「お」のデータが入っているとします。
(セルA1は見出し)フィルターで「あ」を抽出し、表示されている行をシート2のセルA1へ貼り付けます。
With Worksheets("Sheet1")
With .Range("A1:A10")
.AutoFilter Field:=1, Criteria1:="あ"
.Copy Worksheets("Sheet2").Range("A1")
End With
.AutoFilterMode = False
End With
No.2
- 回答日時:
先ほどの続きですね。
フィルター結果をSheet2のC3から値のみ貼り付ける場合
'------------------------------
Sub 顧客抽出()
Range("B4").AutoFilter Field:=2, Criteria1:=Range("F2").Value
'Sheet2のC3から貼り付け
Range("A4").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Sheets("Sheet2").Range("C3").PasteSpecial xlValues
'コピーモード解除
Application.CutCopyMode = False
End Sub
'------------------------------------
ただ先の質問も今回の質問もマクロ記録をとってみればそこに解答が。。(^^;;;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでフィルタ後、考えている場所に値コピーができない。 1 2022/05/02 21:01
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数のセルを一括で...
-
エクセルでセルを10個分くらい...
-
エクセル2007で総当り表を作り...
-
WEB上の文章 ⇒ EXCEL...
-
お肉の下のシートを煮込んでし...
-
A1セルに入力したら、入力時間...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
Excelで同じセルに箇条書きをし...
-
複数の文字列のいずれかが含ま...
-
IF関数で0より大きい数値が入力...
-
Excelで来月以降の日付のセルを...
-
ある倍数だけを塗りつぶす方法 ...
-
入力したところまでを自動的に...
-
=SUBTOTAL に =COUNTIF の機能...
-
エクセルVBAで条件付書式の色を...
-
【マクロ】開いているブックの...
-
エクセルで公平にチーム分けす...
-
エクセルで1列に500行並んだデ...
-
空白でないセルの値を返す方法...
-
Excelで社歴管理をしており4年...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数のセルを一括で...
-
エクセルでセルを10個分くらい...
-
エクセル空白以外の文字を抽出
-
ワードの表のセル 網掛けのコピー
-
エクセルVBAでフィルタ抽出...
-
Word97のファイルをEx...
-
Excel セルの値を数値と認識しない
-
EXCEL VBA 複数セルのコピー
-
複数の離れた選択範囲をコピー...
-
Excel2007の仕様?
-
エクセルがわからない><;
-
エクセルで合計を・・・
-
WEB上の文章 ⇒ EXCEL...
-
Excelで指定した範囲の数値の減算
-
excel 複数のセル範囲を指定し...
-
エクセルのコピー
-
Wordの表をExcelに張り付け
-
エクセルVBA
-
エクセルについて 式が入ってい...
-
セル内で同じ動作をさせたいです。
おすすめ情報