• 締切済み

マクロ・VBA初心者です。

マクロ・VBAについて下記のような処理を簡素化できるかどうかお伺いさせて頂きたいです。 Excelシート前提条件 定期的に3社から入金(同じタイミングで受けております)を受けており、その入金を管理しているシートとなります。 A列には第何回目の入金か、B列には入金日を、C,D,E列には3社ごとの入金額が他のシートからとんでくるようになっており、F列には3社からの入金額をsum(C○:E○)で計算しております。 ※A2には「第一回目」、A3には「第二回目」のように入力されています。 ※○には、最新回文の行番号が入力されています。 このような設定とはなっていますが、新たに入金を受けると、前回分の1つ下の行に、前回分の数式をコピペし、また前回分のは前回分の行に値貼り貼り付けをしなおし、数式ではなく手打ちの入力と同じ形にしております。 つまり、数式が入力されているのは最新回の行のみで、過年度分は全て値貼りされ直されている状況です。 説明がへたっぴでごめんなさい( i _ i ) 前提条件は上記のようになっておりますが、 (1)最新回の行に、1つ上の行の数式をコピペする (2)コピペ後、前回分の行に前回分のを値貼りしなおす この(1)、(2)の動作をマクロ・VBAでできますでしょうか。 マクロ・VBAは初心者であるためなかなかうまくいかずに困っております。 ご指導のほど、宜しくお願い致します。

みんなの回答

  • soixante
  • ベストアンサー率32% (401/1246)
回答No.1

できなくはないですけど、わざわざマクロ使ってやることですかね? おまけに数式をコピペする、って話ですけど、F列のところに、「=SUM(Cx:Ex)」があるだけですよね。 どこを自動化したいのでしょうか。 C,D,E列には何が入っているのですか? (どう飛んでくるのですか)

