下のコードを使用してオートフィルタからA列を抽出し指定して別シートに貼り付けることが出来ましたが
空白の欄が指定していないシートに張り付いてしまいます。
どこを直していいのかわかりませんので、ご教授お願いいたします
Dim m1 As String
Dim arry As Variant
Dim a2 As Long
m1 = "メ1,メ2,メ3,メ4,メ5,メ6,メ7,メ8"
arry = Split(m1, ",")
Worksheets("発注書リスト").Activate
If ActiveSheet.AutoFilterMode = False Then
Range("A1:A11").AutoFilter
End If
For a2 = 1 To 9
Worksheets("発注書リスト").Activate
ActiveSheet.Range("$A$2:$A$11").AutoFilter Field:=1, Criteria1:=arry(a2 - 1)
Range("B2:B11").Copy
Worksheets(arry(a2 - 1)).Activate
Range("A11").PasteSpecial Paste:=xlPasteValues
Next
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんばんは
なんだかフィルターの範囲が微妙にずれていたりするけれど、それは問題ないのでしょうか?
また、シート名の要素数と実行時のループの数もあっていなかったりするようですが・・?
>空白の欄が指定していないシートに張り付いてしまいます。
配列で指定していないシート名のシートに張り付いてしまうということでしょうか?
ざっと見る限りでは、「指定していないシート」に張り付くことは無いと思いますけれど?
もしかすると、そちらのシートには、「配列に指定のあるシート」に連動して値が変わるような関数式が設定されているか、あるいはマクロで連動するような設定になっていたりしませんか?
実際のところがよくわかりませんけれど、指定したシートが空白になるのなら、フィルターをかけた結果が空白セルを含んでいて(あるいは空白セルのみで)、それをコピペしているだけなのではありませんか?
>どこを直していいのかわかりませんので、ご教授お願いいたします
何をどうしたいのかが正確にわからないと、どうすれば良いのかはなんとも言えません。
一方で、なさりたいことは質問者様ご自身ではわかっているのでしょうから、それを手操作で行って「マクロの記録」にとってみて、その結果を参考にしてみるとか・・
こんばんは
回答ありがとうございます。
すみません。要素数と実行時のループのところは具体的な会社名を伏せようとして間違えて多く削除してしまいました。質問していながら誤字のチェックをしていませんでした。
確かに、vlookupを使用しているところがあります。
明日、削除して確かめてみます。また、マクロの記録の結果も確かめてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Excel(エクセル) Rangeメソッドは失敗しました。globalオブジェクトについて 6 2021/11/21 21:54
- Visual Basic(VBA) 転記先VBA 一致しているセルがコピーされない 5 2021/11/15 17:23
- Visual Basic(VBA) 空のシートに関数を入れたい 2 2021/12/03 15:08
- Visual Basic(VBA) EXCLE VBA シートクリックしたら該当シートコピー 1 2021/11/11 16:37
- Excel(エクセル) マクロを修正できないものか、統合シートについて 3 2021/12/07 09:26
- Visual Basic(VBA) Excel VBAでフォルダ内の全テキストファイルの任意データを取得について 7 2021/12/18 16:00
- Visual Basic(VBA) VBA countif について 3 2021/12/16 20:13
- Visual Basic(VBA) 超難 日付に対するクロス集計 7 2021/12/06 20:56
- Visual Basic(VBA) シート名でファイル検索する 2 2021/11/30 17:05
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サブフォルダに格納されている...
-
IF文、条件分岐の整理方法
-
VBAコードのインデント表示
-
A列に記載されているフォルダ...
-
VB.net(VB)で、フォームにExcel...
-
VBAなくなるの?
-
【ExcelVBA】インデックスが有...
-
vba アクティブシートの名前変...
-
vba 削除
-
エクセルのマクロについて教え...
-
エクセルVBAにて =A1=B1とすれ...
-
VBA 別ブックから条件に合うも...
-
時間短縮のために、テキストフ...
-
ワードVBA どの表か知ることは...
-
エクセルのマクロについて教え...
-
エクセルのVBAコードについて教...
-
VBA指定行削除
-
VBAで大量のファイルをシート名...
-
VBA 別ブックからコピペしたい...
-
配列のペースト出力結果の書式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAなくなるの?
-
VBAでCOPYを繰り返すと、処理が...
-
vba 削除
-
プログラミング
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
エクセルのVBAコードについて教...
-
久しぶりのプログラミング
-
ユーザーフォームに別シートか...
-
エクセルVBAコードで教えて下さ...
-
VBA 別ブックからコピペしたい...
-
ExcelのVBAコードについて教え...
-
VBAコードについて教えてくださ...
-
vba アクティブシートの名前変...
-
Excelのマクロについて教えてく...
-
エクセルVBA
-
Geogebraの操作方法について
-
マクロの記録を使用したマクロ...
-
Excel(M365) Vlookup/セル反転(...
-
Excel 範囲指定スクショについ...
おすすめ情報