アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルvbaについて教えてください。

A2のセルからG列のデータのある一番下の行までを指定し、table1として命名したい場合どのようなコードになるでしょうか。

Range(〇〇).Name = table1
という感じになり、End(xlDown)を使うことになると思いますが、よく分かりませんでした。

よろしくお願い致します。

A 回答 (1件)

こんにちは!



A~G列の最終行はすべて同じ行になっているのですかね?
とりあえず最終行がバラバラでも対応できるようにしてみました。

尚、「名前定義」の場合ダブルクォーテーションで囲む必要があると思います。

Sub Sample1()
 Dim j As Long, maxRow As Long
 For j = 1 To 7 '//A~G列まで//
  maxRow = WorksheetFunction.Max(maxRow, Cells(Rows.Count, j).End(xlUp).Row)
 Next j
  If maxRow > 1 Then '//←念のため//
   Range(Cells(2, "A"), Cells(maxRow, "G")).Name = "table1"
  End If
End Sub

こんな感じではどうでしょうか?

※ A~G列すべての最終行が同じである場合はもっと簡単に

 Dim lastRow As Long
  lastRow = Cells(Rows.Count, "A").End(xlUp).Row
   Range(Cells(2, "A"), Cells(lastRow, "G")).Name = "table1"

くらいで行けると思います。m(_ _)m
    • good
    • 0
この回答へのお礼

早々にありがとうございました!
丁寧に回答いただき大変助かりました。

お礼日時:2020/06/27 14:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!