[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『【最終列の取得】実行結果が違うのですがコードのどこに原因があるのか分かりません』(尚)
いつもお世話になっております。
F2から→↓方向に数式入れたいのです。
(F2から→は1行目の最終列がある列まで)、↓はC列の最終行まで)
Dim r As Range Set r = Sheets(1).Range("A1").End(xlToRight).Columns.
Sheets(1).Range("F2:r" & Range("C" & Rows.Count).End(xlUp).Row).FormulaR1C1 = "数式"
End Sub
現在、1行目はS列(19列)目までタイトルが入っており、C列は370行目まで値があります。
上記記述で数式が入りましたが、F2〜R370に入り、S列はなにも入力されません。
原因と対策を教えていただけますでしょうか。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
"F2:r" って書くと、rはR列の事ですが、変数rを使いたかったのですね。
だったら、"F2:" & r.Address とかにしないとですよ。
(???) 2020/07/17(金) 13:20
1.1行目と2行目
1行目でRange型で宣言した変数にColumnで取得する値を代入しようとしている
これはエラーになるはずです。
2.3行目
Range("C" & Rows.Count).End(xlUp).Row で(アクティブシート(※必ずしもSheets(1)とは同一ではない)の)C列最終行の値を取得し、
仮にそれが「370」だった場合
Sheets(1).Range("F2:r370")
となり、Sheets(1)のF2:R370に"数式"を入力する式になっています。式は間違っていません。
(苫) 2020/07/17(金) 13:22
整形してみた例なぞ。最大列をA列から調べているのに、行数はC列で調べている事に違和感がありますが…。
Sub test() Dim iC As Long Dim iR As Long
With Sheets(1) iC = .Range("A1").End(xlToRight).Column iR = .Range("C" & .Rows.Count).End(xlUp).Row .Range("F2", .Cells(iR, iC)).FormulaR1C1 = "数式" End With End Sub (???) 2020/07/17(金) 13:31
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.