忍者ブログ
  • 2025.05《
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 》 2025.07
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2025/06/20 01:24 |
Common
Excelマクロのモジュールをそのまま貼り付け。
(会社とか家とか出先とかで見るため)
「Option Compare Binary」以下を標準モジュールに貼り付ければ、Myマクロ辞典に!
貼り付け後、「■Sub 」を「Sub 」に置き換えよう!
※公開している以上、利用は自由ですが、自己責任で。


Option Compare Binary '文字列データの既定の比較方法の設定
Option Explicit '変数の宣言※

'■変数の宣言 Option Explicit
'プロシージャ(マクロ内の処理)内で使用する変数は先に宣言しておかなければならないという宣言文。
'これを記述しておくと宣言なしで変数が使われた場合や、変数エラーが発生した場合にメッセージが表示される。
'記述しなければ、宣言なしで変数を使うことができる(非推奨)

'あちこちにマクロが飛ぶ場合は、Commonモジュールを作ってそこにまとめて変数宣言するとよい。
'その場合は「Public~」にする。


'■変数の型と有効範囲
Public a As Long '全てのブック・モジュール・プロシージャ内で宣言する場合の型
Private b As Long 'モジュール内
Dim c As Long 'プロシージャ内


Rem ◆データ型の省略
'変数宣言のデータ型を省略すると「Variant」になる。
'省略する場合は何も書かないか、「$」を記述する。
Dim d
Dim e$
'※Variant型は消費メモリが大きいので、処理が遅くなる。


Rem ◆変数宣言をまとめる
Dim ws As Worksheet, flag As Boolean

Rem ◆配列変数
Dim myArray(2) As String
'http://officetanaka.net/excel/vba/variable/07.htm
'上記のように指定すると、myArray(0)、myArray(1)、myArray(2)に値を格納できる。
'通常は間違えやすいので、myArray(0)は使わない。
'3つの要素を利用したい場合は、myArray(3)とするのがよい(実際には4要素が格納できる)
'【参考】動的配列変数 http://officetanaka.net/excel/vba/variable/08.htm

'■定数の型と有効範囲(※定数は与えられた値が変化しない:Const)
Public Const myConst1 = "Tokyo" '全てのブック・モジュール・プロシージャ内で宣言する場合の型
Private Const myConst2 = "Osaka" 'モジュール内
Const myConst3 As String = "Nagoya" '宣言セクションに記述した場合は、モジュール内(=Private Const)
'プロシージャ内に記述した場合はプロシージャ内で有効。

'※データ型を指定しない場合は自動判別される。?
'★指定できるデータ型は以下の通り。
'バイト型 (Byte)、ブール型 (Boolean)、整数型 (Integer)、長整数型 (Long)、単精度浮動小数点型 (Single)、
'通貨型 (Currency)、倍精度浮動小数点数型 (Double)、日付型 (Date)、文字列型 (String)、またはバリアント型 (Variant)

'宣言する各変数に対して、As type 節を個別に指定。
'10 進数型 (Decimal) (現在はサポートされていません)

'参考:http://sdls.net/~barista/tech/vba/g1.html
'※変数や定数は日本語文字(2バイト文字)もOK



'■データ型
'データ型 名称 消費メモリ 格納できる範囲

Rem ◆数値を格納できる変数
'Byte バイト型 1バイト 0~255までの整数(バイナリデータを格納するためのもの)
'Integer 整数型 32バイト -32,768 ~ 32,767
'Long 長整数型 4バイト -2,147,483,648 ~ 2,147,483,647
'Single 単精度浮動小数点数型 4バイト -3.402823E38 ~ -1.401298E-45(負の値)
' 1.401298E-45 ~ 3.402823E38(正の値)
'Double 倍精度浮動小数点数型 8バイト -1.79769313486232E308 ~ -4.94065645841247E-324(負の値)
' 4.94065645841247E-324 ~ 1.79769313486232E308(正の値)
'Currency 通貨型 8バイト -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807

Rem ◆文字列を格納できる変数
'String 文字列型 2バイト 最大約20億文字まで

Rem ◆日付を格納できる変数
Rem Date 日付型 8バイト 西暦100年1月1日~西暦9999年12月31日までの日付と時刻

'■全てのデータに対応した変数
'Variant バリアント型 16バイト 可変長の文字列型の範囲と同じ

'■真(True)・偽(False)を格納できる変数
'Boolean ブール型 2バイト 真(True)または偽(False)を格納(真偽判定)

'■メッセージボックスの選択ボタンを識別する変数(列挙型)
'VbMsgBoxResult MsgBox関数使用

'■オブジェクトを格納する変数(オブジェクト型)
'Object 4バイト オブジェクトを参照するデータ型。ブック、シート…何でもOK
'Application アプリケーション
'Workbook ブック
'Workbooks 開いている全てのブック
'Worksheet ワークシート
'Worksheets ブックに含まれる全てのワークシート
'Range セル
'Shape オートシェイプ、フリーフォーム、OLEオブジェクト、図など描画レイヤ
'Window ウィンドウ ?

'★オブジェクト型を格納するときは、Setを使う → Cell_s の「変数を格納」参照
' Dim wb As Object
' Set wb = ThisWorkbook
' MsgBox wb.Name
' Set wb = Nothing '最後に参照を解除する
' wb Nothing 'これでもいい?←ダメ

'※なるべく消費メモリの少ない変数を使ったほうがいい。


'参考
'http://excelvba.pc-users.net/fol5/5_2.html
'http://www.moug.net/tech/exvba/0150065.htm
'http://pc.nikkeibp.co.jp/pc21/special/2007_gosa/eg4.shtml
'http://www.officepro.jp/excelvba/object/index1.html

'■コメント
'マクロの説明などのコメントを記述する場合に文頭につける。
'Remまたは'(アポストロフィ)

Rem は、行の先頭のみ(スペースを空ける)
'(アポストロフィ)は、行の途中に記述できる。


'■プロシージャ(SubやFunction)に関しては、「エラー処理1」の「プロシージャをダイアログに表示しない」を参照


'=========================================================================
'■Cells(RowIndex, ColumnIndex).メソッド/プロパティ
'【記述例】Cells(5, 3).Select ‥‥Cells(行,列)=C5セルを選択。

'RowIndex(行番号/縦)
'Excel2003までは「1~65,535」、Excel2007以降は「1~1,048,576」の整数で記述。

'ColumnIndex(列番号/横)
'Excel2003までは「1~256」、Excel2007以降は「1~16,384」の整数で記述。


'■Range(Cell).メソッド/プロパティ
'【記述例】Range("C5").Select  ‥‥C5セルをRangeで選択。
PR
2015/04/14 22:20 | Excelマクロ(VBA) | コメント(0)
<<Excelマクロ(VBA)リスト | ホーム | Cells>>
コメント
コメントの投稿















前ページ | ホーム | 次ページ