• ベストアンサー

EXCELのVBAで出来ますか?

WINXP、EXCEL2002を使用しています。 今、シート「入力」-シート「帳票」-シート「履歴」の3シートがあり、以下の処理を行う為の手続きの記述について、ご教授お願いします。 ●シート「入力」に対し、氏名、住所、電話番号を入力し、実行ボタンを押下する事により、⇒ シート「入力」の内容がシート「帳票」に転記され、(←この部分は、今回の質問範囲ではありません。)シート「帳票」が印刷され、同時に、シート「入力」のレコードをシート「履歴」に書き込み、終了する。 以降、シート「入力」に入力されたレコードが実行ボタン押下により、シート「履歴」に追加される仕組みを作成したい。 宜しくお願いします。

  • baura
  • お礼率89% (172/192)

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

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

EXCELのVBAで出来ますか?とのことなので、こたえは出来ますよ~。です。 シート「入力」のデータをコピーして、シート「履歴」の最終行の次に貼り付ければいいだけですから。 最終行は、仮にA列で探すなら、 Sheets("履歴").Cells(65536, "A").End(xlUp).Row です。

baura
質問者

お礼

ご回答有難うございました。 早速、確認してみます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

●この質問には (1)入力シート入力 I (2)帳票編集    E (3)帳票印刷    P (4)履歴シート作成 H の4過程があると思います。この順序は動かないと思いますが、1人入力で(1)-(4)が走るのか、どういう状態推移になるか説明がない。ということはその大切さを、十分認識していないと思われる。 I(1)-E(1)-P(1)-H(1)-I(2)-E(2)-P(2)-H(2)- か I(1)-I(2)-I(3)・・・E(1)-E82)-・・・P(1)ーP(2)ー・・・ H(1)ーH(8)ー・・ か ●そのほかに各々の次の過程に進むキッカケは何か(実行ボタンに記述があるが、過程それぞれについての説明) ●文章だけで回答が出たとして、コード化できるレベルですか。 シート名も、セルも書いてない(決めてない)質問で、VBAコード の回答はしにくい。それらを具体的に知らないと、プログラムがかけないのは、プログラムを経験したら判るでしょう。 #1のご回答にもこのニュアンスがあるように思う。 VBAの質問はこういうスモールシステムに関する総括的な質問でなく、もう少し下のブレークダウンした点のレベルの質問がOKWAVEには適していると思う。

baura
質問者

お礼

ありがとうございました。 質問の仕方が悪かったようです。 自分の中で再度整理してみます。

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.2

シート「入力」レコードをシート「履歴」に追加する一連の作業を マクロの記録でVBAを作成してみては。 そのコードを見て解らないところを再度質問して下さい。

baura
質問者

お礼

ありがとうございました。 早速確認してみます。

