プロが教えるわが家の防犯対策術!

Formulaプロパティーを使って下記の通りマクロを組んだのですが繰り返し行うマクロを組み簡潔にしたいのですが。For - Next といった形で
 基本 =$A$4& " - " & 1 の数式でページが変わるごとに2,3としたい。
Sub kirokuNo入力()
Range("e11:e35").Formula = "=$a$4& "" - "" & 1"    ’1ページは25行
Range("e36:e65").Formula = "=$a$4& "" - "" & 2"    ’2ページ以下30行
Range("e66:e95").Formula = "=$a$4& "" - "" & 3"
Range("e96:e125").Formula = "=$a$4& "" - "" & 4"
Range("e126:e155").Formula = "=$a$4& "" - "" & 5"
Range("e156:e185").Formula = "=$a$4& "" - "" & 6"
Range("e186:e215").Formula = "=$a$4& "" - "" & 7"
End Sub

A 回答 (2件)

こんばんはと


>ページが変わるごとに と For - Next といった形
をこだわる必要がある(4ページなどの時もある)のであれば、ページ設定されている ページ分をループでべたに・・

Dim i As Integer
With ActiveSheet
For i = 1 To .HPageBreaks.Count
If i = 1 Then
.Range("e11:e35").Formula = "=$a$4& "" - "" & " & i
Else
.Range("e36:e65").Offset(30 * (i - 2)).Formula = "=$a$4& "" - "" & " & i
End If
Next
End With

ご質問のコードは
ストレートに書かれているので #1様の関数が良いと思います
    • good
    • 0
この回答へのお礼

早々にご回答いただきありがとうございました。For-Nextで私も挑戦してきましたが出来ずに質問させていただきました。ページ数が未定ですので#1様の関数式を使わせていただきました。

お礼日時:2022/03/28 20:15

こんにちは



関数式を少し変えても良ければ・・
(表示結果は同じになります)

Const fuc = "=$A$4 & "" - "" & INT(ROW(A35)/30)"
Range("E11:E215").FormulaLocal = fuc

とかではいかがでしょうか。
    • good
    • 1
この回答へのお礼

早々にご回答いただきありがとうございました。私は76才でマクロに挑戦していますが少しでも簡潔なマクロが組めればと今回質問させていただきました。すばらしいご回答でびっくりしました。勉強になりました。

お礼日時:2022/03/28 20:08

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