Sub 範囲import設定()
Sheets("Format").Select
Range("A1").Select
Selection.CurrentRegion.Select
ActiveWorkbook.Names.Add Name:="import", RefersToR1C1:="=Format!R1C1:R26C7"
End Sub
「マクロの記録」でCTRL + * で全データ範囲を選択して"import"という名前を定義したところ
上のようなコードになりました。全データ範囲は毎回違うのですが、ごらんのようにセル番号
で指定されてしまいます。そのつど異なる全データ範囲に名前を定義するにはどうすればいいのでしょうか。
よろしくお願いします。
No.3
- 回答日時:
こんなかんじで。
何をしているかは、コメント参照願います。
■VBAコード
Sub 範囲import設定()
'変数を宣言
Dim myStr As String
'A1セル基点Ctrl+*のセル範囲のアドレスをR1C1形式で取得
myStr = Range("A1").CurrentRegion.Address(External:=True, ReferenceStyle:=xlR1C1)
'"="を結合し、"[ブック名]"を削除
myStr = "=" & Right(myStr, Len(myStr) - InStr(1, myStr, "]"))
'名前の定義
ActiveWorkbook.Names.Add Name:="import", RefersToR1C1:=myStr
End Sub
ありがとうございました。
今回の問題に関してはtom04さんの方法がもっとも簡便でしたのでそちらを使わせてもらいました。
アドレスの取得方法など参考になりました。
No.2ベストアンサー
- 回答日時:
こんにちは!
単に名前定義だけの場合は
Sub 範囲import設定()
Worksheets("Format").Range("A1").CurrentRegion.Name = "import"
End Sub
でOKだと思います。
>全データ範囲は毎回違うのですが・・・
というコトは一旦「import」という名前定義を削除して新たに名前定義し直す必要があると思います。
そこで↓は「import」という名前定義を削除するコードです。
Sub 削除()
ActiveWorkbook.Names("import").Delete
End Sub
※ 新しい範囲を名前定義する場合は、一旦「削除」のマクロを実行して
「範囲import設定」のマクロを実行してください。m(_ _)m
No.1
- 回答日時:
範囲を指定して記録マクロを確認してみましょう。
A1セルからE10セルまでの範囲を指定したとすると
Range("A1:E10").Select
ActiveWorkbook.Names.Add Name:="Input", RefersToR1C1:="=Format!R1C1:R10C5"
とかなりませんか。
1行目は分かりますよね。A1:E10を選択しています。
2行目の後ろのほう、"=Sheet1!R1C1:R10C5" はRC形式でのセルの指定です。
A1:E10と同じ意味を持っています。
・・・ってか、都度範囲を指定して名前を付けるのであれば、
普通に範囲を指定して範囲名を手動でつければ良い
と思います。
どこかにデータの範囲が記入されているならそのセルを参照して・・・と言うことはできますけどね。
この回答への補足
ありがとうございます。
おっしゃるとおりなのですが、パソコンに詳しくない人にも使えるように自動で名前をつけられるようにしたいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの画面で十字マークが...
-
excelで、スクロールをすると限...
-
エクセルで連続データから、数...
-
EXCEL アルファベットと数字の...
-
セルをクリックすると付箋のよ...
-
エクセルでハイパーリンクのU...
-
Excel選択を繰り返すとセルの色...
-
エクセル 画面上の行数を調節...
-
excelで1行ごとに一気に削除す...
-
エクセルVBAでセル範囲のデータ...
-
エクセルで任意のセルをクリッ...
-
エクセル グラフ作成について
-
複数のセルの入力内容を一度に...
-
エクセルでカーソルが四方に矢...
-
ピポットテーブルエラー解決方法
-
エクセルで、結合したセルを選...
-
エクセル 数値を全て「1」にす...
-
エクセルVBA 複数行にまたがっ...
-
エクセルで1つおきに列を削除...
-
excelで図の後ろのセルをマウ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelで、スクロールをすると限...
-
エクセルの画面で十字マークが...
-
エクセルで連続データから、数...
-
複数のセルの入力内容を一度に...
-
セルをクリックすると付箋のよ...
-
エクセルでハイパーリンクのU...
-
EXCEL アルファベットと数字の...
-
エクセル 数値を全て「1」にす...
-
Excel選択を繰り返すとセルの色...
-
Excelで表のデータを並び替えた...
-
エクセル 画面上の行数を調節...
-
エクセルでカーソルが四方に矢...
-
エクセルで0を除いて昇順に並...
-
ピポットテーブルエラー解決方法
-
Shift押しながら、矢印ボタンで...
-
excelで1行ごとに一気に削除す...
-
エクセルVBAでセル範囲のデータ...
-
Excelで急に動かなくなる
-
エクセルで任意のセルをクリッ...
-
フィルタを解除した後の表示位置
おすすめ情報