
入力したデータの一番下にの行に"data_end"と入力するようにしたいと思っております。
今、UsedRangeを使用してその下の行に"data_end"と入力しようとすると以前に使用した行まで選ばれてしまい、空白の行ができてしまう状態になっています。また、CurrentRegionを使用すると空白行があると空白行以降を選んでもらえません。(データがトビトビにあるので空白行と認識されてしまう可能性があります。)
しかも、データの入力されているセルは別のシートで計算式に参照されているのでいらない行を削除することはできません。
今入力されている状態の一番下の行を認識するにはどうしたらよいでしょうか?
プログラムは以下のように入力してあります。
Sub test()
Dim row_end As Integer
Sheets("sheet1").Select
ActiveSheet.UsedRange.Select
row_end = Selection.Rows.Count
Sheets("sheet1").Cells(row_end + 1, 1).Value = "data_end"
End Sub
ものすごく基本的な質問かもしれませんが、よろしくお願いしますっっっ。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
2つ考えてみました。
1.以前に使用した行には、書式か何か設定してありませんか?
それをクリアする事は出来るのですか?
一旦、全セルの書式をクリアし、data_endを書いてから
書式を再設定すればどうですか?
2.Findメソッドにより最終の文字列を検索して行番号を取得する。
Sub test()
Dim Row_End as Long
Row_End = Worksheets("Sheet1").Cells.Find(what:="*", SearchDirection:=xlPrevious).Row
Worksheets("Sheet1").Cells(Row_End + 1, 1).Value = "data_end"
End Sub
と言うのはどうですか?
注)行は65536行までありますから、Integerではエラーになると思います。
だめなら、また何か考えますので補足してください。
No.2
- 回答日時:
UsedRange.もCurrentRegionもEnd(xlUp).も話題に出てますが
Selection.SpecialCells(xlCellTypeLastCell).Select
が出てません。これはいかがですか。
ただこれを使って、A列だけの最終行を捉えるのはむつかしいよう。Cells(Index)で表される,空白でないセルの
Indexが,最大のセルを示す?
この回答への補足
わかりにくい文章で申し訳ございません。
A列にdeta_endを入れるのですがデータが入力されている列はA列とは限らず入力されています。
A列では3行目まで入力されているとしてもB列では5行目まで入力されている場合があります。
ですからA列だけの最終行ではなくシート全体の最終行と捉えていただいて結構です。
ただ、教えていただいた方法を試してみましたがUsedRange最終行とした行は同じものでした。
入力範囲のリセットみたいなことはできないのでしょうか?
No.1
- 回答日時:
Range("A65536").End(xlUp).Select
とすると、一番下に入力された行が選択されますから、
Range("A65536").End(xlUp).Offset(1, 0) = "data_end"
で、目的が遂げられませんか?
この回答への補足
説明不足で申し訳ございません。
データが入力されている列が特定の1列だけではありませんのでRangeの幅をRange("A65536:Z65536")としましたが見ているのはA列だけのようでした。
Endを使用するときRangeオブジェクトで指定できるのは1Cellだけなのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数値に見えるものはすべて数値...
-
UsedRangeの範囲の設定
-
Excel マクロ 検索結果を別シ...
-
【マクロ】A列最終行までを、カ...
-
各個体に対する平均値の自動計...
-
excel2021で実行できないマクロ...
-
縦型カレンダーを横型にできま...
-
列から特定の文字列検索→該当以...
-
エクセルのデータがない行には...
-
VB.net
-
Excel VBAでオートフィルタで抽...
-
【至急】Excel 同一人物の情報...
-
マクロにて指定の文字間の文字...
-
テキストファイル読み込みにお...
-
VBAで保存しないで閉じると空の...
-
【マクロ】元データと同じお客...
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
複数のマクロボタンをまとめて...
-
エクセル関数>参照ファイル名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロで最終行を取得してコピ...
-
【VBA】条件に一致しない行を削...
-
Excel VBAでオートフィルタで抽...
-
数値に見えるものはすべて数値...
-
VB.net
-
列から特定の文字列検索→該当以...
-
エクセルで空白行を削除する ...
-
Excel マクロ 検索結果を別シ...
-
エクセルのデータがない行には...
-
【マクロ】A列最終行までを、カ...
-
【VBA】条件に一致しない行を削...
-
各個体に対する平均値の自動計...
-
エクセルのVBAで指定した行数の...
-
EXCEL VBAでA列にある空白行よ...
-
VBAでの重複データに色付け
-
空白を複数行一気に挿入するには?
-
エクセルで階層図を作る方法
-
vbaエクセルマクロについて she...
-
【至急】Excel 同一人物の情報...
-
Excel97 指定した行だけマク...
おすすめ情報