私はメインフレームから引き出されたデータを使って努力を続けています。現在、フォームで使用するデータのソートや潜在的なデータ処理などの作業を続けています。データは英数字で、私の継続的なデータへの取り組みに関連する以前の質問の 1 つと形式が似ています。
私の現在の開発ラインの 1 つは、マクロを有効にしたボタンの形でユーザビリティを向上させることに関係していました。そのようなボタンの 1 つは、シート内の既存のデータ行の A2 から末尾までの 1 つの列 "A" のすべてのデータを削除することを目的としたマクロを含みます。
コードは次のとおりです。
Sub DeleteCriteria_Click()
Dim CriteriaRange As Range
Dim LastCriteriaCell As Long
With Sheets("Criteria")
LastCriteriaCell = .Range("A" & Sheets("Criteria").Rows.Count).End(xlUp).Row
Set CriteriaRange = .Range("A2:A" & LastCriteriaCell)
End With
CriteriaRange.Cells.Select
Selection.Delete
End Sub
不思議なことに、このコードは、ボタンをアクティブにするたびに列を 1 つずつシフトし、クリックを繰り返すとヘッダーと後続の列を削除してしまいます。この動作は、列の通常の削除機能に似ています。範囲コマンドのリファクタリングCriteriaRange.Cells.Select
| Selection.Delete
この問題は修正されCriteriaRange.Cells.Delete
ませCriteriaRange.Delete
ん。
私の意図は、エントリが削除された後に新しい基準が入力されたときに空白や残りのデータセットがないように、エントリを完全に削除することです。したがって、2つの質問があります。
1) この動作の原因、つまり、ここで間違っていることは何ですか?
2) この動作を修正して、セルを完全に削除するか、同等の機能を実行して、列を保持しながら空白または null セルへの参照を防ぐにはどうすればよいですか?