hakeの日記

Windows環境でプログラミングの勉強をしています。

2015-11-09から1日間の記事一覧

EXCEL VBAメモ - セルが空か否かの判断

If Range("A9") = Empty Then MsgBox "empty"

EXCEL VBAメモ - 文字と数値の変換

MsgBox Chr(65) ' -> "A" MsgBox Asc("A") ' -> 65

EXCEL VBAメモ - 描画処理無効化(処理速度の向上)

Application.ScreenUpdating = False '無効 Application.ScreenUpdating = True '有効

EXCEL VBAメモ - ファイル選択ダイアログ

Sub fileSelectDialog() Dim fn As String fn = Application.GetOpenFilename( _ "エクセルファイル(*.xls?),*.xls?" & ",CSVファイル(*.csv),*.csv") If fn <> "False" Then MsgBox fn End If End Sub

EXCEL VBAメモ - ファイル(ワークブック)のオープン&クローズ

Sub wbOpenClose() Dim wb As Workbook Workbooks.Add ' 新規ワークブック作成 Set wb = ActiveWorkbook wb.SaveAs ("test.xlsx") ' 名前を付けて保存 wb.Close ' 閉じる MsgBox "Close" Workbooks.Open "test.xlsx" ' 名前を指定して開く Set wb = ActiveWo…

EXCEL VBAメモ - パスの取得

Sub msgCurPath() MsgBox ActiveWorkbook.path ' 本ブックのあるパス MsgBox CurDir ' カレントパス(本ブックのあるパスではない) End Sub

EXCEL VBAメモ - オブジェクトの情報

Dim str As String, rng As Range, obj As Object, var As Variant MsgBox TypeName(str) 'String MsgBox TypeName(rng) 'Nothing MsgBox TypeName(obj) 'Nothing MsgBox TypeName(var) 'Empty Set rng = Range("A1") Set obj = CreateObject("Excel.Applica…

EXCEL VBAメモ - MsgBoxの第2引数

vbOKOnly 0 [OK] vbOKCancel 1 [OK] [キャンセル] vbAbortRetryIgnore 2 [中止] [再試行] [無視] vbYesNoCancel 3 [はい] [いいえ] [キャンセル] vbYesNo 4 [はい] [いいえ] vbRetryCancel 5 [再試行] [キャンセル] vbCritical 16 警告メッセージ アイコン v…

EXCEL VBAメモ - シート上の選択範囲の移動とサイズ変更

Range("A1:C3").Select ' 選択範囲を広さを保持したまま縦 + 1, 横 + 1へ移動 Selection.Offset(1, 1).Select MsgBox Selection.Address ' B2:D4 ' 選択範囲の広さを縦 - 1, 横 - 1に変更 Selection.Resize(Selection.Rows.Count - 1, Selection.Columns.Cou…

EXCEL VBAメモ - ブック、シート、セルの選択

Workbooks("test2.xlsm").Activate ' 開かれているブックから一つを指定 ActiveWorkbook.Sheets("Sheet2").Select ' 指定されたブックから一つのシートを指定 ActiveSheet.Range("A1").Select ' 指定されたシートから一つ(または複数)のセルを選択 MsgBox …

EXCEL VBAメモ - セル操作&情報取得

セルの選択 Range("A1").Select Cells(2, 1).Select ' -> "A2" Cells(3, "A").Select '-> "A3" セル範囲の選択 Range("A1:C3").Select Range( Cells(1,1), Cells(3,3) ).Select ' -> A1:C3 セルの行、桁の取得 MsgBox Range("A3").Address '-> $A$3 MsgBox R…

EXCEL VBAメモ - データのある最終行の検索

下から検索 Rows.Countは最大行。最大行からのCtrl+↑と同じ。 Cells(Rows.Count, 1).End(xlUp).Select 上から検索 空白行の一つ上の行が選択される。 Cells(1, 1).End(xlDown).Selectただし、開始位置が空白行、または、空白行の一つ上の場合は次にデータが…

EXCEL VBAメモ - 論理演算子評価

論理演算は常に演算子の両側を評価する。(最適化しない) Sub foo() If t1() Or t2() Then MsgBox "1" Else MsgBox "2" End If If f1() And f2() Then MsgBox "3" Else MsgBox "4" End If End Sub Function t1() As Boolean MsgBox "exec t1()" t1 = True E…

EXCEL VBAメモ - 変数

変数宣言の強制 変数名のタイプミスが見つかり易くなる。 Option Explicitまたは、「ツール」→「オプション」→「変数の宣言を強制する」 変数の宣言は1つずつ 以下の変数aは、Integerにならない。 Dim a, b As Integer MsgBox TypeName(a) '-> Empty MsgBox …