- ベストアンサー
エクセルのマクロ作成で困っています。任意の列(〇列1行目)から0001
エクセルのマクロ作成で困っています。任意の列(〇列1行目)から0001-安部 0002-安藤 0003-木下・・と入力された列があります(番号は3桁あるいは4桁です)。そして、例えば最後の入力されたセルの行番号が56だとして、そこに入力されたものが「0056-名前」であるか確認するマクロを作りたいのですが、どのように記述すればよいでしょか?確認したいのは番号(この場合'0056')のみで良いのですが・・。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
最後の行だけをチェックすればいいのでしょうか? 下記はコードの一例です。 (A列にデータが入力されているものとします) Sub Macro If Left(Range("A65536").End(xlUp).Value, 4) = Format(Range("A65536").End(xlUp).Row, "0000") & "-" Then MsgBox "行番号と一致しました。" Else MsgBox "行番号と一致しません。" End If End Sub
その他の回答 (1)
- okwaveninokun
- ベストアンサー率50% (1/2)
回答No.1
名前は必ず「番号-名前」のようになっているなら、 MsgBox "最終番号は" & Split(Range("A" & Rows.Count).End(xlUp), "-")(0) & "です" でOKです。 ※↑はA列の最終セルの情報を表示する設定です。 例えば、名前がB列にあるなら「"A"」の部分を「"B"」に変更してください。
質問者
お礼
すばやい回答ありがとうございました!最終セル表示の取得はこうやるんですね。今回私の説明不足で希望の結果は得られませんでしたが、非常に参考になりました、感謝です。
お礼
即答、大変ありがとうございます。番号3桁用にIF文にOr条件を付け足して希望通りの結果が得られました。それにしてもA65536で最終行が取得出来るとは知りませんでした・・。本当にありがとうございました。