• ベストアンサー

EXCEL VBA 結合セルに行列操作 

初めまして、VBA初心者です。 http://okwave.jp/qa4809370.html これと同じような感じなのですが、この場合だと結合セルにコピー できませんでした。 10行目以降がそれぞれAからDまで結合されていた場合はどうなるのでしょうか、また元値A1からH5まで結合してません、さらに空白の場合もあります。どなたか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

#1です。 >空欄セルだとこの部分がVBAでは黄色くなります。 エラーは無視しちゃう、 Sub try3() Dim r As Range Dim rr As Range Set rr = Range("A10") On Error Resume Next For Each r In Range("A1:H5").SpecialCells(xlTextValues) rr.Value = r.Value Set rr = rr.Offset(1) Next On Error GoTo 0 Set rr = Nothing End Sub とか?

noname#240856
質問者

お礼

n-jun様 貴重なお時間を取らせてしまい誠に申し訳御座いません。 お陰様でこのコードで無事希望通りに完成いたしました。 本当に有り難う御座いました。

その他の回答 (2)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

#1です。 >>また元値A1からH5まで結合してません、さらに空白の場合もあります。 >これは前回の質問でも解決されてない部分なのでしょうか? ごめんなさい。 違う方でしたね。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

>また元値A1からH5まで結合してません、さらに空白の場合もあります。 これは前回の質問でも解決されてない部分なのでしょうか? あとコピーが必要なのか代入でも良いのかにも寄りますけど、取り敢えず代入案で。 Sub try2() Dim r As Range Dim rr As Range Set rr = Range("A10") For Each r In Range("A1:H5").SpecialCells(xlTextValues) rr.Value = r.Value Set rr = rr.Offset(1) Next Set rr = Nothing End Sub かな?

noname#240856
質問者

補足

すいません。このコードですと値があればうまくいくのですが、 空欄セルだとこの部分がVBAでは黄色くなります。 >For Each r In Range("A1:H5").SpecialCells(xlTextValues) 空白だった場合、操作しないようにすればよいのでしょうけれど・・・ もしお時間がありましたらもう一度お願いいたします。