[[20230305142425]] 『VBA R1C1形式で最終行を選択する方法』(まさまさ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA R1C1形式で最終行を選択する方法』(まさまさ)

VBAを勉強し始めて、2週間ほどの初心者です。

R1C1形式で最終行を選択する方法を教えて頂けませんでしょうか。

ExcelシートのBE列からBJ列の数値を含むデータを統合し、
セルBL1を起点に表示させたいです。

下記、私が書いたコードです。

Dim LastRow As Long '表の最終行

LastRow = Cells(Rows.Count, 55).End(xlUp).Row '最終行を取得

Range("BL1").Consolidate Sources:="Sheet3!R1C57:RLastRowC62", Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False

Consolidateは、SourcesをR1C1形式で指定するみたいですので、
上記のように表示しているのですが、
「実行時エラー”1004”参照が正しくありません。」
と出ます。

BE列からBJ列のデータ行数は一緒なのですが、
日によって行数が変わる為、最終行までを選択し、統合させたいです。

R1C1形式は、Cellsでも表記できるとネットであったので、
Range("BL1").Consolidate Sources:=Range(Cells(1,57),
Cells(LastRow,62)), Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False

としてもエラーが出てしまいます。

どのようにすれば良いのでしょうか。お知恵を頂ければ幸いです。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


MsgBox Range("A1").Address(, , xlR1C1)
(普通の子) 2023/03/05(日) 15:14:57

すみません。初心者なもので、
MsgBox Range("A1").Address(, , xlR1C1)
をどう活かせばよいか分からないです。
(まさまさ) 2023/03/05(日) 17:18:34

参考です。

https://ja.m.wiktionary.org/wiki/%E4%B8%80%E3%82%92%E8%81%9E%E3%81%84%E3%81%A6%E5%8D%81%E3%82%92%E7%9F%A5%E3%82%8B
(とおりすがりんご) 2023/03/05(日) 17:32:25


LastRowという変数が例えば 10 とう値だったとして、

 LastRow=10
 MsgBox  "Sheet3!R1C57:RLastRowC62" MsgBox

これを実行してみたら何が悪いのか分かる

こうしないといけない

 MsbBox  "Sheet3!R1C57:R" & LastRow & "C62"
(ガンバ) 2023/03/05(日) 22:46:33

ガンバさん、ありがとうございました。
いけました。
(まさまさ) 2023/03/06(月) 14:31:37

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.