Excel - 選択範囲をコピー/ペーストするためのマクロ

問題

月ごとのデータの要約を1枚のシートに、生データを別のシートにまとめています。 毎月の生データ用に複数のワークシートを作成する代わりに、前月のデータを消去して新しいデータに置き換えます。 これを行うには、サマリーを作成した式を別の列にコピーし(新しい月の)、次に今月のサマリーデータの値をコピーして貼り付ける必要があります(ソースの生データが変更されても変更されません)。そこに値)。

 ABCD 1月2月3月4日1 5 6 7 

私の最終的な結果は次のようになります(つまり、A3:A6からコピーしてB3に貼り付けます。それから来月はB3:B6からコピーしてC3に貼り付けます)。

 ABCD 1月2月3月4日1 1 5 5 6 6 7 7 

JanとFebは現時点では同じです。コピーと貼り付けは新しい生データが置き換えられる前に行われるためです。

それが理にかなっていることを願っています。 私はVBの書き方についてはほとんど知識がありませんが、単純なものを読んで理解することはできます。 誰かが自動的にこれを行うマクロで私を手伝ってくれる?

溶液

このマクロはinputboxを使ってあなたが更新している月を尋ねます。 月を入力する代わりに数値を使用してください。 例:Jan. = 1、Feb. = 2、Mar. =3。1月を更新したくないと思うので、1がinputboxにタイプされていればマクロは終了します(12月から更新されない限り変更できます)。それ)。

お役に立てれば。

 Sub Update_Month()バリアントとしての薄暗い答えjj = 3 answer = InputBox( "どの月を更新していますか?"&vbCrLf&_ "例:1月= 1、2月= 2、3月= 3など)ケース1終了サブケース2 j = 3〜6の範囲( "B"&j)=範囲( "A"&j)次jケース3 j = 3〜6の範囲( "C"&j)=範囲( "B"&j)次のjケース4 j = 3から6までの範囲( "D"&j)=範囲( "C"&j)次のjケース5 j = 3から6までの範囲( "E"&j) )=範囲( "D"&j)次のjケース6 j = 3から6までの範囲( "F"&j)=範囲( "E"&j)次のjケース7 j = 3から6までの範囲( " G "&j)=範囲(" F "&j)次jケース8 j = 3〜6の場合範囲(" H "&j)=範囲(" G "&j)次jケース9 j = 3の場合6範囲( "I"&j)=範囲( "H"&j)次jケース10 j = 3の場合6範囲( "J"&j)=範囲( "I"&j)次の場合11 j = 3〜6の範囲(“ K”&j)=範囲(“ J”&j)次jケース12 j = 3〜6の範囲(“ L”&j)=範囲(“ K”&j)次へj終了選択終了サブ 

ご了承ください

フォーラムでこのヒントを提供してくれたWutUp WutUpに感謝]

前の記事 次の記事

トップのヒント