• 締切済み

エクセル2000 マクロ

エクセル2000を使用しています。マクロを使って定型の入力フォームへの入力を素早く、正確に行えるようにしたいと思っています。 「申請書」と「標準事務用品」の2種のシートに分かれており、「申請書」が定型の入力フォーム、「標準事務用品」は入力フォームに反映させたいデータが一覧になっています。 「標準事務用品」のデータの一覧は5つの項目があり、左から1.品物 2.商品名 3.品番 4.メーカー名 5.申請 となっています。 5.申請の列はオプションボタンを1行ごとに1つ設けてあり、オプションボタンがオン(True)の時に、同じ行の1~4の項目のデータを「申請書」シートの入力フォームの任意のセルへコピーしたいです。 何かよいマクロの記述方法はありますでしょうか。

みんなの回答

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

マクロの記録で コピーしたいセルの選択 貼り付け先を選択して貼り付け 記録終了 後はマクロの中身を汎用性のあるコードに置き換え。 マクロの作成方法・マクロの編集方法自体が分からないのであれば何が分からないのか 自動作成されたマクロのどこを置き換えるのかが分からなければ、マクロコードを書き込んで質問しないと答えようがないです。

09051114
質問者

補足

ご助言有難うございます。  マクロの記録で以下のようなコードが記述されました。 Range("J30").Select Selection.Copy Sheets("申請書").Select Range("B12:G12").Select ActiveSheet.Paste Application.CutCopyMode = False Sheets("標準事務用品").Select Range("K30").Select Selection.Copy Sheets("申請書").Select Range("B13:G13").Select ActiveSheet.Paste Application.CutCopyMode = False Sheets("標準事務用品").Select Range("L30").Select Selection.Copy Sheets("申請書").Select Range("B15:C15").Select ActiveSheet.Paste Application.CutCopyMode = False Sheets("標準事務用品").Select Range("M30").Select Selection.Copy Sheets("申請書").Select Range("B14:G14").Select ActiveSheet.Paste Application.CutCopyMode = False Sheets("標準事務用品").Select End Sub  マクロの記録に、オプションボタンを押す行為が反映されません。各行(AA30~AA172まであります)のオプションボタンを選択したら、指定した行のセルをコピー、指定の貼り付け先(毎回同じ)に貼り付けできるようにしたいのです。 説明が足りず、不可解な所があったら申し訳ありません。ぜひお力をお借り出来ればと思いますのでよろしくお願い致します。

