• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:空白までのデータを範囲指定する)

空白までのデータを範囲指定する方法

このQ&Aのポイント
  • EXCEL VBAを使用して、A列からD列の行が空白になるまでの範囲を指定する方法について教えてください。
  • 最終行の次の行にカーソルを合わせるマクロはわかるのですが、範囲を指定する方法がわかりません。
  • 範囲の指定方法について具体的な例を教えていただけますか。

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

  • ベストアンサー
  • kiskfry
  • ベストアンサー率34% (32/93)
回答No.1

最終行・列の取得は何パターンかあるので EXCEL VBA 最終行の取得 でGoogle等で検索すれば 目的のソースがきれいな形で得られます。 ここで長々書くより分かりやすいと思います。 一応最終行と最終列の取得方法が載ったページを参照URLに載せておきますね。 選択については↓のページがじ非常にわかりやすく のってますのでご覧あれ^^ http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_cell.html 頑張ってください☆

参考URL:
http://hinekure.vba-soft.com/?eid=228425
kuro1019
質問者

お礼

kiskfry様 ありがとうございます。 わかりやすいサイトですね。 頑張ってみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • kiskfry
  • ベストアンサー率34% (32/93)
回答No.4

#1です。 (((( ;゜д゜)))アワワワワ #1の文中のURLが一番正確です。 本当にスイマセンでした。

全文を見る
すると、全ての回答が全文表示されます。
  • kiskfry
  • ベストアンサー率34% (32/93)
回答No.3

#1です。 何度もスイマセン。。。 #2でアドレスがコピペでおかしくなってました。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_cell.html​ です。

全文を見る
すると、全ての回答が全文表示されます。
  • kiskfry
  • ベストアンサー率34% (32/93)
回答No.2

#1です。 追記です。 選択のほうでご紹介した http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_cell.html​ の下のほうに表の選択についての記述もありますね。 しかもとても分かりやすいです。

