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

A D
1  日付
2  2010年10月
3  2
4  3
5  4
6  5
:  :
31   30
32   31
33  2010年11月
:  :

  ↑というD列があります。(J列も同じ形式の日付が入っています)


A D
1  日付
2  2010年10月
3  2日
4  3日
5  4日
6  5日
:  :
31   30日
32   31日
33  2010年11月
:  :

  ↑こういった表にしたいです。

日付に”日”の文字列を連結させるために
Range("D:D, J:J").Value = Range("D:D, J:J").Value & "日"
と記述しているのですが、「型が一致しません」のエラーが出てしまいます。
(D1やD2にも”日”が連結されてしまうのはこの際構いません)

連続した複数の行に文字列を連結させるにはどうしたらよいのでしょうか。
アドバイスを頂けたら幸いです。

A 回答 (1件)

以下で如何でしょう、foo()を実行してみてください。


--------------------------------------------
Sub foo()
Call appendDay(1, "D")
Call appendDay(1, "J")
End Sub

Sub appendDay(startRow As Long, targetCol As String)
Dim row As Long: row = startRow
Do While Cells(row, targetCol).Value <> ""
If Cells(row, targetCol).Value = "日付" Then
GoTo Continue
End If
If Len(Cells(row, targetCol).Value) > 3 Then
GoTo Continue
End If
Cells(row, targetCol).Value = Cells(row, targetCol).Value & "日"
Continue:
row = row + 1
Loop
End Sub
    • good
    • 1
この回答へのお礼

siffon9様

早急なご回答、感謝申し上げます。
お陰様で理想通りの表が完成しました。

後は頂いたコードを自分でも書けるように
組み替えたりなどして解析します。
ありがとうございました。

お礼日時:2015/12/16 09:15

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


おすすめ情報