内容としては794行目から820行目の間の文字列が変わるところに改行が入れられるものを作りたいのですが、どうにもうまく出来ません。
きっと基本的なことが分かっていないからだと思うのですが、どなたかご教授下さい。
よろしくお願い致します。
Sub 改行挿入()
'
' 改行挿入 Macro
'
'
Dim i As Long
For i = 794 To 820
If Cells(i, 1) = Cells(i + 1, 1) Then
HPageBreaks.Add Before:=Cells(i, 1)
End If
Next i
End Sub
Dim i As Long
For i = 794 To 820
If Cells(i, 1) = Cells(i + 1, 1) Then
else
HPageBreaks.Add Before:=Cells(i, 1)
exit for
End If
Next i
End Sub
文字列が変わるところにというのは 現在行と次の行がイコールじゃないときとなります。
また、改ページは 何度も入れるようなものではないのかと思います。
ま、質問からすると 一度だけでいいような感じなので 改ページを入れたら そのループから 抜け出すことを オススメします。
とりあえず「文字列が変わるところ」の判定がしたいなら、
☓ If Cells(i, 1) = Cells(i + 1, 1) Then
○ If Cells(i, 1) <> Cells(i + 1, 1) Then
こうですね。
Dim i As Long
For i = 794 To 820
If Cells(i, 1) = Cells(i + 1, 1) Then
else
HPageBreaks.Add Before:=Cells(i, 1)
exit for
End If
Next i
End Sub
文字列が変わるところにというのは 現在行と次の行がイコールじゃないときとなります。
また、改ページは 何度も入れるようなものではないのかと思います。
ま、質問からすると 一度だけでいいような感じなので 改ページを入れたら そのループから 抜け出すことを オススメします。
皆様、回答ありがとうございます!
そうですよね。ノットイコールですよね。
うっかりミスをしておりました。
〉改ページは 何度も入れるようなものではないのかと思います。
改ページを何度も入れたかったのですが、
その場合は、どこがどのように変わるのでしょうか?
おんぶにだっこで申し訳ありません!
何度も入れる場合は exit for で 抜けなければいいのです。
つまり この行を削除すればいいでしょう。
皆様、回答ありがとうございます!
2012/04/29 17:20:21そうですよね。ノットイコールですよね。
うっかりミスをしておりました。
〉改ページは 何度も入れるようなものではないのかと思います。
改ページを何度も入れたかったのですが、
その場合は、どこがどのように変わるのでしょうか?
おんぶにだっこで申し訳ありません!
何度も入れる場合は exit for で 抜けなければいいのです。
2012/04/29 17:24:19つまり この行を削除すればいいでしょう。