電子書籍の厳選無料作品が豊富!

EXCEL VBAで空白行が現れたら「小計」の文字を入力したいと思い以下のように記述しましたが、うまくいきません。どこがおかしいのか教えてください。
宜しくお願いします。

Sub write小計()

Dim i As Integer
Dim rowcnt As Integer

rowcnt = Cells(1, 1).CurrentRegion.Rows.Count

Range("B1").Select

For i = 1 To rowcnt

If Cells(i, 2).Value = "" Then Value = "小 計"
ActiveCell.Offset(1).Select

Next i

End Sub

A 回答 (5件)

If Cells(i, 2).Value = "" Then Value = "小 計"



これは

If trim(Cells(i, 2).Value) = "" Then Cells(i, 2).Value = "小 計"

としたほうがいいですね。

回答するを 押したときに 戻ると したのですが、
なぜか 投稿されてしまいましたね。
修正しておきます。
    • good
    • 0
この回答へのお礼

ありがとうございます。うまくいきました。

お礼日時:2003/06/20 12:25

#4です。


空白行が現れたら、「小計」の文字を入力、
ということでしたらこっちが近いのかな・・・

Option Explicit

Sub write小計()
Dim lngRow As Long
 lngRow = Cells(1, 1).CurrentRegion.Rows.Count + 1
 Cells(lngRow, 1).Value = "小 計"
End Sub
    • good
    • 0

こんにちは。



× If Cells(i, 2).Value = "" Then Value = "小 計"
○ If Cells(i, 2).Value = "" Then Cells(i, 2).Value = "小 計"

ですね。

このコードだと、すべての行のB列に「小計」が入りますが、これでいいのでしょうか。
    • good
    • 0

[添削例]



Public Sub UwaWriteTypo()
Dim i As Long

With Application.ActiveSheet
For i = 1 To .UsedRange.Rows.Count
If Len(.Cells(i, 2).Value) = 0 Then
.Cells(i, 2).Value = "小 計"
End If
Next i
End With
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。うまくいきました。

お礼日時:2003/06/20 12:36

If Cells(i, 2).Value = "" Then Value = "小 計"



これは

If trim(Cells(i, 2).Value) = "" Then Value = Cells(i, 2)."小 計"

としたほうがいいですね。
    • good
    • 0

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