Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
各ページの左上のセルを選択するには
投稿日時: 19/02/11 23:31:41
投稿者: richiro

あるシートに対して、各ページの左上隅A列セルに同じ値を記入したいと考えています。
以前HPageBreaks とItem(n).Location.Address(0, 0)を用いたコードを拝見しましたが、これは文字列(As String)になってしまい、セルの選択ができませんでした。
良い方法をご存知の方がいらっしゃいましたら、ご教授お願いします。
 
具体的には、下記において"BB"をセル情報( As Range)として取り込みたいのですが、
実際には文字情報となり、エラーが発生します。
 
Sub sample()
Dim BB As Range
Dim n As Integer
 
With ActiveSheet
   ' .Cells(Rows.Count, 1).Activate
    With .HPageBreaks
        For n = 1 To .Count
            Set BB = .Item(n).Location.Address(0, 0) 'エラーが発生
        Next
    End With
 
End With
End Sub

回答
投稿日時: 19/02/11 23:44:20
投稿者: simple

Set BB = .Item(n).Location
ではないですか?
よく見ていませんが。

回答
投稿日時: 19/02/13 17:04:32
投稿者: ちゃこ

横から失礼します。
こういうことではないですか?
Sub 水平改ページ位置へある値を記入()
    Dim i As Long
    Application.ScreenUpdating = False
    ActiveWindow.View = xlPageBreakPreview
     
    With ActiveSheet
        .Cells(1, 1).Value = "ある値" 'タイトル行がない場合
        If .HPageBreaks.Count > 0 Then
            For i = 1 To .HPageBreaks.Count
                .HPageBreaks(i).Location.Offset(0, 0).Value = "ある値"
            Next i
        End If
    End With
     
    ActiveWindow.View = xlNormalView
    Application.ScreenUpdating = True
End Sub
違ってたらごめん <(_ _)>

回答
投稿日時: 19/02/13 17:20:11
投稿者: WinArrow
投稿者のウェブサイトに移動

> Set BB = .Item(n).Location.Address(0, 0) 'エラーが発生
は、
            Set BB = .Item(n).Location
に修正すればよいです。
 
しかし、
全体のコードを見ると
例えば、改ページ設定個所が、3つあったとして、
最後のセル(3番目)しか「BB」にはセットされませんが・・・・・
 
途中のセルは、取得する必要はないのかな?

回答
投稿日時: 19/02/13 17:51:46
投稿者: WinArrow
投稿者のウェブサイトに移動

質問時のコードだけみて、レスしてしまったが、
よく読んだら、
やりたいことと掲示されてコードが整合していませんね?
 
ちゃこさんから、適切なコメントがあります。
 
結局、変数の「BB」は全く必要ないです。

トピックに返信