- ベストアンサー
EXCEL VBA 結合セルに行列操作
初めまして、VBA初心者です。 http://okwave.jp/qa4809370.html これと同じような感じなのですが、この場合だと結合セルにコピー できませんでした。 10行目以降がそれぞれAからDまで結合されていた場合はどうなるのでしょうか、また元値A1からH5まで結合してません、さらに空白の場合もあります。どなたか教えてください。
- みんなの回答 (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 とか?
その他の回答 (2)
- n-jun
- ベストアンサー率33% (959/2873)
#1です。 >>また元値A1からH5まで結合してません、さらに空白の場合もあります。 >これは前回の質問でも解決されてない部分なのでしょうか? ごめんなさい。 違う方でしたね。
- n-jun
- ベストアンサー率33% (959/2873)
>また元値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 かな?
補足
すいません。このコードですと値があればうまくいくのですが、 空欄セルだとこの部分がVBAでは黄色くなります。 >For Each r In Range("A1:H5").SpecialCells(xlTextValues) 空白だった場合、操作しないようにすればよいのでしょうけれど・・・ もしお時間がありましたらもう一度お願いいたします。
お礼
n-jun様 貴重なお時間を取らせてしまい誠に申し訳御座いません。 お陰様でこのコードで無事希望通りに完成いたしました。 本当に有り難う御座いました。