参考URL:
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_cell.html​
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで空白を等間隔に挿入したい

    タイトルにあるようにエクセルでマクロを使って等間隔に空白行を挿入したいのですが、 現在コードがこのようになっております。 **************************** Sub Macro1() Range("AA34").Select Do While (ActiveCell.Value <> "") For i = 1 To 10 '何行の空白? ActiveCell.Offset(1, 0).EntireRow.Insert shift:=xlDown ' Next ActiveCell.Offset(34, 0).Activate '挿入間隔? Loop MsgBox "完了" End Sub ******************************* とありまして走らせますと 24行おきに空白ができるのですが、 問題点がいくつかできました ・この場合、全体を挿入していくので(AA:AG)といった特定の列を指定したい ・空白が1列x10行と挿入されるので10行1度にしたい ・挿入していく最終行を指定したい 以上でございます ぜひ、ご教授ねがいます。

  • Excelマクロ:変数でセル範囲指定

    マクロの迷い人です。 Excelの表をマクロで印刷しようと思っています。 行の数が毎回違うため、最終セルもその都度指定しなければなりません。 A1 B1 A2 B2 A3 B3 A4 B4 この例で、A5 B5 以降は空セルとします。 印刷範囲を Range("A1:B4")と書かずに、そのときどきのアクティブセルを変数に代入し、変数を使って範囲指定したいのです。 Sub MacroTest () Dim a As Variant Dim b As Variant Range("B1").Activate Do While a <> 0 ActiveCell.Offset(1, 0).Activate '空白でなければ一つ下に移る a = ActiveCell.Value Loop ActiveCell.Offset(-1, 0).Activate '上の行に移る b = ActiveCell.Value Range("A1:"& b).Select End Sub こうしてみましたがダメでした。 デバッグの方法がわからないので教えて下さい。よろしくお願いします。

  • エクセルVBAで範囲の指定をしたいです(初心者)

    エクセルVBAで範囲の指定をしたいです(初心者) 列AからJがデータが入る範囲です。 列AとBとCには必ず数値等が何かしら入ります。 列Dは常に空白です。 列E以降は何か入ることも入らないこともあります。 7行目までデータがある場合、 A1セルからこの場合はJ7セルまでを範囲指定したいのですが 行数は未定なので、 Range("A1").Select Range(Selection,Selection.End(xlDown)).Select でA列のデータ最終行まで下がり、そこから9つ右の列までを 範囲指定するというのがよくわかりません。 自動記録で絶対参照と相対参照を切り替えてやってみたのですが、 どうしても Range(Selection, Selection.End(xlDown)).Select ActiveCell.Range("A1:J7").Select と常にA1からJ7が指定になってしまいます。 バージョンは2003です。 つたない質問文で申し訳ありませんが、 どなたか宜しくお願いいたします。

  • 印刷範囲の設定がうまくいきません。教えてください

    エクセルのマクロで、データの5列目の最終行を探し、その行の一列目から右に12列、上に20行の範囲を印刷したいのですが、下記のように記述すると、一列目の一行目から12列目の最終行まで印刷されてしまいます。 どのように記述すればよいのでしょうか。 Cells(ActiveSheet.Rows.Count, 5).End(xlUp).Offset(0).Select ActiveCell.Offset(0, -4).Range("a1").Select 上 = ActiveCell.Row - 20 右 = 14 Range(ActiveCell, Cells(上, 右)).Select Range(ActiveCell, Cells(上, 右)).Activate ActiveSheet.PageSetup.PrintArea = ActiveCell.CurrentRegion.Address ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

  • マクロでテーターを転記した時の空白なしに

    いつもお世話になります。 WINDOWS7 EXCEL2010 です。 添付図で説明させていただきますと、 右側の「請求書」のL5:O9 のデーターを左の「売上表」に下記のマクロにて転記します。 元の値(請求書 L5:O9)の範囲内のデーターが1行 2行 3行 4行は空白行が又は5行の場合はすべてが埋まったりします。 この場合5行の時はいいのですが、例えばデーターが3行の時は添付図で言いますと5の行6の行のように2行が空白になります。 下記のマクロの構文をどういう具合にすればいいか御指導願えませんでしょうか。 参考に、 L5 =IF(B15="","",B15) M5 =IF(L5="","",$A$2) N5 =IF(L5="","",C15) O5 =IF(L5="","",H15) ※ 下記のようにしたかったのですがマクロに詳しくないのと時間がないので上記のような方法になり少し遠回りです。 ‘Range("B1").Select ‘ActiveCell.Offset(1, 0).Activate マクロです。 Sub 売上表へ転記() Dim ID As Long Dim 納品日 As Date ID = Range("M5").Value 日付 = Range("L5").Value Range("L5:O9").Copy Sheets("売上表").Activate Range("A65536").End(xlUp).Activate '販売記録A2がアクティブセル(タイトル行) ActiveCell.Offset(1, 0).Activate ActiveCell.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False 'A2:E2 ActiveCell.Offset(0, 4).Activate 'C2が空白 Do Until ActiveCell.Offset(2, 0).Value = "" ActiveCell.Value = ID 'G2 ActiveCell.Offset(0, 0).Value = 納品日 'A3 ActiveCell.Offset(1, 0).Activate Loop End Sub

  • 指定範囲のみ有効にするには?

    こんにちは、いつもお世話になっています。BVA初心者です。 ・次のマクロを15×15のセルのみで有効にするにはどうすればいいでしょうか?このままでは無限ループになってしまいます。(>_<) Option Explicit Sub Sample() '0~4の範囲で発生させた整数の乱数をセルに書き込み、行または列方向に移動 '4なら縦横の進行方向を逆転させる Dim a As Long Dim b As Boolean '初期化 Cells.Clear 'セルクリア Cells(1, 1).Select '基点 '最初の進行は行方向 b = True '↓ここで、なんらかのマクロを使って15×15のマクロを指定するんだと思います。 Do While activecell = ("") '抽選 a = Rnd * 4 '抽選結果の乱数を書き込み activecell.Value = a '抽選結果から進行方向を決める If a = 4 Then b = Not b '進行方向別の移動処理 If b Then activecell.Offset(1, 0).Select '行方向へ移動 Else activecell.Offset(0, 1).Select '列方向へ移動 End If Loop End Sub

  • マクロでテーターを転記した時の空白なしに

    いつもお世話になります。 WINDOWS7 EXCEL2010 です。 添付図で説明させていただきますと、 右側の「請求書」のL5:O9 のデーターを左の「売上表」に下記のマクロにて転記します。 元の値(請求書 L5:O9)の範囲内のデーターが1行 2行 3行 4行は空白行が又は5行の場合はすべてが埋まったりします。 この場合5行の時はいいのですが、例えばデーターが3行の時は添付図で言いますと5の行6の行のように2行が空白になります。 下記のマクロの構文をどういう具合にすればいいか御指導願えませんでしょうか。 参考に、 L5 =IF(B15="","",B15) M5 =IF(L5="","",$A$2) N5 =IF(L5="","",C15) O5 =IF(L5="","",H15) ※ 下記のようにしたかったのですがそれ程詳しくないのと時間がないので上記のような方法になり少し遠回りです。 ‘Range("B1").Select ‘ActiveCell.Offset(1, 0).Activate マクロです。 Sub 売上表へ転記() Dim ID As Long Dim 納品日 As Date ID = Range("M5").Value 日付 = Range("L5").Value Range("L5:O9").Copy Sheets("売上表").Activate Range("A65536").End(xlUp).Activate '販売記録A2がアクティブセル(タイトル行) ActiveCell.Offset(1, 0).Activate ActiveCell.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False 'A2:E2 ActiveCell.Offset(0, 4).Activate 'C2が空白 Do Until ActiveCell.Offset(2, 0).Value = "" ActiveCell.Value = ID 'G2 ActiveCell.Offset(0, 0).Value = 納品日 'A3 ActiveCell.Offset(1, 0).Activate Loop End Sub

  • インデックスが有効範囲にありませんとは!??

    FNameのファイルをひらきA列(数字)とB列(日付)最終行まで配列で取り込み F1Nameのファイルをひらき日付を検索し同じ日付のセルを見つけ3列右側に移動した 位置に数字を入力しその隣に 異常無しを書き込むマクロですが Cells.Find(What:=serch_date(z2), ActiveCell.Value = No_data(z2) の2か所でインデックスが有効範囲にありませんで止まってしまいます・・・ 原因がわかりませんので、ご存知の方お教えいただけないでしょうか? Windows(FName).Activate Range("B1").Select '選択しているセルのアドレスの取得 serch_u = ActiveCell.Address '最終行検索(エクセルの機能) Selection.End(xlDown).Select '選択しているセルの行番号の取得(データの最終行) end_row = ActiveCell.Row '選択しているセルのアドレスの取得 serch_d = ActiveCell.Address '最大値検索対象区間の選択(データの開始位置からデータの最終行) Range(serch_u, serch_d).Select serch_date = Range(serch_u, serch_d) Range("A1").Select '選択しているセルのアドレスの取得 serch_u1 = ActiveCell.Address '最終行検索(エクセルの機能) Selection.End(xlDown).Select '選択しているセルの行番号の取得(データの最終行) end_row1 = ActiveCell.Row '選択しているセルのアドレスの取得 serch_d1 = ActiveCell.Address '最大値検索対象区間の選択(データの開始位置からデータの最終行) Range(serch_u1, serch_d1).Select No_data = Range(serch_u1, serch_d1) Windows(F1Name).Activate For z2 = LBound(serch_date) To UBound(serch_date) Cells.Find(What:=serch_date(z2), After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , MatchByte:=False, SearchFormat:=False).Activate Dim FoundCell As Range ''またはバリアント型(Variant)とする Set FoundCell = Range("A1").CurrentRegion.Find(What:=serch_date(z2)) If FoundCell Is Nothing Then MsgBox "検索に失敗しました" Else FoundCell.Select End If ActiveCell.Offset(0, オフセット値).Activate ActiveCell.Value = No_data(z2) ActiveCell.Offset(0, 1).Activate ActiveCell.FormulaR1C1 = "異常無し"         Next z2

  • セル範囲指定方法

    VBAにて下記作成中ですが、行き詰ってしまいました。 どなたか、ご教授願います。 Sub 転記ボックス1_Click() Sheets("S").Select Range("N13").Select If ActiveCell.Value <> "" Then Selection.Copy Sheets("H").Select Range("K65536").End(xlUp).Offset(0, 1).Select --->シートH、K列最終行の右隣からL列最終行の範囲を指定 上記指定範囲内全てに、シートS・N13の値を貼付 ElseIf ActiveCell.Value = "" Then Sheets("H").Select Range("K65536").End(xlUp).Offset(0, 1).Select --->シートH、K列最終行の右隣からL列最終行の範囲を指定 上記指定範囲内全てに、”シートS・N13”と入力 End If End Sub --->部分の書き方がわかりません。 よろしくお願いします。

  • マクロを使って最終行を取得して、範囲内の空白セルに

    マクロを使って最終行を取得して、範囲内の空白セルに指定の文字列を表示させたいです。 お世話になります。 要件としてはタイトルの通りです。 Excel2013を利用しています。 A列を参照して最終行を取得し、 B列の1~最終行までの空白セルに対して「未入力」という文字列を入力したいです。 この場合、考え方はいろいろあるのでしょうが どのようにコードを組めば良いでしょうか? 自分では、まったく書けていないというのが正直なところです。 そこで御手数ですが、ご協力をお願いいたします。

このQ&Aのポイント
  • 元旦那との離婚時に作成した公正証書には、私と子供達の不動産の無償使用許可が記載されています。
  • 元旦那は名義変更を催促していますが、公正証書には無償使用期間が明記されており、名義変更はその期間が終わった後で良いと思われます。
  • 離婚時の協議で元旦那は子供が幼いうちは名義変更をしないことに了承していたはずです。
回答を見る