- ベストアンサー
Excelで・・・
Excel初心者です。 まず一つのシート(以下甲シート)に A1(UFJ銀行)A2(みずほ銀行)A3(三井住友銀行)、B1(¥50,000)B2(¥100,000)B3(¥200,000)とあったとします。 続いて別のワークシート(以下乙シート)にB1(UFJ銀行)C1(みずほ銀行)D1(三井住友銀行)とあります。乙シートのそれぞれの下に甲シートで入力した金額が反映されるには、いくつか方法があると思いますが私の場合関数でVLOOKUPを使用しています。 それらをふまえての質問なんですが、まず甲シートの金額は毎日変わっていきます。上書きで保存! しかし乙シートの金額は日計表として残しておきたいんです。(一段ずつ下にずれていくのが理想的です。)なので誰か教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
初心者にはちょっと難しいかもしれませんが、マクロを記録するのがいいと思います。 手作業でおっしゃることを行うとすれば 1.甲シートの【A1:B3】を選択 2.選択範囲を右クリック-「コピー」 3.乙シートを選択 4.【B1】を右クリック-「コピーしたセルの挿入」 5.「下にシフト」を選択し「OK」 6.甲シートを選択 7.Escを押し、コピーモードを解除 ですね。これをマクロとして記録します。 A.「ツール」-「マクロ」-「マクロの記録」 B.「マクロの記録」ダイアログボックスで「OK」 C.上記1~7を実行する D.小さなツールバーの■ボタン(記録終了)を押す 以上でマクロが記録できます。「ツール」-「マクロ」-「マクロ」で「編集」ボタンを押すことにより、マクロを見ることができます。マクロはこんな感じになります。('1~'7はコメントです。上の1~7にほぼ対応します。) Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2006/8/18 ユーザー名 : hana29 ' ' Range("A1:B3").Select '1 Selection.Copy '2 Sheets("乙").Select '3 Range("B1").Select '4 Selection.Insert Shift:=xlDown '5 Sheets("甲").Select '6 Application.CutCopyMode = False '7 End Sub このマクロはこのままではエラーになります。 '3の「Sheets("乙").」を'4の文の先頭にコピーします。 '4は以下のようになります。 Sheets("乙").Range("B1").Select '4の変形 '1~'7の行をコピーしておきます。 次に、マクロを実行するためのボタンを作ります。 1.ツールバー、もしくはメニューバーを右クリック 2.「コントロールツールボックス」にチェックを入れる 3.現れたツールバーの四角いボタン(コマンドボタン)をクリック 4.ボタンを作成したい場所(シート甲の【C1:D2】あたり?)をドラッグ&ドロップ 5.ボタンを右クリック-「コードの表示」 コードは次のように表示されます。 Private Sub CommandButton1_Click() End Sub 6.真ん中の行に、コピーしておいたマクロを貼りつけます。 これで、ボタンを押すだけで、お望みのことができます。
その他の回答 (4)
- NCU
- ベストアンサー率10% (32/318)
甲シートが何のためにあるのかわかりません。 甲シートの値が刻々と変動していくわけでもなく、「毎日」変わるというだけなら、日々の数値をひとつのシートに蓄積していけば済む話なのでは?
- aieeeen
- ベストアンサー率50% (1/2)
もにゅw ちょっと弄りづらかったですか? 解説入れます。 乙の2列目に1列挿入し、B1~D1をコピー B2に値として貼り付けをしていけばと思い、 簡単なマクロで作成しました。 Sub 777() Sheets("乙").Select ←シート乙を選択 Rows("2:2").Select Selection.Insert Shift:=xlDown ←2列目に1行挿入します。ブランクのセルを作る為です。 Range("B1:D1").Select B1~D1を選択します。FまでならF1を。 Selection.Copy Range("B2").Select ←B2で貼り付ける為に選択。 Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False End Sub これをボタンにし作業してはw
- aieeeen
- ベストアンサー率50% (1/2)
エクセルの(ツール)→(マクロ)→(VisalBasic・・・)をクリック Visual Basic の(挿入)→(標準モジュール)をクリック 右側に下の Sub 777 から End Sub までをコピーして貼り付ける。 Visual Basicを×で閉じる。 エクセルの (表示)→(ツールバー)→(フォーム)にて ボタンをクリックし、甲のシートにボタンを作成。マクロの登録で777を選択。 業務を終了(保存)する前にボタンを押す。 実際に実行する時は、バックアップを取って置く。 Sub 777() Sheets("乙").Select Rows("2:2").Select Selection.Insert Shift:=xlDown Range("B1:D1").Select Selection.Copy Range("B2").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False End Sub
- hirorin00
- ベストアンサー率50% (446/884)
はじめまして 通常なら乙シートに毎日入力していき、甲シートに必要な部分を反映させる、という方法が使いやすいと思います。 それとも、甲シートを入力フォームのような使い方をしたいという事でしょうか?
補足
毎日使用するのは甲シートです。しかし残しておきたいもの(銀行残高日計表として・・・)を乙シートにという考えです。 毎日甲シートに入力した後上書き保存というのがやっかいだと思います。 でもそこを何とかできないものかと思い、今回投稿させてもらいました。