関連するQ&A

  • エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい

    現在顧客名簿シートがあり、修正フォームから顧客情報を修正できるようにマクロを組んでいる最中です。  例えば、textbox1→氏名、textbox2→生年月日、textbox3→住所、としていて、住所のみ変更情報を入力し修正ボタンをクリックすると氏名、生年月日が未入力のため顧客名簿の氏名、生年月日が消えてしまいます。  このような場合、入力がないtextboxのシート転記プログラムを飛ばす、若しくは入力があるtextboxのみシート転記を実施する方法を教えてください。

  • ExcelのVBA

    Excelで、データベースを作成したいと思っています。 新規レコード入力時に、ユーザーフォームを使って入力したいのですが、 ユーザーフォームに入力したデータを、新規レコードとしてシートに保存する方法を教えて下さい。 例えば、住所録で10件のデータが入力されている。 新しい住所データをフォームを使って入力し、指定のボタンをクリックすれば、 11件目としてシートの最後尾(11番目)に保存される。 といった具合です。

  • エクセルVBA 図のコピー&ペーストの方法

    いつもお世話になっております。 VBAを学習中の者です。 今回は図のコピー&ペーストについて教えてください。 (作成中の表:Excel2010を使用) (1)Sheet1:帳票一覧  A列:NO B列:氏名 C列:写真 D列:プロフィール  のような表を行毎に作成しています。   (2)Sheet2:個別帳票雛形  マクロの実行により、雛形シートをコピーして、配列に格納したデータをコピーしたシートの指定箇所に転記 簡単に説明するとこのような作業を行いたいと考えています。 現在写真以外の転記については問題無く処理が行えました。 (仕様) 1.写真には01,02,03,04・・・・・と名称を付けております。 2.転記先シートのB4~C12セルを結合して写真の貼付エリアとしています。 3.転記時に画像データのサイズを自動調整(又は貼付エリアに見栄えよく貼れるように数値を指定) 4.貼付エリアの中央にくるように配置 以上を行いたいと思っております。 どうぞよろしくお願いします。 、

  • エクセルのVBAについて

    ご教授下さい。 勤怠管理表を作成しています。 個人データを入力するシートがあり、出来上がったものの中から必要な事項のみを別シートの一覧表へ転記をしたいのですが、方法がわかりません。 どなたかご教授ください。 1.転記したい事項は下記の通りです。 (1)氏名 (2)出勤 (3)公休 (4)休み (5)合計 (6)給料 2.6項目をシート名(全体)に表形式で転記 3.社員番号等はなくランダムに入力するため、一覧表へは転記のみされればOKです。 よろしくお願いします。

  • Excel2007でVBAを用いて名簿を作成したいのですが、うまくいき

    Excel2007でVBAを用いて名簿を作成したいのですが、うまくいきません。 どうかお力を貸していただけませんでしょうか。 【シート名】 シート1:名簿データ入力 シート2:名簿一覧 【質問内容】 シート1に入力した内容を、シート2に転記したいと思っています。 シート1には下記の項目を入力します。 C2 氏名 E2 フリガナ G2 敬称 I2 性別 C3 分類1 E3 分類2 C5 会社名 E5 部署名1 G5 部署名2 I5 役職名 C6 〒 E6 住所1 G6 住所2 C7 電話番号 E7 ファックス G7 携帯番号 I7 Eメール C9 摘要 ・上記の入力完了後にボタンを押すことで、シート2のB2~S2に転記(並びは、上記を上から順番)され、入力したものは未入力状態に戻るようにする。 ・2件目以降は次の行に転記されていく(1件目B2~S2、2件目B3~S3、3件目B4~S4・・・・) ※削除により、行がとびとびに入力されている場合は空いている行に入るようにする 以上のことを可能にするコードをお教え願えませんでしょうか。 加えて、シート2に転記された一覧を、テーブルとして設定し、並べ替え等は行えるのでしょうか? よろしくお願いいたします。

  • 【VBA】数値を入力して特定のセルを転記・印刷する

    VBA初心者です。よろしくお願いします。 データの転記について伺います。 名簿シートに入力された情報を申請書シートに転記し、さらに印刷したいのですが このとき転記する範囲をセルに直接入力して指定することはできますでしょうか。 イメージとしては以下のような感じです。 「No2からNo4の人の氏名、住所、備考を転記したい」 【名簿シート】   A  B   C   D   E   ____________________ 1│No 氏名  住所  性別  備考 2│1  鈴木  東京  男性  継続契約 3│2  田中  大阪  女性  電話無 4│3  荻   愛知  男性  眼鏡有 5│4  矢作  青森  男性  眼鏡有 ・ ・ ・ 【申請書シート】 ○○様 以下のとおり申請します。  ──────────── │氏名 │住所 │備考  │  ──────────── │田中 │大阪 │電話無 │  ──────────── │荻  │愛知 │眼鏡有 │  ──────────── │矢作 │青森 │眼鏡有 │  ──────────── 【印刷範囲指定シート】 Noを入力して指定  ───     ─── │ 2 │ - │ 4 │  ───     ───                 ──                 │印刷│                 ──           ※マクロボタン↑   ※これを押すと指定範囲が印刷される アドバイスよろしくお願いします。

  • Excelのセル変化イベント

    Excel2000及びExcel2010で動作させるVBAマクロを作成しております。 シート上にコマンドボタン配置し、データチェックを行うマクロを登録してあります。 任意のセルにデータを入力し、コマンドボタンを押下することで マクロが実行され、セルの内容をチェックし、不正があればセルを赤くします。 また新たにセルに値が入力されたときにはセルを白くしています。 ※セルに値が入ったことを認識するためにWorkbook_SheetSelectionChangeのイベントを利用しています。 基本的には問題なく動作するのですが、 下記の場合、Excel2000と2010で動作が異なって困っています。 ★手順 (1)任意のセルで”F2"キーを押下し、編集状態とする。 (2)そのままの状態でデータチェックのコマンドボタンを押下する。 【Excel2000の場合】 コマンドボタンが押せない。 【Excel2010の場合】 コマンドボタンが押せる。 このとき、データチェックのマクロがまず実行され、 セルの内容に不正がある場合は赤くなるが、 直後にWorkbook_SheetSelectionChangeイベントが発生し、 「新しい入力」と判断してセルがすぐに白くなってしまう。 =>一瞬セルが赤くなるがすぐに白くなる。 なんとかExcel2000と2010とで動作内容を合わせたいのです。 そこで、コマンドボタンが押下されたとき、 編集中のセルが存在すればマクロは実行しない・・・という方法を考えましたが、 「セルが編集中」であるかはどのようにして判断すればよいでしょうか?

  • VBAでデータ更新作業自動化

    エクセルで、シート1に顧客データ(会員番号、氏名、住所等)が有り、シート2の入力セルに会員番号を入力すると、シート1の顧客データがVLOOKUP関数により呼び出されるというエクセルファイルがあります。シート1の顧客データは、別システムでデータ更新しており、USBメモリにCSVファイルとして定期的に抽出しています。このCSVファイルのシート1の最新顧客データを元のエクセルファイルのシート1にすべてコピー&ペーストすることで最新の顧客データを更新しています。 このたび、その作業の自動化を図るにあたり、元のエクセルファイルのシート2で作成したボタンを押下することにより、自動実行したいのです。 お忙しいところ大変申し訳ないですが、そのような他ファイルに及ぶVBAの記述を教えていただけたらありがたいです。よろしくお願いします。

  • Excelでの作業効率化

    WinXPでExcel2003を使用しています。 今、10月分の住所情報があります。 項目としては、氏名、〒番号、住所です。 このデータを利用し、〒番号別の件数表を毎月作成したいのですが、手動作成の為、かなり手間が掛かっています。自動で作成できる方法がありましたら教えて下さい。 (現在は・・・) 1.〒番号で並び替えする。 2.〒番号単位で集計し、件数を求める。 3.求められた件数を別シートに、手動で転記する。 よろしくお願いします。

  • Excel VBAについて

    UserFormからデータ(氏名、生年月日・・)を入力し、「登録」ボタンをクリックすると Sheet2に入力データを上から(1行目、2行目・・)格納していきます。 そして、Sheet1上に作成した「印刷」ボタンをクリックすると、Sheet2で順に格納されたデータをある定められたフォーマットで両面印刷(表に1行目のデータ、裏に2行目のデータ)できるようにしたいのですが、可能でしょうか。