No.4ベストアンサー
- 回答日時:
>画像の様に、A列の最終行とF列の最終行が異なった時に
一応、異なった時にメッセージを出力します。
質問を読むと、A列とF列は例のように思えたので、A列を基準に他の列の最終行が異なれば異なった列をすべて表示します。A列からF列まですべて同じ行数ならなにも表示しません。(最後のコメント文を有効にすれば出力します)
ご参考に。
Sub Test()
Const maxColumn = 6 '列数 A~Fの6列
Dim LastRow(maxColumn) As Long '各列の最終行
Dim c As Integer '列カウンタ
Dim msg As String 'メッセージ
'各列の最終行を調べる
For c = 1 To maxColumn
LastRow(c) = Cells(Rows.Count, c).End(xlUp).Row
Next
'A列との違いを調べる
For c = 2 To maxColumn
If LastRow(1) <> LastRow(c) Then
msg = msg & "と" & Cells(LastRow(c), c).Address(0, 0)
End If
Next
'メッセージの出力
If Len(msg) > 0 Then
msg = "最終行は" & Cells(LastRow(1), 1).Address(0, 0) & msg & "です"
MsgBox msg
Else
'MsgBox "最終行は全て " & LastRow(1) & "行目です"
End If
End Sub
この回答へのお礼
お礼日時:2014/07/02 16:05
回答ありがとうございます。
希望した通り、最終行が異なった時に、その列の位置をMsgBoxにて表示する事が来ました。
それプラス各列の位置もMsgBoxで表示できたのが良かったです。
助かりました。
今後ともよろしくお願いします。
No.3
- 回答日時:
sub macro1()
msgbox "最終行はA" & cells(rows.count ,"A").end(xlup).row & "とF" & cells(rows.count, "F") & "です"
end sub
ぐらいで十分です。
#参考
上から落としていく(Ctrl+↓)のでは、データが無い場合など幾つかの状況で意図した結果が計算できないので注意してください。
No.2
- 回答日時:
Ctrlキーを押下しながら方向キーを押すと、データが不連続な場所までフォーカスが飛びます。
(例えばA65535セルを選択しておいて[Crtl+↑]を押すと、空欄と入力ありの境目である図のA11が選択される)
これを利用して、例えば以下のような感じで各列の最下行を取得して、後は各列の値を比較して好きな処理をしてやればよいのではないでしょうか。
Dim YOKO As Long
Dim ROW_COUNT() As Long
Dim i As Long
Cells(1, 1).Select
YOKO = Selection.End(xlToRight).Column
ReDim ROW_COUNT(YOKO)
For i = 0 To YOKO
Cells(1, i + 1).Select
ROW_COUNT(i) = Selection.End(xlDown).Row
MsgBox i + 1 & "列目の行 : " & ROW_COUNT(i)
Next
No.1
- 回答日時:
こんにちは!
A列・F列だけというコトであれば・・・
Sub Sample1()
Dim lastRowA As Long, lastRowF As Long
lastRowA = Cells(Rows.Count, "A").End(xlUp).Row
lastRowF = Cells(Rows.Count, "F").End(xlUp).Row
MsgBox "最終行は" & Cells(lastRowA, "A").Address(False, False) & "と" & _
Cells(lastRowF, "F").Address(False, False) & "です。"
End Sub
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) B列の最終行までA列をオートフィル 2 2022/09/05 05:50
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) エクセルのマクロを2つご指南ください 3 2023/01/02 12:16
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Visual Basic(VBA) VBAで列の再表示設定 1 2023/04/25 10:19
- Excel(エクセル) エクセルで文字の少し変わった計を取りたい 6 2023/05/30 23:19
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
「B列が日曜の場合」C列に/...
-
エクセルで最初のスペースまで...
-
VBAで文字列を数値に変換したい
-
エクセルの表から正の数、負の...
-
エクセルの並び変えで、空白セ...
-
エクセル 文字数 多い順 並...
-
エクセル(勝手に太字になる)
-
Excel 別ファイルに自動的に反...
-
Excel、市から登録している住所...
-
Excelで半角の文字を含むセルを...
-
EXCELで 一桁の数値を二桁に
-
A列がない・・・A列が非表示に...
-
文字列に数字を含むセルを調べたい
-
エクセルで文字が混じった数字...
-
2つのエクセルのデータを同じよ...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 同じ値を探して隣の...
-
文字を入力したら数値が自動入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル 同じ値を探して隣の...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
エクセルの項目軸を左寄せにしたい
-
Excel、市から登録している住所...
-
エクセルで、列の空欄に隣の列...
-
エクセルの表から正の数、負の...
-
エクセルの並び変えで、空白セ...
-
VBAで文字列を数値に変換したい
-
A列がない・・・A列が非表示に...
-
文字列に数字を含むセルを調べたい
-
50人を数回、グループ分けする...
おすすめ情報