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

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

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

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

マクロ

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

Q&A

解決済

2回答

1489閲覧

Excel マクロでデータを抽出し自動でシートを作成できますか?

mln

総合スコア8

VBA

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

マクロ

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

0グッド

0クリップ

投稿2018/03/15 07:36

初めての質問となります。よろしくお願いいたします。

マクロで自動化したいことが2つあります。
①AccountCodeが「070SUS」の物を抽出し、別シート「請求書」を作成したい
②AccountCodeが「070G01」の物を抽出し、別シート「支払伝票」を作成したい

まず①について説明します。

「070SUS」を抽出し、抽出したデータを「請求書」というシートの印刷範囲外にコピーし(マクロでここまでは自動化しました)
添付のsampleが現在使っている物になります。
イメージ説明

そこから請求書シートに手動でコピー&ペーストしていたのですが自動化したいと思っています。

問題なのが、コードは同一でも、請求先が異なるという点です。

シート名:Journal
添付の表に「070SUS」が3つありますが、3つとも請求先が異なっており
descriptionの頭の部分(スペースよりも前の部分)が得意先のコードとなっています。
(添付の表の場合、請求先(得意先)は 「STN」「TW」「MSB」の3社です。)
イメージ説明
「請求書」のシートは「請求先毎」に作成したいので
この月の場合、シートを3枚自動的に作成したいということになります。

シート名:請求書シート例
イメージ説明
・可能ならば請求書No.はJournalシートの伝票Noを元にし、-1, -2,のように枝番で採番し
シート名も請求書No.にしたい。
例:Journalシートの伝票No. ABC1802DE01の場合
070SUS STN Tail Ropeの請求書No. はABC1802DE01-1
070SUS TW a/cの請求書No. はABC1802DE01-2
070SUS MSB a/cの請求書No. はABC1802DE01-3となる。
・請求書シート内にJournalからdescriptionの4 or 5文字目以降(最初のスペース以降)と
amountを転記したい。

次に②についてですがJournalシートのA列(Account Code)が070G01の物は支払伝票というシートを作成し
摘要欄にJournal B列、D列の内容を転記したい。
イメージ説明
※見本のJournalでは070SUSが3つ、070G01が一つで順に並んでいるが
月により070SUSも、070G01もいくつ存在するかは変化するため順に並ばないこともあります。

このようなものの作成が、マクロで可能でしょうか。
ご教授いただけたら幸いです。
よろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

丸投げにしようと思って質問したわけではなかったのですが
不適切な質問だということがわかりました。
不快に感じられた多数の方にお詫びいたします。

投稿2018/03/16 00:40

mln

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

可能かどうか、と問われれば、人に説明できるルールがあるなら作れますよ。
ここは人に作らせる場所ではないので、ご自分で頑張ってくださいね。

投稿2018/03/15 07:51

ExcelVBAer

総合スコア1175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mln

2018/03/15 08:09

すみません。 説明できるルールというのがよくわからないのですが、 作れるというのはわかりました。ありがとうございます。 どのようなコマンドを使えば可能なのでしょうか。 そういったヒントを求めることもNGなのでしょうか。 作ってもらうつもりで書き込んだわけではないので、そのように受け取られたならば申し訳ありません。
ExcelVBAer

2018/03/15 08:18

極論でいえば、VBAの基本的なこと(主に以下)が分かっていれば、作れるでしょう。 IF文、For文(2種:For i = ・・・、For Each ・・・)、Bookオブジェクト、Sheetオブジェクト、Rangeオブジェクト 個人的には「ExcelVBAを実務で使い倒す技術」という本が初心者にオススメです。
mln

2018/03/15 14:14

ありがとうございます。 関数でIFはよく使いますがVBAではつかったことがありませんでした。 ForはFor~Nextしか使ったことがなく、For Eachは知りませんでした。 調べてみます。 オススメの本もありがとうございます。 探してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問