数字の範囲と同じように、アルファベットも、〇 To 〇 で範囲指定できる!Sub Sample0() Select Case Range("A1").Value Case "A" To "F" MsgBox "A~F" Case Is > "F" MsgBox
更新情報
Excel-VBA セルの表示形式を設定、表示 NumberFormatLocal
Sub FormatOfCell() 'セルの表示形式を設定 Range("A1").NumberFormatLocal = "\#,##0" 'セルの表示形式を表示 MsgBox "The number format for cell A1 is " & _ Worksheets("Sheet1").Range("A1").NumberFormatLocalEnd Sub Microsoft Offi
Excel-VBA ワークシートのインデックス番号 Index
ワークシートのインデックス番号は、一番左のシートから「1」で始まる。「0」からじゃないよ。Sub IndexOfSheet() Dim i As Long For i = 1 To Sheets.Count MsgBox Sheets(i).Name & "→" & Sheets(i).Index Next i End Sub Micros
Excel-VBA 新しいシートを処理する(移動やシート名など)
VBAProject --> Microsoft Excel Objects --> ThisWorkbook引数 Sh が、新しいシートのオブジェクトPrivate Sub Workbook_NewSheet(ByVal Sh As Object) MsgBox Sh.Name Sheets(Sh.Name).Move before:=Sheets(1)End Sub Microsoft Office ブログランキングへ
Excel-VBA 「名前を付けて保存」をできなくする(キャンセル)
VBAProject --> Microsoft Excel Objects --> ThisWorkbookPrivate Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI = True Then MsgBox "「名前を付けて保存」をキャンセルします" Cancel = True End
Excel-VBA イベントマクロを Cancel = True で中断する
ワークブックや、ワークシート、ユーザーフォームのイベントマクロを、キャンセルするイベントマクロの引数に、 Cancel があれば、処理をキャンセルし中断することができます。ブックを閉じる処理を中断Private Sub Workbook_BeforeClose(Cancel As Boolean) (処理) Cancel
Excel-VBA イベント・マクロを実行中の別のイベント発生を止める Application.EnableEvents
イベント・マクロを実行中に、セルの選択や値の変更などによる別のイベントが起きないように制御する方法例えば、Worksheet_Change イベントは、プログラム中でセルの値を変更する度に実行されてしまうので注意が必要です。Application.EnableEvents = False(処理)Applicatio
Excel-VBA ファイル名の変更、ファイルの移動、ファイルの変更(CSV⇔TXT)Nameステートメント
Sub ファイル名変更() Dim myPath As String myPath = ThisWorkbook.Path 'ファイル名の変更 Name myPath & "\test.xlsm" As myPath & "\test2.xlsm" 'ファイル名の移動 Name myPath & "\test2.xlsm" As myPath & "\private\tes
Excel-VBA カレントフォルダの移動 CurDir ChDrive ChDir ThisWorkbook.Path
カレントフォルダを調べるSub カレントフォルダ表示() MsgBox CurDirEnd Subパスを省略してファイルを指定すると、カレントフォルダ内のファイルを指定した事になる。思わぬミスを起こさぬように、意識的にカレントフォルダを移動させよう。ドライブの変更は、ChDrive
Excel-VBA テキストファイルのデータを全て読み込む Getステートメント
Getステートメントの形Get [#]filenumber, [recnumber], varname詳しくは、VBEでヘルプをご覧ください使用例Sub Test() Dim strProg As String strProg = Space(FileLen("c:\ProgramData\Classプログラム.txt")) Open "c:\ProgramData\Classプログラム.txt" F
Excel-VBA 任意の数の引数を渡す ParamArray キーワード
Function name (ParamArray varname())キーワード ParamArray を使った場合は、どの引数に対してもキーワード Optional は指定できません。 引数の、最後の引数でのみ使用できます。その引数がバリアント型 (Variant) の要素を持つ省略可能 (Optional) な 配列であることを
Excel-VBA 新しい名前を付けて、保存して閉じる
Sub Test1() ActiveWorkbook.Close SaveChanges:=True, Filename:=ThisWorkbook.Path & "\NewBook.xls"End Sub Microsoft Office ブログランキングへ
Excel-VBA 結合セルを扱う MergeCells MergeArea
Sub Test1() Range("A1:C1").MergeCells = True Range("C1").MergeArea.Value = "Excel" Range("A1").Value = "VBA" '左上セルかMergeAreaを使わないとできない Range("B1").Value = "失敗"End Sub Microsoft Office ブログランキングへ
Excel-VBA 確認メッセージを表示しない Application.DisplayAlerts
Sub Test1() Application.DisplayAlerts = False Sheets("Sheet1").Delete' Application.DisplayAlerts = True' Application.DisplayAlerts = False ThisWorkbook.Close Application.DisplayAlerts = TrueEnd Sub Microsoft Office ブログ
Excel-VBA セルのコピー CutCopyModeのFalseで予想外のエラーを回避
Sub test3() Range("A1").Copy Destination:=Range("A2") Range("A1").Copy Range("A3") Sheets(1).Range("a1").Copy Sheets(2).Cells(1) Range("A1").Copy Range("A4").PasteSpecial Paste:=xlPasteValues Application.