関連するQ&A

  • エクセル マクロ

    エクセル2000を使っています。 「申請書」、「標準事務用品」の2種のシートがあって、「申請書」のシートは定型の入力フォーム、「標準事務用品」は入力フォームに反映させたいデータの一覧表になっています。データの項目は左から、1.申請2.品物3.商品名4.品番5.メーカー名となっており、データは全部で74行あります。1.申請項目の列には各行1個づつコマンドボタンを設けました。コマンドボタンがクリックされたときに、該当行のセルの内容を入力フォームにコピーする処理が実行されるようにしたいです。 マクロの記録で記述されたコードをコマンドボタンのコードにコピーしてみましたが、エラーになってしまい修正の仕方がわかりません。 Private Sub CommandButton1_Click() Range("K30").Select Selection.Copy Sheets("申請書").Select ActiveSheet.Paste Sheets("標準事務用品").Select Range("L30").Select Application.CutCopyMode = False Selection.Copy Sheets("申請書").Select  (↓ここでエラーになってしまします。) Range("B13:G13").Select ActiveSheet.Paste Sheets("標準事務用品").Select Range("M30").Select Application.CutCopyMode = False Selection.Copy Sheets("申請書").Select Range("B15:C15").Select ActiveSheet.Paste Sheets("標準事務用品").Select Range("N30").Select Application.CutCopyMode = False Selection.Copy Sheets("申請書").Select Range("B14:G14").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub また、全部で74行あるので、全てに操作を記述するのは非効率的だろうと思います。何か良い方法はありますでしょうか。 ご助言お待ちしております。

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

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

  • エクセルマクロの構文

    エクセルマクロに関してご教示いただきたく存じます。 下記の手順を1つのマクロで実行したい場合、どのような構文を書けば実現できますでしょうか? 前提: ・エクセル中、シート(1)、シート(2)を準備。 ・シート(1)には毎日1日分のデータを入力(例えば、1行目の経費項目、金額、経費支払者 の3カラムヘッダーの下に、2行目から1日分のレコードを入力していく) ・シート(2)には毎日の日別データを累積していく(例えば、シート(1)に1日目で10レコード、2日目で15レコード、3日目で20レコードの場合、3日目終了時に計45レコードにしたい。1行目の経費項目、金額、経費支払者 の3カラムヘッダーはシート(1)と同様) マクロ実行: ・シート(1)に1日目のデータ入力(10レコード)が終わった段階で、ボタンを押し、下記マクロを実行  (1)シート(1)の10レコード(A2:C11)を、シート(2)のA2:C11にコピー  (2)シート(1)の10レコード(A2:C11)を、削除(データクリア) ・シート(1)に2日目のデータ入力(15レコード)が終わった段階で、上記と同じボタンを押し、下記のマクロを実行  (1)シート(1)の15レコード(A2:C16)を、シート(2)のA12:C26にコピー(シート(2)において1日目のデータの次に累積させていく)  (2)シート(1)の15レコード(A2:C16)を、削除(データクリア) ・シート(1)に3日目のデータ入力(20レコード)が終わった段階で、上記と同じボタンを押し、下記のマクロを実行  (1)シート(1)の20レコード(A2:C21)を、シート(2)のA27:C46にコピー(シート(2)において1日目のデータの次に累積させていく)  (2)シート(1)の20レコード(A2:C21)を、削除(データクリア) ・4日目以降、同じボタンでマクロを実行する度に、シート(1)のデータがシート(2)の47行目以降、空白なく追加されていく 以上、皆様のお知恵をお貸しください。

  • エクセル マクロについて

    1)マクロでボタンを作成して、Sheet2に自動記載出来るようにしました。Sheet2で記載された文字は行で保護出来ないのでしょうか?シート全体に保護をかけたら、勿論ボタン入力出来なくなりました。 2)マクロのボタンで1回同じ項目をSheet2へ入力した人が、もう一回続けて入力ボタンを押して、Sheet2には同じ文字が入っていました。それを防ぐには何かないのでしょうか?例えば、同じ入力が項目・時間ならメッセージが出てくるとか、1回入力したら”保存されました”などのメッセージがあれば、防げるかな?と思っています。教えてください。

  • マクロでエクセルの空白行をアクティブにしたい

    データーを入力しているシートがあり、マクロのボタンをクリックする データの空白行をアクティブになるようにしたいのです。 具体的に B列のデーターが入力されていない行をアクティブにして他のシートのデーターを張り付ける作業をしたいのですが・・よろしくお願いします。

  • エクセルのコピー貼り付けマクロ

    EXCEL2003を使用しております。 用品の使用記録簿を作っております。 Sheet”入力”で日付や社員名や品目を入力し、(登録)のマクロボタンを押せばSheet”集計”(約100行)に1行目から順次貼りつく表を考えているのですが、うまくできません。 ご存知の方は、教えてくださいお願いいたします。

  • マクロ初心者です。よろしくお願いします。

    マクロ初心者です。よろしくお願いします。 エクセルのシート上には3つの同様な書式があり、No.1~No.3まで入力ができる。 No.1~No.3の各書式欄外に入力ボタン1~3が配置されている。入力ボタン1を選択すると ユーザーフォーム1が表示される。ここまではできたのですが… (1)ユーザーフォーム上に作成したオプションボタンで「男」と「女」を選択 (2)同フォーム上で作成したコマンドボタン1~8でそれぞれの該当する項目1つを選択 (3)(2)の項目に該当がない場合はコマンドボタン9「該当なし」かコマンドボタン10「「入力不要」   のどちらかを選択 (4)「Ok」ボタンを選択するとすでに作成済みの標準モジュール男女別・各項目別1~8・該当なし・  入力不要の作成済みのマクロを呼び出し実行させる。  なお、(1)のデフォルトは「男」になっており、ユーザーフォーム上(2)か(3)のどれか1つを選択し  なければMsgboxで"エラーメッセージを表示" (5)コマンドボタン11「キャンセル」を選択すると(2)~(4)の入力内容が無効になる。 このようなマクロを作成したいのですが、色々なサイトやマニュアル本を見ても、うまく作動しません。 ご教示のほどお願い致します。

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

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

  • エクセル マクロ

    マクロで自動入力していますが、データーを追加したい時に入力したいのですが出来ますか? 例)ボタン入力でsheet2に入力出来る仕組みになっています。例えばD列以降にデータを追加入力させる場合どうすればいいですか?ちなみにA列は自動番号ですので番号を入力したら、その番号のD列から入力出来るようにしたいです。記述をお願いします。(追加フォームボタンをクリックしたらフォームが出てきて、入力ボタンでそのような入力がしたいです) A  B  C 10 年数 良い  : : :

  • エクセル マクロ 行

    エクセル マクロについて Sheet1にはボタンがあり そのボタンをクリックすると フォームが表示してそのテキストに記入して、記録ボタンを押すと Sheet1最終行のフォームからシートにコピーするボタン方法は出来るのですが・・それだと最終行が新しい記載になってしまいます。 Range("a65536").End(xlUp).Offset(1).Select Selection = Selection.Row - 1 例えば A1 タイトル A2  小項目 A3  挿入させたい! A列の3行目から挿入して、その後も常にA3から挿入したいです。 新しい記載は常にA3にさせたいのですが、どうすれば良いのでしょうか?記述を教えて下さい。

専門家に質問してみよう