関連するQ&A

  • Excelマクロで質問です。

    Excelマクロで質問です。 Sheet1にデータが入力されていて(ここでは100行入力されているとします)、 Sheet2のA2からE2に数式が入力されています。 ↓ この数式をSheet1のA列に入力されているデータ行数分プラス1(ここでは100+1) Sheet2のA3以降(A3からA103)にコピペするマクロを教えていただけないでしょうか。 100は、毎回変化します。

  • エクセルVBA初心者です。マクロを組んでください。

    エクセルVBA初心者です。組んで欲しいマクロがあります。 Sheet 1に13桁を入力するセル sheet 2に検索したいデータ 手順としては、 Sheet 1のセルにデータを入力 →13桁以上でマクロが開始(されるように設定します) →Sheet 1のセルと同じ数列をSheet 2の列Aから検索 →該当のセルを含む行をSheet 3にコピー →Sheet 1の入力セルの少し下にもコピー (確認用) というのを一回一回ずつやりたいです。 できれば作業中マウスやキーボードを触りたくないので、そのために、マクロの終わわりには入力セル内の消去、マクロの始まりには確認用でコピーした行の削除もつけて下さい。 検索するSheet 2には同じデータが含まれているので、出来ればひとつずつSheet 3にコピーしたいので組み込んで頂けると幸いです。 よろしくお願いいたします。

  • 【Excel VBA】ThisWorkbook モジュールのマクロ

    Excel2003を使用しています。 39枚のシートから成るBook1のThisWorkbook モジュールに、C列に“○月計”と入力されたら、その行のE列、F列、G列へ数式を入力するコードを書いています。 現在は、それぞれのシート(39枚のシートのうち3枚を除く36枚)のC列最終行から2行下のセルへ“○月計”と手入力していますが、マクロで“○月計”と入力されるようにすれば、ThisWorkbook モジュールに書いているコードも実行されて、数式の入力までマクロで処理できるのかな?と思い、試しに、36枚それぞれシートのC列最終行から2行下のセルへ“○月計”と入力されるようコードを書いてみました。 …が、そうではないのか、それぞれのシートのC列最終行から2行下のセルへ“○月計”と入力されるものの、E列、F列、G列へ数式は入力されません。 せっかくなので、できることなら数式の入力までマクロで処理したいのですが、どのようにしたらThisWorkbook モジュールに書いているコードまで実行されるのでしょうか? よろしくお願いします。

  • 転記 マクロ VBA

    VBA初心者です。今シートが2つあり、一つは「明細」シート、もう一つは「入力」シートです。明細シートは3万行程あり、列はA~Sまであります。入力シートも全く同じ列並びでA~Sまであります。共にA列が伝票No.という項目になっており、今このA列にどんどん伝票No.を入力していき、最後に転記ボタンを押して残りのB~S列を明細シートから一発転記できるマクロができないかと考えております。どなたか詳しい方教えて頂けないでしょうか。宜しくお願い致します。

  • エクセルVBAのコードの書き方を教えてください

    エクセルVBAの初心者です。 下記①-⑲のようなコードを書きたいのですが、どなたかお分かりになる方がいましたら、 ご教示いただけますと幸いです。 ① オートフィルターでシート[list]のA列に"●"がある特定の行だけを以下作業の対象にしたい ② ①で特定した行のE列セルの値を、シート[output]のB9セルにコピペする ③ ①で特定した行のF列セルの値を、シート[output]のB12セルにコピペする ④ ①で特定した行のG列セルの値を、シート[output]のB15セルにコピペする ⑤ ①で特定した行のH列セルの値を、シート[output]のB18セルにコピペする ⑥ ①で特定した行のI列セルの値を、シート[output]のB21セルにコピペする ⑦ ①で特定した行のJ列セルの値を、シート[output]のB24セルにコピペする ⑧ ①で特定した行のK列セルの値を、シート[output]のB27セルにコピペする ⑨ ①で特定した行のL列セルの値を、シート[output]のB30セルにコピペする ⑩ ①で特定した行のM列セルの値を、シート[output]のB33セルにコピペする ⑪ ①で特定した行のN列セルの値を、シート[output]のB36セルにコピペする ⑫ ①で特定した行のO列セルの値を、シート[output]のB39セルにコピペする ⑬ ①で特定した行のP列セルの値を、シート[output]のB42セルにコピペする ⑭ ①で特定した行のQ列セルの値を、シート[output]のB45セルにコピペする ⑮ ①で特定した行のR列セルの値を、シート[output]のB48セルにコピペする ⑯ ①で特定した行のS列セルの値を、シート[output]のB51セルにコピペする ⑰ ①で特定した行のT列セルの値を、シート[output]のB54セルにコピペする ⑱ ①で特定した行のU列セルの値を、シート[output]のB57セルにコピペする ⑲ シート[output]のB3:B59をテキストファイルを呼び出してコピペする ※このとき、上記②-⑱で記述したB9からB57のセルには改行が含まれる場合が  あるため、テキストファイルへのペースト時に""が表示されてしまうが、  もし可能であれば、この""が表示されないようにしたい。

  • VBA(マクロ)について

    エクセルのマクロを使って下記のように実行を考えています。 A列のコード番号が一定ではないため、処理に困っています。 どなたかアドバイス頂けないでしょうか。 詳細についてです。A列にコード番号があり、B列に数値があります。 例えば、A列の1~3行目まで100とあり、4~5行目まで400と1~3行目と4~5行目の数値はおなじです。3行分だったり2行分だったりと不規則に下に続いていきます。 そのA列の同じコード番号全てに対して、B列の値を合計してC列に合計値を入力したいのです。 C列の合計値入力箇所は、A列の1~3行目までだとするとC列1行目に合計値がくるようにしたいのです。 ちなみに行数は10万桁ほどあります。

  • VBA マクロの作り方で迷ってます

    EXCEL2000でVBAマクロ作成しています。 10枚のシートを作成するについて 同じ結果がでる次の方法で迷っています。 10枚は10人の個人別データが入っています。 10枚のデータは前回入力したデータのうち 変化のないものはそのまま使用します。 1)最初の一枚目のシートのセルに公式を埋め込みます。 2枚目以降のシートにも順次公式を埋め込んで行きます。少し面倒ですが、各シートを表示したとき即座に値が表示され肩が懲りません。(手入力もしくはマクロでつくる) 2)最初の一枚のシートにマクロで部品化したサブルーチンをつくり2枚目以降はCallステートメントで呼び出すマクロを作る。 上の2つの方法は結果が同じだと思いますが、処理速度や容量の点でどちらでつくるべきか迷ってます。教えてください。 違うカテゴリで質問してしまいました。すいません。

  • Excelのマクロで別のシートに追加する方法

    入力するためのシート1からデータをためるためのシート2に入力するものをマクロのボタンでできるようにしたいのですがどのようにマクロのVBA打てばいいのか分からないので教えて下さい。 したいことは、データ4列でシート1の1行目は項目の行にして、 2行目にデータを入力する。 入力したデータを切り取って、シート2の2行目に張り付けて 次のデータをシート1の2行目に入力して 同じように切り取って次は3行目、4行目…というマクロ作りたいんです。 どなたかお願いします

  • EXCEL マクロ・VBA 自動で連番を振る

    EXCELのマクロ・VBAについて質問です。 例えば、B列にデータを入力すると、入力した行まで自動的にA列に連番が入力されるようにしたいのですが、どういった方法があるでしょうか。 マクロやVBAについてはこれから勉強をしようと思っている素人ですので、コードとその解説をいただけると助かります。

  • VLOOKUP関数と同じことをVBAでおこなうには

     初めまして、当方VBAの素人です。よろしくお願いします。  同じような質問で、このようなVBAを見つけました。 Sub Macro1() For n = 2 To 5 '処理するSheet2の行数範囲 a = Sheets("Sheet2").Cells(n, 1) 'aにA列の値を代入 For m = 2 To 5 '検索するSheet1の行数範囲 If Sheets("Sheet1").Cells(m, 1) = a Then 'Sheet2のA列の値とSheet1のA列が一致した場合 v = Sheets("Sheet1").Cells(m, 2) 'vにB列の値を代入 Sheets("Sheet2").Cells(n, 2).Value = v 'Sheet2のB列に値を入力 Exit For '値が見つかったのでForを終了 End If Next Next End Sub このVBAではSheet2での検索、入力が列になるのですが、列でなく、行でできないでしょうか。できればSheet1のB列の値をSheet2の1行で検索、Sheet2の2行に入力されるだけではなく、Sheet1のC列の値をSheet3の1行で検索、Sheet3の2行に入力されるようにしたいと思います。  解る方、よろしくお願いします。

専門家に質問してみよう