• ベストアンサー

VBA 行をクリアーして値のみ上詰め

よろしくお願いします。 ユーザーフォームのCommandButton1を押下する。 C7からQ26の範囲内でActiveCellの行をクリアー。 行の削除ではなくクリアーした行より下の値のみを上詰めする。 【値のみを上詰めする方法が解りません。】 ActiveCell.offset(0, 0).Value = ClearContents

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

参考に Private Sub CommandButton1_Click()   With ActiveCell     If .Row < 7 Or .Row > 25 Then Exit Sub     Intersect(Range("C" & .Offset(1).Row & ":C26").EntireRow, Range("C6:Q26")).Copy     Cells(.Row, "C").PasteSpecial Paste:=xlPasteValues     Range("C26:Q26").ClearContents   End With End Sub

1211M
質問者

お礼

watabe007 様 早速の回答ありがとうございました。 思い通りにできました。 今後ともよろしくお願いします。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.2

セルを削除して挿入したら駄目なんでしょうか。 With ActiveCell Range(Cells(.Row, "C"), Cells(.Row, "Q")).Delete Shift:=xlUp Range("C26:Q26").Insert Shift:=xlDown End With