• ベストアンサー

EXCELVBAセル選択方法教えてください。

Sub マクロ() ' Dim i, j, k As Long Dim ws As Worksheet Set ws = Worksheets("Sheet1") k = ws.Cells(Rows.Count, 1).End(xlUp).Row If k > 1 Then ws.Rows(2 & ":" & k).ClearContents  上記はマクロの構文です。 最終行は変数でデータのある最終行の行番号を得て、 2行目からデータのある最終行の行 の行全体をクリアするものですが、 行全体でなく A~C列のデータをクリアする構文教えてください。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.5

回答No.1、No.2、No.4 の追加です。 自分ではあまりセルの指定を&つなぐことが無いので忘れてましたが、以下のような方法もあります。 ws.Range("A2:C" & k).ClearContents

h6322813
質問者

お礼

シンプルな構文でいいです。うまくいきました。

Powered by GRATICA

その他の回答 (4)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.4

'ws.Range(Cells(2, "A"), Cells(k, "C")).ClearContents は ws.Range(ws.Cells(2, "A"), ws.Cells(k, "C")).ClearContents でした、該当シートモジュール以外で実行する場合のシートの指定が抜けてました。

  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.3

A~C列をクリアするなら、これだけですが。 ' Sub Macro1() ' [A:C].ClearContents End Sub

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

'ws.Range(Cells(2, "A"), Cells(k, "C")).Select '.ClearContents は 'ws.Range(Cells(2, "A"), Cells(k, "C")).ClearContents

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

Sub マクロ() ' Dim i, j, k As Long Dim ws As Worksheet Set ws = Worksheets("Sheet1") k = ws.Cells(Rows.Count, 1).End(xlUp).Row If k > 1 Then ws.Cells(2, "A").Resize(k - 1, 3).ClearContents 'もしくは 'ws.Range(Cells(2, "A"), Cells(k, "C")).Select '.ClearContents End If End Sub で試してみてください。

関連するQ&A