質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

解決済

エクセルVBA:特定の列だけ抽出して別ブックに転記したい

tsunana
tsunana

総合スコア18

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

4回答

0リアクション

0クリップ

34306閲覧

投稿2019/02/26 08:56

前提・実現したいこと

現在は条件が合った行すべてが出力されています。
↓それを
条件が合った内容の行を、さらに指定した列のみ(K,Q)だけを出力して別ブックに転記したい。

該当のソースコード

※個人的なパスやファイル名は伏せています。 Sub 抽出ボタン() ' 不要なダイアログ出力を抑制 Application.DisplayAlerts = False ' 画面の更新処理を停止 Application.ScreenUpdating = False 'ブックのパスを設定 Dim filePath As String filePath = "C:\○○○\Desktop\test1.xlsx" 'ブック作成 With Workbooks.Add ' 既存ブックから新規ブックへコピーするシートを指定する ' シート名もコピー元のシート名になる ' Field=左から数えた列 Criteria1:=抽出条件の指定 ThisWorkbook.Sheets(Array("マスタA")).Copy Before:=.Sheets(1) Range("A1").AutoFilter Field:=17, Criteria1:=">10" ' 新規作成したブックを保存する(※拡張子によってFileFormatが違う) .SaveAs fileName:=filePath, FileFormat:=Excel.XlFileFormat.xlOpenXMLWorkbook ' 新規作成したファイルを閉じる .Close End With End Sub

試したこと

ThisWorkbook.Sheets(Array("マスタA")).Copy Before:=.Sheets(1) Range("A1").AutoFilter Field:=17, Criteria1:=">10"

この行で「Criteria1:=">10"」(数値が10以上)の条件が合った行を抽出して、別ブックに転記される記述にしました。

このあと実現したいことに記載したように、さらに特定した列だけにしぼって出力したいのですが手が詰まってしまいました。

補足情報(FW/ツールのバージョンなど)

まだ手探り状態ですので、たくさんコメントアウトの記述がありますが気にしないでください。。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。