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
'------------------------------------
ただ先の質問も今回の質問もマクロ記録をとってみればそこに解答が。。(^^;;;
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』
というコードを使っていないので、いらないところまで含まれて
コピーされることがあるのでしょうか?
お探しの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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
別シートの最終行に貼り付けするマクロを教えてください。 シートYのE3からE15までをコピー シート
Excel(エクセル)
-
-
4
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
5
エクセルVBA 作業後に選択範囲を解除する方法
Excel(エクセル)
-
6
同じ作業を複数のシートに実行させるにはどうしたらいいのでしょうか
Visual Basic(VBA)
-
7
EXCELのVBAでRange(A1:C4")を変数にする方法を教え"
Visual Basic(VBA)
-
8
EXCELのVBA-フィルタ抽出後のセル選択方法
Visual Basic(VBA)
-
9
Excel VBA、 別ブックの最終行セルへのコピー&値ペースト
Visual Basic(VBA)
-
10
複数指定セルの可視セルのみを別シートに転記するVBAについて
Visual Basic(VBA)
-
11
エクセルVBAのエディターが上書きモード?に・・・・。
Excel(エクセル)
-
12
VBA マクロ実行時エラー’1004RangeクラスのPasteSpecialメソッドが失敗
Access(アクセス)
-
13
エクセル マクロ オートフィルの終点の指定について
Excel(エクセル)
-
14
複数のブックからデータを転記するマクロについて
Visual Basic(VBA)
-
15
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
16
VBA オートフィルタで抽出したものを連続貼り付け
その他(Microsoft Office)
-
17
wordで変なスペースがあいてしまいます
Word(ワード)
-
18
エクセルで、抽出したデータだけを別ファイルにしたい
Excel(エクセル)
-
19
Excel VBA オートフィルタの結果をコピーして貼り付けたい(空白行も含める)
Visual Basic(VBA)
-
20
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数のセルを一括で...
-
エクセルでセルを10個分くらい...
-
エクセル空白以外の文字を抽出
-
ワードの表のセル 網掛けのコピー
-
指定した範囲から、文字A、文字...
-
セルの書式設定(選択範囲内で中...
-
VBA コピーモード中の左上隅セ...
-
行数が不規則な一週間ごとの合...
-
A1セルに入力したら、入力時間...
-
お肉の下のシートを煮込んでし...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
Excelの入力規則で2列表示したい
-
参照先セルに値が入っていない...
-
IF関数で0より大きい数値が入力...
-
EXCELで、結合されたセルに連続...
-
Excelでセルに入力されたカラー...
-
Excelで同じセルに箇条書きをし...
-
Excel 離れたセルへの連続デー...
-
エクセルで特定の範囲内から小...
-
セルを結合したA4とA5の条件付...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数のセルを一括で...
-
エクセルでセルを10個分くらい...
-
エクセル空白以外の文字を抽出
-
エクセルVBAでフィルタ抽出...
-
ワードの表のセル 網掛けのコピー
-
Excel セルの値を数値と認識しない
-
マクロ 複数セルコピー後、1つ...
-
波線は無理??
-
文字だけ削除する関数ありますか?
-
WEB上の文章 ⇒ EXCEL...
-
Excelで指定した範囲の数値の減算
-
Excel VBA
-
VBA コピーモード中の左上隅セ...
-
エクセルで、表内の同じデータ...
-
エクセル もしくは、ワードでき...
-
ExcelのVBA セル内の文字書き換...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
A1セルに入力したら、入力時間...
-
複数の文字列のいずれかが含ま...
-
Excelで同じセルに箇条書きをし...
おすすめ情報