マクロ初心者のための売上データ入力方法

このQ&Aのポイント
  • マクロ初心者の方でも簡単に売上データを入力する方法を紹介します。データの入力にはフォームを使用することができますが、マクロを使って直接入力する方法もあります。
  • 売上データの入力方法について詳しく説明します。【データ】-【フォーム】を選択することなく、マクロで設定してすぐにデータを入力できる方法をご紹介します。
  • マクロ初心者の方向けに、売上データの入力を簡単にする方法をご紹介します。マクロを使って店名以外の項目をフォームにしたい場合は、特定の記録を使って設定する必要があります。
回答を見る
  • ベストアンサー

マクロの設定

マクロ初心者です。 売上データをフォームを使い入力したいのですが 【データ】-【フォーム】と選択せずにマクロで設定してすぐに入力できるようにする為には どのように設定すればいいのでしょうか? 店名#####様販売実績 期間 2/1 ~2/28 28日間 順位   銘柄   販売数   単価   計 1    なし    11     2    パン    20    3    玉子    30    4    のり    40     というような表なのですが新しいマクロの記録を使って何度設定しても 店名から始まってしまいます 順位以下の部分がフォームになって欲しいのですが

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

>ということは A7以下からはずっと"DataBase"の範囲ですか? "DataBase" はアクティブセル領域と理解しています。   (アクティブセル領域とは、空白行と空白列で囲まれたセル範囲です。) A7を選択して、Ctrl+Shift+* (CtrlキーとShiftキーを押しながら*キーを押す)としてみて下さい。 これで選択された範囲を"DataBase" としています。 >範囲の中すべてが商品名で埋まるということが無い場合、 >商品名が無い個所を折りたたむことも可能でしょうか? 質問の意味を計りかねますが、【データ】-【フォーム】で入力する場合、 質問の例なら『順位、銘柄、販売数、単価、計』の全てが未入力の場合、その1行上が最終行になります。 かつ、その次に(未入力ばかリの行より下に)何か入力があると、   『リストまたはデータベースを拡張することはできません。』のメッセージが出るはずです。 【データ】-【フォーム】で入力する場合は、連続データとして入力する必要があるでしょう。 こちらは、質問の意味と違うかもしれません。ご容赦を。

mtk0227
質問者

お礼

作成することが出来ました。 ありがとう御座います

その他の回答 (2)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

>範囲名”database”の設定というのはシート内にある表という意味なんでしょうか? 少し意味合いが違うかもしれません。 ShowDataFormメソッドは自動的に "DataBase" という範囲を参照します。 ところが、マクロがうまくいかないので、事前に対象範囲に "DataBase" という名前を付けたわけです。 シートから、【データ】-【フォーム】を行ったり、そのシートに1種類の表しかなければ、マクロでもうまくできると思います。 やはり、複数のテーブルのどれを使用するか示していないわけで、メソッドが失敗知るのもうなずけます。 解答で書いたマクロは、どのテーブルを使うかを ShowDataFormメソッド が自動的に対象範囲にする 範囲名"DataBase" にセットしたわけです。

mtk0227
質問者

補足

度々スイマセン ということは A7以下からはずっと"DataBase"の範囲ですか? "DataBase"の範囲を決めることはできるのでしょうか? 仮に(ずうずうしくて申し訳ないのですがm(_ _)m) 範囲を決めること出来るとして、範囲の中すべてが商品名で埋まるということが無い場合、商品名が無い個所を折りたたむことも可能でしょうか?

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

【データ】-【フォーム】はシート内に1種類の表しかない場合は問題なく使えると思います。 シート内に複数の表がある場合、範囲名を設定する必要があります。以下はSheet1で行う例です。 『順位』の文字が入力されたセルを『A7』としています。実情に合わせて変更してください。 下のコード内では範囲名 "Database" を設定して "ShowDataForm" を呼び出しています。 こうしないと、シート内に性質の異なる表が複数ある場合、マクロから呼び出すときはうまくいかないはずです。 なお、"Database"は他の範囲名にはできません。 また当然ですが、データが1件もないときはエラーになります。 ご参考に。 Sub myDataForm()   Range("A7").Select   '『順位』の文字が入力されたセル      '入力の都度、範囲名を付けなおす   Selection.CurrentRegion.Select   ActiveWorkbook.Names.Add Name:="Database", RefersTo:="=Sheet1!" & Selection.Address   Range("A7").Select   ActiveSheet.ShowDataForm End Sub

mtk0227
質問者

お礼

出来ました! ありがとうございます。 範囲名”database”の設定というのはシート内にある表という意味なんでしょうか?

