メソッド1
最終行取得(getLastRow)
使い道
範囲を取得するのに使用。For~Nextなどの繰り返し処理とあわせて使用されることも多い
文法
最終行=Worksheets(シート名).cells(rows.count,列名).end(xlup).row
*実際に使用する時には対象シート、列名(列位置)は変更が必要
メソッド実際
クラスモジュール(clsLastRow)
Function getLastRow()
getLastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
End Function
標準モジュール
Sub method1()
‘クラス設定
Dim myClass As clsLastRow: Set myClass = New clsLastRow
‘メソッド呼出⇒最終行出力
MsgBox myClass.getLastRowEnd Sub
参考URL
サンプルファイル
https://feelcodelab.com/download/%e3%83%a1%e3%82%bd%e3%83%83%e3%83%891%e6%9c%80%e7%b5%82%e8%a1%8c%e5%8f%96%e5%be%97/
メソッド2
文字列の分割取得(getSplitToFirst,getSplitToLast)
使い道
区切り記号を含む文字列から特定の位置の文字列を取得するのに使用。今回で言えば「ABC-DEFG-HIJK」の文字列から最初の-の前の文字列(ABC)や最後の-の後の文字列を取得する
文法
変数:myTEMP = Split(対象文字列, 対象区切り記号)
⇒こじれでABC-DEFG-HIJKならば(0):ABC、(1):DEFG、(2):HIJKに分割される
⇒myTEMP(0)でABC、myTEMP(2)でHIJKが取得できる
- 変数:myTEMPはVARIANT型で宣言してください
メソッド実際
- クラスモジュール(clsSplit)
Function getSplitToFirst(ByVal vWord As String) ‘引数:分割する文字列
Dim myCheckWord As String: myCheckWord = “-” ‘位置に注目する区切り記号
Dim myTEMP As Variant ‘分割した文字列を一旦格納するための変数 myTEMP = Split(vWord, myCheckWord) getSplitToFirst = myTEMP(0) End Function Function getSplitToLast(ByVal vWord As String) ‘引数:分割する文字列
Dim myCheckWord As String: myCheckWord = “-” ‘位置に注目する区切り記号
Dim myTEMP As Variant ‘分割した文字列を一旦格納するための変数 myTEMP = Split(vWord, myCheckWord) getSplitToLast = myTEMP(2) End Function - 標準モジュール
Sub method2_1()
‘クラス設定
Dim myClass As clsSplit: Set myClass = New clsSplit
Dim myWord As String
‘対象文字列取得
myWord = ActiveSheet.Range(“A2”).Value
‘メッセージの表示
MsgBox myClass.getSplitToFirst(myWord) End Sub Sub method2_2()
‘クラス設定
Dim myClass As clsSplit: Set myClass = New clsSplit
Dim myWord As String
‘対象文字列取得
myWord = ActiveSheet.Range(“A2”).Value
‘メッセージの表示
MsgBox myClass.getSplitToLast(myWord) End Sub
コメントを残す