2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VBAメモ_最終行取得など利用頻度が多い物メモ

Posted at

概要

ExcelVBAで最終行取得など、使用頻度が多いが毎回忘れて検索の手間が掛かっているものがあるので
使用頻度が多そうなものを随時こちらに備忘録として残していこうと思います(='ω'=)

解説は抜きでコピペ用です。

最終行取得

Dim maxRow, maxCol As Long
maxRow = Cells(Rows.Count, 1).End(xlUp).Row'1(A列)の値がある最終行取得
maxCol = Cells(1, Columns.Count).End(xlToLeft).Column'1(1行目の)の値がある最終列取得

Sleep処理

以下の内容をモジュールの一番上に記載します。
調べるのが手間だと思うのでエラーが出ない方のみを記載すればよいです。

#32bitの場合
    Public Declare PtrSafe Sub Sleep Lib kernel32 (ByVal dwMilliseconds As Long)
#64bitの場合
    Public Declare Sub Sleep Lib kernel32 (ByVal dwMilliseconds As Long)

実際の停止処理については、プロシージャで処理したい場所に以下の方法で設定します。

Sleep 1000 '1秒処理を停止

For文(処理途中抜け方法)

Dim i As Long
'A列の文字列チェック
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
    'stop文字が含まれる場合は処理を抜ける
    If InStr(Cells(i, 1).Value),"stop")> 0 Then
        Exit For
    End If
    Debug.Print i
Next i
Debug.Print "終了"

For文(ループ処理でcontinue)

Dim i As Integer
For i = 0 To 10
    If i Mod 2 = 0 Then     ' iが偶数の時はcontinueしたい
            GoTo CONTINUE1:     ' Goto文にて疑似的にcontinueを実現
    End If
    Debug.Print i
CONTINUE1:
    Next i

バッチファイルの作成および実行

Dim batTest As String
batTest = "C:\VBA\BATファイルテスト\test.bat"
'バッチファイルの作成
Open batTest For Output As #1
     Print #1, "echo testView"
     Print #1, "pause"
Close #1
'バッチの実行
Shell batTest, vbNormalFocus
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?