関連するQ&A

  • マクロ名「埋め込みマクロ」からマクロを特定したい

    1、困っていること(不要なマクロの削除ができない) Access2010を使っていますが、マクロを設定後の名前が「埋め込みマクロ」の表記です。この情報からマクロを特定できないでしょうか。 2、気になっていること(マクロに関して・・・。) 絞り込み検索でフォームを開くマクロで、絞り込みのデータ入力なしでフォームを開いてもフォームのデザインが分かる時と、無地のフォームでフォームのデザインが分からない時があります。これは、作成したマクロ毎で異なりますが、何か設定の違いが原因でしょうか。 以上ですが、宜しくお願いします。

  • ACCESS フォーム上での既定値の設定方法

     例えば商品マスターテーブルに商品の定価を入力しておいて、売上テーブルを元に作ったフォームの売上単価フィールドに既定値としてその商品の定価を自動的に入力され、なおかつ売上単価を変更して入力もできるようにしたいのですが、どのような設定をしたらよいでしょうか? 既定値と書いてしまいましたが、基本値といった感じでしょうか。 良い方法がありましたら是非、お願いします。

  • Accessの自動計算のマクロについて

    Access初心者のものです。 Accessで商品管理のデータベースを作成しています。 主なテーブルの内容は、 商品番号、商品名、仕入数、仕入単価、販売数、販売単価、などです。 そしてクエリで、 仕入数×仕入単価=仕入金額、販売数×販売単価=販売金額を作成し、 入力フォームのフィールドで仕入数、仕入単価を入れれば仕入金額が計算されるようにしています。 そこでですが、仕入金額の表示が仕入数、仕入単価を入れて仕入金額のフィールドにフォーカス移動したときに計算結果が表示されずレコードの移動して元に戻ると計算結果が表示されます。 結果的には計算結果は表示されるのですが、レコード移動ではなくフォーカス移動後に計算結果を表示させるには、どのようなマクロの設定をすればよろしいのでしょうか? マクロについてはあまり詳しくはない為、その点ご考慮くださいますよう宜しくお願いいたします。

  • acccessのテーブルにマクロを設定する方法?

    テーブルまたはクエリで自動入力できるマクロを設定できる方法を知りたいです。例えば「都道府県」というフィールドの値が"東京"と入力されたとき「都道府県コード」に"1"という値を自動的に入力するというような方法です。同じテーブルを基に作ったフォームでは上記のマクロを設定できますが、テーブルの表形式で他のデータを参照しながら一気に入力したいのでテーブルで設定できるととても作業がはかどりそうなのです。ヘルプもいっぱい読んでみましたが、見れば見るほどチンプンカンプンになってきます。Accessを使い始めてまだ日が浅いので、どうか優しく教えていただけないでしょうか?

  • 連結フォームでの非連結

    こんにちは。 Access2002を使用しています。 「T_実績」テーブルには、顧客名、売上金額、販売者の項目があります。 「T_実績」テーブルに入力するために、連結フォームの「F_実績入力」フォーム を作成しました。入力の際は、顧客名と売上金額を入力し、販売者は フォームヘッダーのテキストボックスに入力した販売者を、レコード移動時に 自動更新したいようにしたいのですが、どのようにすればよいでしょうか? よろしくご教授くださいますようお願いいたします。

  • アクセス フォームのマクロに関して

    アクセスでマクロにてフォームを閉じるを選択しているのですが 新規レコードが必ず追加されてしまいます。 そのフォームはデータ入力用のフォームなのですがデータ入力終了時 テキスト欄をすべて空白でマクロの閉じるを実行させると 必ずテーブルに空白の新規レコードが入力されてしまいます。 なにかいい方法ありますでしょうか?

  • 計算するExcelマクロを作りたいです(2)

    商品ごとに年度の売り上げを毎月計算するマクロを作りたいです。 Excelシートのキャプチャを加えたので、少しわかりやすくなって いるでしょうか? 「データ」シートでは、列は左から商品単価、通貨、商品ごとの 月別売り上げ個数、(商品別)年度売り上げ合計の順番で並んで います。各行には各商品ごとの数値が入力されています。 別にもう一つ「通貨」シート(画像右下)があり、「データ」 シートの通貨で検索してその右隣の数値を商品単価に掛け算します。 さらに、商品別売り上げ金額の年度合計を毎月計算して、最終的に 「データ」シートに出力するようにしたいです。 「データ」シートは毎月更新されるので、マクロ専用のブックを もう一つ作る予定でいますが、可能な内容でしょうか? マクロ自体は、会社の友人が多忙で困っているので、上司との会話 の間にあまり良く考えずに引き受けてしまった話です・・・ 通貨のレートを別のシートから持ってきて計算する辺りが特にわか らず困っています。 どなたかご教授お願いいたします。

  • フォーム マクロ

    フォームをつくり、そのデータを1枚の表に入れていきます 4月1日からはじまり、1年分です フォームで数字を入力し、データ移行のボタンを押すたびにマクロが動き処理します その時 4/1 ? 4/2?.....っと聞いてくれます 始めは良いですが、5月には30回聞かれます・・ 省力するに、記述マクロありますか

  • Accessでの設定について

     データベースソフトAccessを用いて、以下の用件を設定するにはどのようにフォームを設定したら良いか教えて下さい。 例)社員テーブルが、社員マスターID(オートナンバー型)、管理番号(テキスト型)、氏名(テキスト型)、時給単価(通貨型)で作成されている場合。  管理番号を入力すると、データ(氏名や時給単価)を呼び出すことができるようなフォームを作成するには、どのように設定したらよいのでしょうか? 教えて下さい。

  • Exel VBA:マクロからの脱出!?

    以前にも質問させていただきました。 その後、「ユーザーフォーム」を使ってマクロが一通り 完成しました。ありがとうございました。 ユーザーフォームにデータを入力した場合のマクロ進行 はOKだったんですが、データ入力時に「キャンセル」 を押した場合に、元のマクロ(データを処理するほう) へ戻り「型が一致しない」とエラーが出てしまいます。 そこで、ユーザーフォームでキャンセルされた場合に、 マクロ(プライベートマクロ・通常のマクロとも)を 終了してしまいたいんです。 なんとかお知恵を拝借させてください。 エクセルバージョンは、2000です。

専門家に質問してみよう