• 締切済み

マクロによる条件式の作り方

imogasiの回答

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

マクロ(VBAのプロシージュアー。プログラム単位)には名前がついてます。また付けます・付けなければなりません。Subの後かつ()の前の部分です。 その名前をプログラム上に書けば、そのプログラムに飛んで実行して、すぐ下へ戻ってきます。Call (名前)でも 分かりやすいかもしれません。 マクロでエクセル出力方法はわかります-->このマクロの名を「エクセル出力」としますと、 Sub aaa() テーブル作成 ans=MsgBox(・・・) If ans=vbYes then エクセル出力 End If End Sub 上記はMojuleに作成すること。Formやコントロールのイベントプロセジュアーとは別です。 こんな回答で良いのかな。

7_11shop
質問者

お礼

難しそうなので、あきらめます。 ご回答ありがとうございました。

関連するQ&A

  • excelマクロでアクセスDBからのデータ取り込み

    office2003を使用しています。 アクセスのあるテーブルから、エクセルにデータを書き出す際、テーブルを選択→ツール→officelink→excelに出力 をして、データを書き出しています。 上記の作業をエクセルマクロにて実行したいのですが、 エクスプローラー上にある指定のアクセスファイルを開く→該当のテーブルを開く→officelinkを選択→excelに出力を選択 をマクロで自動化することは可能でしょうか? エクセルマクロは初心者レベルですがコーディングをした経験はあり、上記の自動化方法を調べ中なのですが、マクロにてエクセルとは別のアプリを操作した事が無く、困っております。 ご存知の方、ヒントだけでも結構ですのでお教え下さい。

  • Accessのテーブルをエクセル出力するマクロ

    AccessのテーブルをVBAではなくマクロでエクセル出力したいと思っています。 マクロを使ってエクセル出力できるということはわかったのですが やり方がわかりません。 ご存知の方、教えてください。 よろしくお願いします。

  • ある条件でマクロの実行?

    エクセルの素人です。 あるセルの値がクエリをつかって一定間隔で自動更新されているのですが、その値がある条件を満たしたときに(たとえば10以上になったら)マクロを実行させることは出来るんでしょうか? もしくは、そのセルの値が更新されるたびにマクロを実行させることは可能でしょうか? よろしくお願い致します。

  • Access2002のマクロ条件について

    WindowsXPでAccess2002を使用しています。 このたび、過去の方が作成されたAccessを修正することとなりました。 VBAを使用したものではない簡易なファイルですが、マクロの条件を変更しようとしても なかなかうまくいきません。どのようにすれば宜しいでしょうか。 ---------------- ≪現在の仕様≫ テーブル名:T#ZIP フォーム名:F#Select クエリ名:Q#Delete、Q#Import マクロ名:M#Create_Table (1)Access起動時(の設定)は「F#Select」というフォームが開く (2)下記マクロ「M#Create_Table」が実行される  マクロ1行目:下記条件のとき、マクロを中止する          [Forms]![F#Select]![CRTDATE]=Date()  マクロ2行目:テーブル「T#ZIP」のデータを削除するクエリ「Q#Delete」を実行する  マクロ3行目:テーブル「T#ZIP」にデータを追加するクエリ「Q#Import」を実行する ≪動き≫ 前提:「F#Select」の[CRTDATE]というフィールドには「T#ZIP」が更新された日が設定される その日初めてそのAccessを開くと、マクロにより削除クエリ~追加クエリが順番に実行された後、 フォーム「F#Select」が表示される。その後Accessを終了し、同日中に再度Accessを開いても マクロは実行されない --------------- 現在、追加するデータが多い場合、時間がかかりインポートが途中で失敗することがあるのですが 再度Accessを開いても既にインポート済みと判定されてしまい、自動的にはマクロは実行されない という課題があります。 インポートが失敗するとき、削除は完了しているため、テーブルデータは0件なので、 「その日に既にテーブルを更新済み かつ テーブルデータ件数が1件以上ある場合」 マクロを中止する、という条件を設定したいと思います。 そこで、マクロ1行目の条件欄に [Forms]![F#Select]![CRTDATE]=Date() And DCount("[T#ZIP]","*")>0 と記載したところ、その日最初のインポートはうまく行っている様子ですが、 マクロ終了後に突然Accessが終了したり、再度Accessを開いても「F#Select」が 全く表示されなくなったりと、うまくいきません。 バグというよりは、私の設定が悪いのだと思われますので、 ・フォーム[F#Select]の[CRTDATE]フィールドが Date()   かつ ・テーブル[T#ZIP]に1件以上でもデータがある 場合はマクロを中止する としたい場合の条件設定方法(入力内容)につきまして、どなたかおわかりの方 ご教示いただけますでしょうか。 何卒よろしくお願いいたします。

  • 毎日指定時刻に自動でエクセルを開き、マクロを起動する方法

    <前提条件> ・パソコンを常に起動している(シャットダウンはしない) ・TEST.xlsにマクロ作成済 <お聞きしたいこと> ・毎日指定時刻(15:30)にTEST.xlsを開き、登録されている  マクロを自動で実行したい <私の考え> ・TEST.xlsに下記マクロを登録しようと思っております。  ただ、下記だけですと、「指定時刻にエクセルを開く」と、  「毎日指定時刻に自動でマクロを実行する」ことができません。  あまりマクロについて知識がないため、ご教示のほどよろしくお願いいたします。 Sub 指定時刻にマクロを実行する() Application.OnTime TimeValue("15:30:00"), _ "MSGBOX", _ TimeValue("00:00:30") End Sub Sub MSGBOX() msgbox"TEST" End Sub 

  • ウインドウズのマクロ

    エクセルのマクロはVBAで作成出来ますが ウィンドウズ(パソコン)のマクロは何で作成できるのでしょうか? VBで作成できますか? 例えばユーザーフォームを作ってコマンドボタンを押すと、エクセルが起動するなどの操作です。 よろしくお願い致します。

  • Excel2003でマクロが動かなくなった!

    Excel97で作成されたVBAマクロがあるのですが、 Excel2000とExcel2002までは問題なく動いていたものの、 Excel2003では実行途中でエラーが発生してしまいました。 VBAマクロには上位互換が無いのでしょうか?? 自分はマクロに詳しくなく使用する立場なのですが、 マクロを作成した人が既に退職している為、 修正できる人間がおりません。。 何か簡単な方法で回避できる方法は無いものでしょうか? 宜しくお願い致します。

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

    エクセルのマクロを作成したのですがプログラムを実行しようとすると毎回マクロを実行するかどうか聞かれます。 無条件でマクロを実行するように設定はできないでしょうか?

  • アクセスのレポートをマクロでEXCELに出力したいのですが

    マクロを作成して「ワークシートの変換」「アプリケーションの実行」でテーブルやクエリをEXCELに出力することは出来るのですが、レポートもマクロからもワークシートの変換ができるのでしょうか。記述の方法を教えてください。

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

    エクセルのマクロを作成したのですがプログラムを実行しようとすると毎回マクロを実行するかどうか聞かれます。 いちいち実行するかどうかを聞かれず無条件でマクロを実行するように設定はできないでしょうか?