エクセルの自動処理をしてくれるマクロ

このQ&Aのポイント
  • エクセルのマクロを使って、年月の入力やデータのコピー・ペースト、消去などの処理を一括で行う方法を教えてください。
  • 具体的な処理内容は、年月を入力すると該当するシートにデータをペーストし、元のデータを消して、設定シートに月の数を表示し、売上表を保存するというものです。
  • マクロを使ってこれらの処理を自動化することで、煩雑な作業を省力化し、効率的に作業を進めることができます。
回答を見る
  • ベストアンサー

エクセルの自動処理をしてくれるマクロ

エクセルの自動処理をしてくれるマクロ ボタンを押す事で、以下の処理を一括で行ってくれるマクロが欲しいですが、どういったコマンド文を書けばいいでしょうか。 ■環境 "1月"~"12月"、"入力"、"設定"の合計14のシートがあります。 "入力"シートのB4~D503にデータが入力されています。 ■処理内容 (1)「年月を入力して下さい。」という質問文章と、年月入力欄が表示される。(年=yyyy、月=mmで入力、年は前回入力した数値がデフォルトで入っているとベスト。入力する事で(2)へ進む) (2)"入力"シートのB4~D503の内容を(1)で入力した月のシートのB4~D503にペーストする。((1)で2010年1月と入力したら"1月"のシートにペーストする。) (3)"入力"シートのB4~D503の内容を消す。(枠線は消さずに、文字のみ消す。) (4)"設定"シートのD2に月の数を出力する。 (5)保存する。(ファイル名は"売上表_yyyymm yyyymmは1で入力した年月。保存先はC:\Documents and Settings\suzuki\デスクトップ\売上集計表) 分かる方いましたら、お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

ANo1の方がおっしゃるのが正論だと思いますが、まあこの程度の数分で書ける簡単なコードならサンプルとして無料でご提供しましょうか(笑) > (4)"設定"シートのD2に月の数を出力する。 この意味がよくわかりませんでしたので、そkにYYYYMMを入れときます。(それを次回のデフォルトで表示します。) > 保存先はC:\Documents and Settings\suzuki\デスクトップ\売上集計表 「売上集計表」というのはこのBOOKのファイル名ですね? > "1月"~"12月 シート名の月数は半角だという前提で書きました。 Sub test01()   Dim df As String   Dim ans   Dim myMM As Long   df = Sheets("設定").Range("D2").Value   ans = Application.InputBox("年月を入力して下さい。" _   & vbNewLine & "例)2011年1月⇒201101", "YYYYMM形式で", df, Type:=1)   If ans = False Then     MsgBox "キャンセルしました。"     Exit Sub   End If   myMM = Val(Right(ans, 2))   Sheets(myMM & "月").Range("B4:D503").Value = Sheets("入力").Range("B4:D503").Value   Sheets("入力").Range("B4:D503").ClearContents   Sheets("設定").Range("D2").Value = ans   ThisWorkbook.SaveAs Filename:= _     "C:\Documents and Settings\suzuki\デスクトップ\売上集計表.xls"     MsgBox "保存完了しました。", , "( ̄ー ̄)v" End Sub

その他の回答 (1)

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.1

こんばんは >どういったコマンド文を書けばいいでしょうか ご質問の文面から、「おおまか」なことは分かります。 しかし、コマンド文をとなると、もっと細かなことを知る必要があります。 「処理内容」の内容を、rutohamuni さんが実際にプログラムにした上で「ここが分からない」という部分を質問してください。 業者に委託すれば、10万円~100万円(具体的な内容にもよります)の内容になりそうです。一方で、必要な「断片」の知識はインターネットを使えば無料で得られます。このサイトでも「断片」であれば実際のコード付での例は得られます。 時間と手間をかければこれらの「断片」を集めて1つのプログラムにすることが出来ます。その時間と手間をかけてrutohamuni さんがご自身でプログラムするか、時間や手間を省くためにお金を出して誰かに依頼するかどちらかだと思います。

