Sub NoDrawingSample()
With Application
.ScreenUpdating = False ' 画面描画を停止する '
.Calculation = xlCalculationManual ' 自動計算を停止する '
End With
' /// ここから '
' 処理を記述
' ここまで /// '
With Application
.ScreenUpdating = True ' 画面描画の停止を解除する '
.Calculation = xlCalculationAutomatic ' 自動計算の停止を解除する '
End With
End Sub
2010/05/16
VBAの画面描画を停止する方法
2010/05/03
Excelのシートをまとめて再表示する
たぶん前の担当者が残したと思うんだけど、勤務先に使えるVBScriptファイルがあったのでメモ。
If WScript.Arguments.Count = 0 Then
MsgBox "Excelの非表示シートをまとめて表示するVBScriptです。" & _
vbCrLf & "ファイルをドロップして使用してください。", , "説明"
WScript.Quit
End If
On Error Resume Next
For Each myFName In WScript.Arguments
If LCase(Right(myFName, 3)) = "xls" Then
Set myXLS = CreateObject("Excel.Application")
myXLS.Visible = True
Set myBK = myXLS.Workbooks.Open(myFName)
For Each mySH In myBK.Sheets
mySH.Visible = True
Next
Set myBK = Nothing
Set myXLS = Nothing
End If
Next
If Err.Number <> 0 Then
MsgBox "ブックの保護を解除して試してください。", , "エラー"
End If
2010/05/02
VBAでシートの有無を確認する
任意のシートの有無によって処理を分けたい場合に使えるサンプルコードです。
' シートの有無を確認する (1) '
Sub ChkSheetSample1()
Dim xWsheet As Worksheet
Dim xFlag As Boolean
For Each xWsheet In Worksheets
If xWsheet.Name = "確認したいシート名" Then xFlag = True
Next xWsheet
If xFlag = True Then
' 該当のシートがある場合の処理 '
MsgBox "あり"
Else
' 該当のシートがない場合の処理 '
MsgBox "なし"
End If
End Sub
' シートの有無を確認する (2) '
Sub ChkSheetSample2()
Dim xWsheet As Worksheet
On Error Resume Next
Set xWsheet = Worksheets("確認したいシート名")
On Error GoTo 0
If xWsheet Is Nothing Then
' 該当のシートがない場合の処理 '
MsgBox "なし"
Else
' 該当のシートがある場合の処理 '
MsgBox "あり"
End If
End Sub
2010/05/01
2010/04/30
2010/04/29
Google Suggest の検索候補を取得する
Google の検索枠に文字を入力すると、↓のように検索キーワードの候補が表示されますが、これはGoogle サジェストという機能によって提供されています。
この機能は、Google Suggest API として一般に公開されているので手軽に利用できます。今回は、VBAでGoogle Suggest API のキーワード候補をA to Zで取得するループ文を組んでみます。
一旦、シート内のデータをクリアするので、作業中のブックでは実行しないように注意してください。
VBAで最終行、最終列を取得する
' 最終行の取得 '
MaxRow = Cells(Rows.Count, 1).End(xlUp).Row
' 最終列の取得 '
MaxCol = Cells(1, Columns.Count).End(xlToLeft).Column
最終行(最終列)の取得には、大まかに以下の方法があります。
- Endプロパティを使って、上(左)から下(右)に検索する方法
- Endプロパティを使って、下(右)から上(左)に検索する方法
- UsedRangeプロパティを使って、使用済みのセルの範囲を取得する方法
表の中にデータが抜けているセルがある場合は、UsedRangeプロパティで大枠の範囲を取得する方法がベターですが、個人的には、表の下(右)から上(左)に検索する方法しか使っていないです。
なお、最終行、最終列の取得については、以下のページにまとまっています。
登録:
投稿 (Atom)