VBAとwebに関するmttn612のブックマーク (46)

  • アクセスVBA閉じるボタンを無効にしよう! | ふうふのしあわせ講座

    アクセス担当のまみです。 データを入力し終えて「やった~できた!」って安心しきって、押してしまったのがフォームの閉じるボタン。 上図の「赤い部分の×」を押してしまって「あっ~入力したデータがなくなっちゃった!」ってことありませんか! 閉じるときに「保存しますか?」って聞かれないので、「はい終了」とかで×ボタンとか押してしまって貴重な休憩時間を捨ててしまったこと。あると思います。 あとは、閉じるボタン押したらエラーになってどうしていいかわからなかったりとか。 フォームの作成とかコードを書いている時とかは保存しますかって聞いてくれるのになぁ。 保存しますかって聞いてくれない時のために、閉じるボタン(×ボタン)を無効にしちゃいましょう。 既存ファイルを開く 今回のお話は、フォームが作成されているファイルがあればOKです。 ここでは、説明のために「宛名印刷」ファイルを使用します。 プログラム作成の

  • 起動時にAccess本体を非表示にし、フォームのみ表示する設定方法とVBAのコード

    起動時にAccess体を非表示にし、フォームのみ表示する設定方法とVBAのコード アプリを作成した場合など、起動時にデータベースウィンドウやリボンなどのAccess体を非表示にし、フォームのみ表示させたい場合があります。その方法を掲載しています。 Homeへ Accessフォームへ フォームのみ表示する手順 起動時に表示するフォームの作成 フォームが開く時のイベントに、リボンを非表示にするVBAを入力する。 オプションを設定する 保存し設定完了 さらにスッキリしたフォームにしたい場合のプロパティ設定 関連する「フォーム サイズを変更できないように境界線プロパティで固定する方法」も参照してください。 起動時表示するフォームを作成する リボンの[作成]~[フォーム デザイン]で作成したフォームです。 イベント プロシージャを作成する プロパティ シートを開きフォームを選択します。 イベント

  • Excel VBAのIf文で、X以上かつY以下/未満というAND条件を指定する:エクセルマクロ・Excel VBAの使い方/条件分岐

    「エクセル マクロ if 以上 以下」 という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。 Excel VBA(Visual Basic for Applications)で、X以上かつY以下といった条件を指定する、If文の書き方を探している方による検索でしょうか。 マクロ初心者の方がやってしまいがちな間違ったAND条件 例えば、何らかのテスト結果の判定を行うマクロで、A1セルの値が70以上かつ85以下のときにB1セルに「B」と入力するようなマクロを作ろうとしたときに、初心者の方が書きがちなのが、 If Range("A1").Value >= 70 And <= 85 Then というコードでしょうか。(私自身もマクロを書き始めたばかりの頃、こんな書き方をしようとした記憶があります) あるいは、 If 70 <= Range("A1").Value <= 85

  • Access VBAでSQLを実行するQueryDefオブジェクト、CreateQueryDefメソッド、QueryDefsコレクションの使い方の基本

    今回は、Accessのフォームからデータを入力し、入力したデータを基にSQLで検索を行い、抽出した結果をExcelのシートに書き出す処理を解説する。 使用するテーブルは、TIPS「AccessからExcelに接続して開く方法&Accessで作成したデータをExcelに出力する方法で学ぶ、連携VBAの基」で作成しておいた、「商品管理テーブル」だ。「商品管理データベース.accdb」をクリックして、Accessを起動しておいてほしい。 Accessのフォームとコントロールの配置 Accessメニューの「作成」→「フォームデザイン」と選択して、「フォームデザイン」の画面を表示する。 「フォーム1」タブの上でマウスの右クリックをして、表示されるメニューから「上書き保存」を選択し、「フォーム名」を「SQLで抽出したデータをExcelに書き出すフォーム」という名前にしておく。すると、フォームの「デザ

    Access VBAでSQLを実行するQueryDefオブジェクト、CreateQueryDefメソッド、QueryDefsコレクションの使い方の基本
  • ACCESS2003でフォーム上でフィルターをかけて抽出した全てのデータを更新する方法を教えて下さい。 - 具体的には、データを... - Yahoo!知恵袋

    えーとVBAになりますがよろしいですか。 サブフォームを使ってらっしゃるのか、そうでないのかが ちょっとわかりませんが、使ってない場合、 新たにメインフォームを作り、サブフォームに先のフォームを指定ください。。 また、ボタンを1個作り、それが押下された時に、実行されます。 下記の例では、 ・サブフォームのコントロール名・・・・「sub1」 ・チェックボックスのフィールド名::::「チェック」 としておりますので、適宜ご修正下さい。 ■サブフォームを使っている。 Private Sub コマンド1_Click() Dim tbl Dim cnj Dim sql Dim fld '----チェックボックスの「フィールド名」 fld = "チェック" '----フォームのフィルタ条件を取得 cnj = "" If Me.sub1.Form.FilterOn Then If Me.sub1.For

    ACCESS2003でフォーム上でフィルターをかけて抽出した全てのデータを更新する方法を教えて下さい。 - 具体的には、データを... - Yahoo!知恵袋
  • VBA 見栄えの良いユーザーフォームを作るコツ - t-hom’s diary

    自分が作ったマクロを他人に使ってもらう場合、「何ができるか」という機能だけでなく、「どのように出来るか」という操作性や、「どう感じるか」という審美性も大事である。 素人の手作り感たっぷりのマクロを、格的なシステムのように感じさせるのはやはりデザインの力だ。 最初のフォーム ここに、「とりあえず作ってみました」的なフォームを用意した。 仮に機能面は満たしているとしても、少々野暮ったい。 特にWindows10で実行すると、ウインドウが平坦なのでテキストボックスが妙に浮いて見える。(下図) 時代の主流はフラットデザイン。 いつまでこの流行が続くのかは分からないが、時流に逆らったデザインは野暮ったく見えるので、テキストボックスのBorderStyleは1-fmBorderStyleSingleにしておこう。 それから、ラベルやボタンのフォントはデフォルトでは「MS UI Gothic 9ポイン

    VBA 見栄えの良いユーザーフォームを作るコツ - t-hom’s diary
  • 簡易的にAccessデータベースで在庫管理システムを作成(サンプル付)

    概要 必要に迫られて簡易的な在庫管理システムを作りました。 在庫管理システムを作るにあたり、それはもう膨大な数のWebサイトを参考にしました。そのまま使えるAccessの在庫管理システムがあればいいのに、そのまま使えるものは一つもありませんでした。そこで在庫管理だけ必要な人向けの簡易なAccessデータベースを作りましたので、それを公開します。 内容につきましては、右側サイドバーより項目をクリックしてご覧ください。 簡易マニュアルも10月末をめどに作成予定です。 このページはパソコンから見ることを前提としております。スマートフォン等におきましては全てが表示されないことがあります。 機能 入出庫 入庫・出庫、またその取り消しができます。保管場所を指定しますが、移動させた際の在庫転送、入庫時に1式としていたものを100個と単位を変換(例えばネジのような)する機能などがあります。品目に安全在庫数

    簡易的にAccessデータベースで在庫管理システムを作成(サンプル付)
  • 複雑な条件分岐にSelect Caseの裏技を使う:Excel VBA|即効テクニック|Excel VBAを学ぶならmoug

    複雑な条件分岐にSelect Caseの裏技を使う (Excel 97/2000/2002/2003/2007/2010/2013/2016) セルの値が「100だったら」「そうでなかったら」という二値で処理を分岐するには、Ifステートメントを使います。 Sub Sample1() If Range("A1").Value = 100 Then MsgBox "100です" Else MsgBox "100ではありません" End If End Sub 二値ではない条件で処理を分岐するときはSelect Caseを使います。 Sub Sample2() Select Case Range("A1").Value Case Is < 50 MsgBox "50未満です" Case 50 MsgBox "50です" Case Is > 50 MsgBox "50超です" End Select

  • 重複データが入力されたらオリジナルのメッセージを表示する

    Accessのフォームで受付番号を入力するように作成しています。 受付番号を入力したときに、既に入力済みの番号であればメッセージウィンドウを表示して、重複した番号の入力を防ぐ方法を解説します。 参考ここでは[ドキュメントウィンドウオプション]で[ウィンドウを重ねて表示する]を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。

    重複データが入力されたらオリジナルのメッセージを表示する
  • ADO(ActiveX Data Objects)の使い方の要点|VBA技術解説

    公開日:2016-10-30 最終更新日:2021-08-04 ADO(ActiveX Data Objects)の使い方の要点 ADOはMicrosoftが提供するデータベースアクセスのためのソフトウェア部品です。 OLE DBをActiveXコントロールの形で使えるようにしたプログラミングインターフェースになります。 ここでは、ADOを使用したデータベースへの接続方法を解説します。

    ADO(ActiveX Data Objects)の使い方の要点|VBA技術解説
  • Accessで一時テーブルを作りファイルを並べ替えをする方法 - Qiita

    始めに VBAを使っていると、ファイルを操作したいことがあります。(とりわけ日付順に)ネットで検索すると実装例がいくつか紹介されていますが、コードが比較的煩雑ですが、AccessならDBに取り込んでSQLで並べ替えをすれば楽に出来るのでは無いかと思い開発しました。 しかし、Accessには他のDBにある一時テーブルの作成方法が公式にはありません。そこでRollBack機能を使って擬似的にそうした状態を再現してみました。 実装 基的なプロセスとしては以下の通りです。 1.テーブルを作成 2.ファイル名を取得 3.並べ替え 4.テーブルを削除 可読性と再利用性を上げるためこのプロセスを実行させるクラスを用意し、標準モジュールから呼び出すことにします。 なお、標準モジュールへ返し値はCollection型とします。 .Countプロパティが使える クラス内でReDim Presaeveを使うよ

    Accessで一時テーブルを作りファイルを並べ替えをする方法 - Qiita
    mttn612
    mttn612 2020/09/19
    一時テープル=ワークテーブル
  • フォームからリストに転記するコード ~日本一やさしいマクロ講座UserForm編

    マクロ 32回 フォームからリストへの転記をコードに マクロ講座31回でフォームの形状ができましたので、今度はコードを記述していきます。 (サンプルファイルは、こちらから マクロ32回サンプルデータ)

    フォームからリストに転記するコード ~日本一やさしいマクロ講座UserForm編
  • エクセルVBAでOutlookメールの下書きを作成・表示して送信前に内容チェックする | 隣IT

    でも、一括送信できるとはいえ、送信前に内容チェックしたいな、ということもありますよね。 そんな時に使えるのが、MailItemオブジェクトのDisplayメソッドです。 今回は、このDisplayメソッドで、VBAで作成したOutlookのメールを、メール送信前に内容をチェックする方法をご紹介します! MailItemオブジェクトとは何ぞや?については、こちらの記事でご紹介していますので、併せてご覧ください。

    エクセルVBAでOutlookメールの下書きを作成・表示して送信前に内容チェックする | 隣IT
  • エクセルVBAでサンダーバードからメールを送る方法|半自動化も可|定時に帰る.com

    サンダーバードって使いやすいですよね。 サンダーバードで自動化でメールが送れたらな~と思って色々と調べてみました。 Outlookを使ったメール操作のVBAマクロは多かったのですが、サンダーバードでメールを送るVBAマクロは、ウェブ上や、を探しても断片的な情報が多く、コーディングにとても時間がかかってしまったので、自分でまとめました。 細かく場合分けをしているので、必要なVBAマクロをコピーして使って下さい。 ただサンダーバードはメールを作成する所まではできますが、「送信」ができないので、マクロを組むならOutlookの方がお勧めです。

    エクセルVBAでサンダーバードからメールを送る方法|半自動化も可|定時に帰る.com
  • ゼロからはじめるVBA - 日付/時刻関数編

    はじめに 今回は日付に注目して説明を行います。日付を取得・設定する関数(Date,Time,Now)、「三日後は何日か」などを計算するための関数(DateAdd、DateDiff、DatePart)、「今年は何年か」などを取り出す関数(Year、Month、Day、Weekday、WeekdayName、Hour、Minute、Second)について説明して行きたいと思います。 パソコンは日付と時刻を取り出すために、機械的に日付用IC(集積回路:Integrated Circuit)を内蔵しています。電源を入れているときに日付用ICの電源は充電され、電源を外しても1週間くらいは正しく動いています。パソコンは時間を見て動く処理が多いので、日付用ICを組み込んだ作りになっているのです。プログラムを組む場合も日付用関数は良く使用されます。 ゼロからはじめるVBA - 基編 ゼロからはじめるVB

  • Excel VBAのお勉強|グローウィン

    Like演算子は文字列の検索では手軽です。InStrよりも柔軟性があるので、正規表現よりも勝手がよくこの手の検索では重宝します。 しかしながらちょっと気を付ける点もあります。逆に気を付けないと全く予期しない結果が返ってくるので要注意です。 実際に検索すると気を付けることが分かる どんな点を注意するのかは、実際に例を見てもらった方が早いです。 下記の表は対象となる都道府県をLike演算子で判別し、Trueなら「○」を入れるようにしています。 Sub 対象となる都道府県の抽出1() Dim i As Integer For i = 2 To 6 ‘————————– ‘東京以外を対称にする ‘————————– If Cells(i, 1).Value Like “[!東京]*” Then Cells(i, 2).Value = “○” ‘対称でなければ空白 Else Cells(i, 2).

  • 文字列の比較:Excel VBA|即効テクニック|Excel VBAを学ぶならmoug

    ツイート ■2つの文字列が等しいかどうかを判定する ある文字列が、ある文字列と等しいかどうかを判定するには、「=」「<>」などの演算子を使います。 「=」演算子は「A = B」としたとき、AとBが等しい場合にTrueを返します。 たとえば次のサンプルは、アクティブセルに「新宿」という文字列が入力されているかどうかを判定します。 Sub Sample1() If ActiveCell.Value = "新宿" Then MsgBox "新宿です" Else MsgBox "新宿ではありません" End If End Sub 「<>」演算子は逆に、比較する文字列が等しくないときにTrueを返すので、上記のコードは次のように書くこともできます。 Sub Sample2() If ActiveCell.Value <> "新宿" Then MsgBox "新宿ではありません" Else MsgBo

  • How to run macro based on value selected from drop down list in Excel?

    Kutools for Excel 27.00 HOT 300+ Powerful Features You Must Have in Excel Kutools for Excel is a powerful add-in that frees you from performing time-consuming operations in Excel, such as combining sheets quickly, merging cells without losing data, pasting to only visible cells, counting cells by color and so on. 300+ powerful features / functions for Excel 2021, 2019, 2016, 2013, 2010, 2007 or Of

  • オートフィルタをVBAでもっと便利に - Qiita

    ある日のできごと オートフィルタは皆さん恐らく使ってますよね。特に不便と感じることもなく日々使い続け、徐々に手作業の速度も上がり、ついにはエクセル職人と呼ばれるほど操作が速い方もいると思います。そんな私も誰にも負けない速さを持っていると思ってましたが、ある日後輩が何をしているかわからないような圧倒的な素早さでオートフィルタを操作していたときにはかなわないなと感じました。そこで、後輩が行っていた作業をマクロでワンタッチで実行出来るようにすることにしました。 それってどんな作業? 例えば次のような表は皆さんの身近でもあると思いますがいかがでしょう。 連結決算ではよく勘定科目やさまざまな属性や金額の羅列といった表を使います。例えばこの表で、列Bの勘定科目がACCT04の項目を絞り込み表示したり、列Dの金額がゼロである項目を絞り込んだりすることをよく行います。皆さんも特定での絞り込み、されますよね

    オートフィルタをVBAでもっと便利に - Qiita
  • オートフィル(Autofill)とVlookUp関数、値貼り付けのマクロ(VBA) - サクッとコピペ ExcelVBA

    Excelの初心者だった頃、オートフィル(Autofill)を知った時の感動を今でも覚えています。連番の入力や日付などの入力に威力を発揮します。最初はドラッグしてやる方法をマスターし、次にダブルクリックして一気に張り付ける技を身につ行けた方は多いと思います。数式をオートフィルで入れる便利さを知った時、高校数学の行列を想起して、もう少し勉強しておくんだったなと後悔した方も多いことでしょう。 マクロだと、for文などの繰り返し処理でも代用できないこともないのですが、変数を設定したり、「&」でつなぐコードを書くのも面倒な感じがします。 実務で私はExcelの「vlookUp関数」を多用しており、これをオートフィルで伸ばして、最後に値に変換してを貼り付ける処理によく使っています。 こんな感じです。 要は、上の図にある数式「=VLOOKUP(B2,Sheet2!A:B,FALSE)」を数式としてセル

    オートフィル(Autofill)とVlookUp関数、値貼り付けのマクロ(VBA) - サクッとコピペ ExcelVBA