• ベストアンサー

VBA 文字が入力されているセルを表示させたい

ExcelのVBAで 列番号"A列"に文字を適当に打った時 文字が入っている最終セル(行番号)と その最終セルに入っている文字を "C1"のセルに表示させる というVBAを作成したいのですガ… どなたかわかる方教えて下さい 自分が考えたものはVBAが妙に長くなってしまい; Excelのバージョンが2000と古いので 古いのでも動くVBAだと助かります; 宜しくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

>自分が考えたものはVBAが妙に長くなってしまい~ どのように長くなったのでしょうか? サンプルです。 Sub test() Dim r As Long r = Cells(Rows.Count, 1).End(xlUp).Row Range("C1").Value = "行番号:" & r & vbLf & "値:" & Cells(r, 1).Value End Sub (2003で確認していますが、2000でもいけると思います)

moguraaaaa
質問者

お礼

>どのように長くなったのでしょうか? 知ってる知識だとForやIfなのでそちらの方 使って書いたら異様に長くなりました; r & vbLf が私の知識ではわかりませんが これから調べて使えるようにしたいですー ご回答ありがとうございます

その他の回答 (4)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.5

関数だと =COUNTA(A:A) & "行 " & OFFSET(A1,COUNTA(A:A)-1,0) というのもありですね。

moguraaaaa
質問者

お礼

おっ。関数という手もありました ご回答ありがとうございます!

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.4

With Range("A" & Rows.Count).End(xlUp)     Range("C1").Value = .Row & "行目に " & .Value End With とか?

moguraaaaa
質問者

お礼

こんな書き方あるのですかぁ 私の知識では何となくでしか 意味が理解できませぬが(^^; ご回答ありがとうございます-!

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

関数だと C1に =COUNTA($A:$A)&"行 " & LOOKUP(9999999999,$A:$A) でいけます

moguraaaaa
質問者

お礼

関数での方法も色々あるのかぁ 関数という手は頭にありませんでした; ご回答ありがとうございます

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

Range("C1").Value = Range("A65536").End(xlUp).Row & "行 " & Range("A" & Range("A65536").End(xlUp).Row).Value でいかがでしょう。

moguraaaaa
質問者

お礼

こんな一行で書けるなんて…! お早いご回答ありがとうございます!

関連するQ&A

専門家に質問してみよう