プロが教えるわが家の防犯対策術!

WindFallerさん

先ほどはご回答ありがとうございました。
質問できなくなってしまったため、こちらを作成させて頂きました。

https://oshiete.goo.ne.jp/qa/10068885.html

マクロ試してみたのですが、この操作は結合されたセルには行えません。とエラーが出てしまいます。
r.Offset(1).ClearContentsの部分です。

他に方法ありますでしょうか?

質問者からの補足コメント

  • もうひとつ質問ですが、シートを指定して処理を実行する場合は、どのように追記したらいいでしょうか?

      補足日時:2017/11/16 23:32

A 回答 (1件)

>結合されたセルには行えません。

とエラーが出てしまいます。
どこかに結合セルがありますか?画像で見た限りでは、確認できません。
その部分を避けてマクロを通さないと本来通りません。

>r.Offset(1).ClearContentsの部分です。
実際は、その部分だけのエラーですが、実は、他にも誤動作が出ているはずです。

内容的に詳しいことが分かりませんから、臨時的な措置を施しました。
>シートを指定して処理を実行する場合は

'//
Sub Move2to1_1()
 Dim r As Range
 Dim i As Long, j As Long
 Application.ScreenUpdating = False
 With Worksheets("Sheet1") 'シート名を入れる
 For i = 2 To .Cells(Rows.Count, 2).End(xlUp).Row Step 2
  For j = 4 To 11
   If .Cells(i, j).HasFormula = False And .Cells(i, j).MergeCells = False Then
    If .Cells(i + 1, j).Value <> "" Then
     .Cells(i, j).Value = .Cells(i + 1, j).Value
     .Cells(i + 1, j).ClearContents
    End If
   End If
  Next j
 Next i
 End With
 Application.ScreenUpdating = True
End Sub


'//

>2回目(下段)が空欄の場合にマクロが走らないって意味でしょうか?
避けるようにしています。マクロ自体は走っています。

前回の#1さんの
「二度続けてマクロを実行すると すべてのデータが消えてしまいます。」
に応じて、エラー処理を施しました。今回もそのミスは避けるように作ってあります。
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。
無事に解決することが出来ました。何度もありがとうございましたm(_ _)m
色々と不明な部分が多いので、またご教示お願い致します。

お礼日時:2017/11/20 03:30

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