まじか!最終列!!_VBA
行の最終行は、次のように書きますね。
RowEnd = Range("A" & Rows.Count).End(xlup).Row
つまり、空白セルがあったらいけないので、
「一旦一番下の14万行目目まで行ってから、上に戻って来る」
と言うやり方ですね。
さて、同様に、タイトル行で、一番右端の列(最終列)を知りたい時があります。
そこで、行の時と同じ考え方の、「行って来い」でいけるだろう、
とやってみました。
ColumnEnd = Range("A1" ).End(xlToLeft).Column
ところが!
結果は、「1」
となりました。
なんか、セルを突き抜けて判定しちゃうみたいでした(*0*)
そして、試行錯誤してみて、できました!!
ColumnEnd = Range("A1" ).offfset(0,Columns.Count-1).End(xlToLeft).Column
そして、この勢いで、Function化しちゃいます♪
Function(ByVal wsNm as string)as Long
Dim ws as Worksheet: Set ws = Worksheets(wsNm):ws.Activate
ColumnEnd = ws.Range("A1").offset(,Columns.Count-1).End(xlToLeft).Column
End Function
↓
ColumnEnd("シ-ト名") で、
1行目のタイトル行の右端の列番号が分かります☆