関連するQ&A

  • Excelマクロ作成について教えて下さい

    Excelマクロ初心者のMJです。 Excel2007で、A列に製品名、B列から年月(YYYYMM)毎に2年分の販売数量が入力された表があり、この表の1行目の特定年月を指定して、その年月から12カ月分の全製品データを別シートにコピーをする方法を教えて下さい。 宜しくお願い致します。

  • エクセルのマクロで

    下記のような表において(行数は500ほど) 別シートに 担当者名「 」検索 、 処理年月「  」検索 というアイコンを作成し、 たとえば 処理年月「2007/06」検索 と入力し、アイコンをクリックすると 2007/06のデータ抽出されてが別シート(またはアイコンの下)に作成されるといったしくみをつくりたいと思っています。 A列 番号 (例;A-001,B-002) B列 タイトル C列 担当 D列 処理年月 マクロについては初心者に近いので、上記のようなしくみをやさしく紹介しているサイトがありましたら、お教えください。 よろしくお願いいたします。

  • EXCELマクロの処理速度

    いつもお世話になっております。 EXCELのマクロで、シートAのデータから条件に合致する値を検索してシートBにデータを自動で入力させています。 シートA、Bは同じブック内のシートです。 シートAはVisible = FALSEで隠したままで、シートBを隠した状態と表示した状態でマクロの処理速度に違いがある(具体的な時間は計測していませんが体感できるほどの差がある)のですがこのような処理速度の違いは起こるものなのでしょうか。 私が作成したマクロではシートBが表示されている方が処理速度が速いです。 もし、シートBを表示した方が速くなることが理論的に説明できるのなら、表示させて処理速度を少しでも速くしたいと思っています。 よろしくお願いします。

  • エクセル・マクロで請求と売上の連結

    excel2003で、請求書作成ファイルで作成した請求内容を売上台帳ファイルに 転記するマクロを作りました。 請求書作成ファイルのマクロで売上台帳ファイルを開き、転記すことはできたのですが、 売上台帳は、4~3月の月分シートを作っていて、 例えば5月分の請求内容を5月分シートに転記するのですが、 前処理として、予め、売上台帳ファイルの5月分シートを開いて保存してないと、 5月分のシートに転記しません。 これを、請求書作成ファイルのマクロ上で、 簡単に売上台帳ファイルの該当の月分シートを開いて転記することは可能でしょうか。 ちなみに転記する内容は、日付、請求先、請求金額です。

  • エクセルマクロを教えてください

    エクセル2003を使用しています。ブックに1シートあります。シート名は「C3」セルに入力してある日付にしますが、シート上の表示形式は「平成20年1月」となっているところをシート名は「08-01」にします。その後シートを11枚コピーし、それぞれのシートの「C3」セルに年月を入力し、シート名を「08-02」「08-03」・・・「08-12」としたいのですが、うまくいきません。 マクロに詳しい方のご指導をお願いいたします。

  • EXCELのマクロでデータをクリアしたい

    仕事でエクセルのマクロを使ってリストを作る作業があるのですが、行き詰まりました。どなたか助けて下さい。お願いします。 表を作るのには二つのマクロを使っています。 【一つめのマクロ】 1.定形のウェブページからテキストをコピーする    内容は商品名や商品番号や数量です 2.エクセルの一番左上に貼り付ける 3.するとマクロが働いて貼り付けたデータはseet1に保存されて自動的に新しいシートが用意される 4.新しいシートに別のデータで1.2.を繰り返す この作業は9回まで繰り返し、一旦エクセルを閉じます。 次に再びエクセルで 【二つ目のマクロ】を立ち上げ、現れた『リスト作成』ボタンを押すと自動的に完成の表が作られます。 最初はこの方法で快調だったのですが、行き詰まりました。 ・行き詰まりその1 一つめのマクロで九つまでコピーペーストするのをくり返して、二つ目のマクロを使うと今までのデータをすべて反映して表が作られてしまいます。うまく説明できないのですが、例えば 月曜にコピーペーストして表完成。 火曜に別のデータでコピーペーストして表を完成させると、必要ない月曜のデータも含めて表が出来てしまう。 これが一つめの困りです。 ・行き詰まりその2 二つ目の困りは、ある日別の社員が一つめのマクロを使ってコピーペーストしていたところ、誤って9つ以上シートを作ってしまったらしく、作りすぎたシートを削除しました。 そうしたらフリーズしたので、再起動してやり直ししたら、そのマクロのファイルを開くたびに、上記の失敗が現れてそれ以上のデータが作ることができなくなりました。(2つめのマクロを動かすと失敗データが上書きされるのみです) 快調な時は表が完成すると、一つめのマクロでは何のデータも残りませんでした。 このような稚拙な説明しか出来ないのですが、どなたかご教授下さい

  • マクロについて教えてください

    マクロ初心者です。 1日の各人の売り上げ数をシート1に入力しており、マクロのボタンを押すと シート2の同じ日の所に売り上げ数を飛ばそうと作っているんですが どうしてもうまくいきません。 シート1     5/25←日付     名前    売上個数     A君      59個     B君      60個     C君      67個 シート2             名前         A君  B君  C君   5月   25 水  59   60    67   ←25日の所にシート1の日付をみて、同じ日付の所に   26 木                  売上個数を飛ばしたい   27 金    どういうマクロを組んだらいいか教えてください。 よろしくお願いします。

  • エクセルのマクロを知りたい

    エクセルで,たくさんのデータが入力された【シートa】があります。 新しく【シートb】を作成して,そこに空白の表(1)~(10)までを作成します。 (ちなみに表(1)は1行から始まり100行まで,表(2)は101行から始まり200行まで・・・・といった感じです) 【シートb】の表(1)には,【シートa】でA列に「1」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。同様に,表(2)には,【シートa】でA列に「2」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。・・・というのを表(10)まで続けます。 上記のような命令をボタン一つで操作できるようなマクロを教えて欲しいのです。 お願いします。

  • Excelマクロで教えて下さい。

    Excelマクロで教えて下さい。 シート1に下記のような表がありまして その表の有休・公休取得者の名前を日にち別に シート2にまとめたいのですがマクロを教えて下さい。 ・日にちは3ヶ月並びます。 ・人数は50人います。 ・休みの種類は5種類あります。 ・有:有休 公:公休 出:出勤(本来は空欄です)  表の入力が難くわかり難いですが宜しく御願い致します。 シート1 名前 3/1 3/2 3/3 3/4 3/5 A氏 出 有 有 出 出 B氏 有 有 出 公 出 C氏 出 出 有 有 出 D氏 出 有 出 出 有 E氏 有 出 出 有 公 シート2 有休 3/1 B氏 E氏 3/2 A氏 B氏 D氏 3/3 A氏 C氏 3/4 C氏 E氏 3/5 D氏 公休 3/1 3/2 3/3 3/4 B氏 3/5 E氏

  • エクセル2000(マクロ)を使っていくつかの処理を一度にしたい・・・

    A列に下記の例のようなデータがあり、件数は毎日変わります。 マクロに登録したいのは (1)B列にはA列の最終行まで、(例えば)1、2と繰り返し入力させたい (2)B列に2のデータが入っているものだけを抽出し、抽出したA列のデータだけをコピーし、別のシートに貼り付けたい というところまでを一つのマクロで処理させたいのですが、うまくいきません。 A列のデータ数は必ず偶数で、数字のみで出てきています。貼付け先は日々のデータを月ごとに表にしていくため、毎日変わります。 ※土日祝日分はデータがでてきませんが、項目には記載がありますので、土日祝日は飛ばさなければいけないようになっています。 別シートは行の項目が日付で、列に抽出したデータを入れるようなレイアウトになっています。 A列   B列 1    1 1    2 2    1 0    2 10    1 2    2 13    1 2    2 ちなみに私が取得するデータはA列のデータだけなので、B列に入れるデータは1、2でなくてもなんでも大丈夫です。また処理や他にいい考え方等があれば教えてください。 宜しくお願いします。

専門家に質問してみよう