このサイトはExcelの入門書レベルの学習を一通り終え、更にExcel VBAの知識を身に付けたいと考えている方を対象としています。 このサイトによりExcel VBAの魅力を体験していただければ管理人としては最高の喜びです !! (*^ ^*)
●概要● AccessではDevelopers Edition以外にはCommon Dialog Controlの開発ライセンスが付属していませんし、ExcelのGetOpenFileNameのようなAPIのラッパーも用意されていません。 仕方がないので、サンプルでAPIを直接操作して、コモンダイアログを表示する方法を説明します。 ●準備● 新規標準モジュールを作成し、以下のプロシージャを記述して下さい。 ●サンプルコード● '【API宣言部】 Public Declare Function GetOpenFileName _ Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" ( _ pOpenFileName As OPENFILENAME) As Long 'pOpenFileName構造体(ユーザー定義型)の宣言 Type OPENFILEN
こいつらを、いちいち読んだり書いたりするたびに、使い分けていたのでは大変です。 これらをラップして、1 個の関数で、目的の動作をしてくれる関数を作っておくと便利ですね。 それでは、そのために必要な、レジストリからデータを読み込むために使う初期データを宣言しておきましょう。 ' =========================================================================== ' バッファ定義 ' =========================================================================== ' レジストリに格納できる最大文字数 Public Const XXX_REGISTRY_MAX_STRING_SIZE = 1024 ' ===========================
テキストボックスは数値、文字列などを入力する場合に使用します。また、頻繁に使用する数値、文字列(当日年月日など)を初期値としてセットすることができます。例としてテキストボックスをフォームに配置し、当日年月日を初期値としてセットするコードを記述します。 ツールボックスよりテキストボックスのアイコンをクリックします。 テキストボックスを配置したい場所でドラック&ドロップします。 フォームに配置できたらテキストボックスを右クリックしプロパティを選択します。 プロパティ項目のオブジェクト名をクリックし、デフォルトでオブジェクト名(TextBox1)が入力されているので変更します。(例ではtxtDateに変更)(オブジェクト名は変更しなくても良いのですが、後々テキストボックスが増えた場合区別がつきにくくなるので変更することをお勧めします。) ユーザーフォームをクリックして選択し、右クリックしコードの
こいつらを、いちいち読んだり書いたりするたびに、使い分けていたのでは大変です。 これらをラップして、1 個の関数で、目的の動作をしてくれる関数を作っておくと便利ですね。 それでは、そのために必要な、レジストリからデータを読み込むために使う初期データを宣言しておきましょう。 Option Explicit ' =========================================================================== ' レジストリ操作のための定義 ' =========================================================================== ' HEKY 定数 Public Const HKEY_CLASSES_ROOT = &H80000000 Public Const HKEY_CU
VBEのウィンドウから、 [ツール]メニュー ⇒[オプション]⇒[全般]タブ 「グリッドの設定」で変更できる。 思ったこと Excel2002 と 2003 では UserForm のグリッドの間隔が違うのであろうか? 2002 の方を自分で変えたかもしれないが、こちらの方が細かいし相性も良い。 「どこで変えればいいのか」ヘルプを検索 “グリッド” では、「らしき」ものはヒットしない。 “間隔” でも同じ。 では、“grid” でどうか‥‥ Show or hide the grid(Forms) を見たら、「グリッドの表示/非表示を切り替える」のタイトル ここから、上記の方法を探り当てた。 ならば、“グリッド”でヒットしてほしいものだ。それともIEのバージョンが7のせい*1 か‥‥ *1:Internet Explorer 7.0.5700.7 のヘルプは、まだ英文で出る。
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
VBAの関数 Home Excel VBA VBAの関数一覧 Abs Array Asc AscB AscW Atn CallByName CBool CByte CCur CDate CDbl CDec Choose Chr、ChrB、ChrW CInt CLng Cos CreateObject CSng CStr CurDir CVar CVDate CVErr Date DateAdd DateDiff DatePart DateSerial DateValue Day DDB Dir DoEvents EnViron EOF Error Exp FileAttr FileDateTime FileLen Filter Fix Format FormatCurrency FormatDateTime FormatNumber FormatPercent FreeFile FV
ドライブ・フォルダの操作、ファイルの新規作成・展開・検索、属性の取得・設定、ファイルを保存・閉じる、ファイルの変更・複写・移動・保護・削除
Array 関数 変数をたくさん宣言しなければならないときには、この関数を使ってコードをすっきりと見やすくしましょう。 構文 Array(arglist) arglist … 変数に保存する値。必ず指定します。 変数myRetにArray関数を使って配列を作成します。 値のリストをカンマで区切って指定します。値は左側から順に0・1・2・3・・・とインデックスが自動で付けられます。 このときに注意する点は、変数はバリアント型で宣言するということです。 Array 関数の使用例 Dim myRet as Vriant myRet = Array("txtフィールド名1","txtフィールド名2","txtフィールド名3") ※例:myRet(2)はtxtフィールド名3となります。 UBound と LBound 関数 Array関数を使って作成した配列変数をもとにループ
パソコン通信時代に書いた、この「VBA高速化テクニック」の中で、間違って伝わっているな~と感じていたのは、冒頭の「画面を止める」と、これ「配列を使う」です。90年代のパソコンはスペックが低かったです。CPUは遅いし、メモリも少なく低速、Windowsの画面描画機能も遅かったし、そもそもExcelもそれほど速くはなかったです。そんな中で、大量のセルにアクセスするのなら、一度配列に入れて配列を操作する方が速いよって話でした。でも、何となく「配列に入れると速い」ということだけが一人歩きして、とにかく何でも「配列は速い!配列は速い!配列!配列ぅ!」って言われてます。 ちょっとやってみましょうか。まずは単純に、データを探す操作から。A列に200,000個の名前が入っています。この中から"田中"を探して、該当するB列の数値を取得します。ちなみに"田中"は一番下のセルA200000にあります。 Sub
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く