その他の操作まとめ [ExcelのVBA]
セル内の文字列を検索する
Private Sub CommandButton1_Click() Dim obj As Range ' 「りんご」を検索 Set obj = ActiveSheet.Cells.Find("りんご") If obj Is Nothing Then Debug.Print "文字列は見つかりません。" Else ' 見つかったセル情報 Debug.Print "行数:" & obj.Row & _ " 列数:" & obj.Column & _ " A1形式:" & obj.Address( _ RowAbsolute:=False, _ ColumnAbsolute:=False) End If End Sub
※Findの文字列にはワイルドカードが使用可能です。
※「RowAbsolute:=False」と「ColumnAbsolute:=False」は絶対参照の「$」マークを非表示にするという意味です。
[例]

[結果]

セル内の文字列を連続検索する
Private Sub CommandButton1_Click() Dim obj As Range Dim firstAddress As String ' 「りんご」を検索 Set obj = ActiveSheet.Cells.Find("りんご") ' 「りんご」が存在する場合 If Not obj Is Nothing Then firstAddress = obj.Address Do ' 見つかったセル情報 Debug.Print "行数:" & obj.Row & _ " 列数:" & obj.Column & _ " A1形式:" & obj.Address( _ RowAbsolute:=False, _ ColumnAbsolute:=False) ' 次を検索する Set obj = Cells.FindNext(obj) Loop While (Not obj Is Nothing) And (obj.Address <> firstAddress) Else Debug.Print "文字列は見つかりません。" End If End Sub
[例]

[結果]

セルにハイパーリンクを設定する
Private Sub CommandButton1_Click() Dim link As Hyperlink ' A1のセルにハイパーリンクを設定する Set link = ActiveSheet.Hyperlinks.Add( _ Anchor:=Range("A1"), _ TextToDisplay:="プチモンテ", _ Address:="http://www.petitmonte.com/") ' ハイパーリンクの削除 'link.Delete ' 全てのハイパーリンクの削除 'ActiveSheet.Hyperlinks.Delete End Sub
ブック、シートの個数を取得する
Private Sub CommandButton1_Click() ' ワークブックの個数 Debug.Print Workbooks.Count ' (アクティブの)ワークシートの個数 Debug.Print ActiveWorkbook.Worksheets.Count End Sub
複数、全てのシートを選択する
Private Sub CommandButton1_Click() ' 全てのワークシートの選択 Worksheets.Select ' 複数のワークシートの選択 Worksheets(Array(1, 2, 3)).Select Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Select End Sub
「ファイルを開く」ダイアログを表示する
Private Sub CommandButton1_Click() Dim filename As String ' ファイルを開くダイアログを表示する filename = Application.GetOpenFilename( _ FileFilter:="Excelファイル,*.xls" & "," & _ "マクロ有効ファイル,*.xlsm" & "," & _ "全てのファイル,*.*") If filename <> "False" Then Range("A1").Value = filename Else Range("A1").Value = "キャンセル" End If End Sub
[結果]

「名前を付けて保存」ダイアログを表示する
Private Sub CommandButton1_Click() Dim filename As String ' 名前を付けて保存ダイアログを表示する filename = Application.GetSaveAsFilename( _ FileFilter:="Excelファイル,*.xls" & "," & _ "マクロ有効ファイル,*.xlsm" & "," & _ "全てのファイル,*.*") If filename <> "False" Then Range("A1").Value = filename Else Range("A1").Value = "キャンセル" End If End Sub
[結果]

シートをズームする
Private Sub CommandButton1_Click() ' シート1をアクティブにする Sheet1.Activate ' アクティブウインドウのズームを200%にする ActiveWindow.Zoom = 200 End Sub
確認ダイアログを非表示にする
Private Sub CommandButton1_Click() ' 確認ダイアログを非表示にする Application.DisplayAlerts = False ... 確認ダイアログが表示される処理 ' 確認ダイアログを表示する設定にする(デフォルトはTrue) Application.DisplayAlerts = True End Sub
画面の描画を停止する
重い処理を実行する時などに使用します。
Private Sub CommandButton1_Click() ' 画面の描画を停止する Application.ScreenUpdating = False ... 重い処理 ' 画面の描画を再開する (デフォルトはTrue) Application.ScreenUpdating = True End Sub
※「シート.Visible = False」でシートを非表示にする方法もあります。
シート全体をクリアする
Private Sub CommandButton1_Click() ' シート全体をクリアする Worksheets("Sheet1").Cells.Clear End Sub
VBAの固有操作
[セルの操作]
セルの値/計算式を設定する
セルのフォントを設定する
セルの背景色/網掛けを設定する
セルの文字配置を設定する
セルの表示形式を設定する
セルに罫線を設定する
セルの選択/コピー/貼り付け/切り取り/削除/クリア
セルの結合/結合の解除をする
セルにコメントを追加/削除する
シートの保護とセルのロック解除をする
セルの値をソートする
[テーブル/グラフ/ピボットテーブル]
テーブルの作成/操作
グラフの作成/操作
ピボットテーブルの作成/操作
[ワークシート]
シートの追加/移動/コピー/削除/表示/印刷
ワークシートのイベント
[ワークブック]
ブックを開く/追加/上書き/名前保存/PDFの作成
ワークブックのイベント
[その他]
その他の操作まとめ
エクセル講座のクイックリンク
スポンサーリンク
関連記事
公開日:2015年07月23日 最終更新日:2015年07月26日
記事NO:01236