私は、請求書の日付を含む「Bills」(A10:B50)の範囲を持っています。同じ日付に支払われるものもあり、最後には重複や空白があります。日付と金額を1つのエントリにまとめた「連結」(D10:E30)の範囲があります。 「Consolidated」の日付をクリックすると、条件付き書式を使用してBills範囲内の個々のエントリが強調表示されます。 は私がクリックしていた日付を取得するには、以下を使用します。範囲からアクティブセルの値を選択
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Range("C40").Formula = "=" & Target.Address
End Sub
しかし、私は他の場所でC40を使用し、それが日付としてフォーマットされ、アクティブセルが日付でない場合、VBAは大混乱を引き起こします。アクティブセルがコンソリデート範囲内にある場合にのみ、どのようにvbaを動作させるのですか? おかげ
ありがとうJohnは完璧に動作しますが、前の値がC40に残っている範囲外をクリックすると、ルーチンに入るときにC40をクリアする方法があります。それは使用されました。 –
私はあなたが@ Busseであり、Johnではないと仮定しています。それを行うには複数の方法があります。 if文の前に 'range(" C40 ")。ClearContents'を追加するだけです(または内容をクリアするのに似たもの)。または 'Range(" C40 ")。Value =" "'私はPCではないので、私は正確なコマンドを与えることはできません。 ifステートメントの前のいずれかが、クリックした場所が正しいかどうかを確認する前にifステートメントをクリアします。 D10からD30までをクリックしたことを確認してから内容を消去したい場合は、IF文の後に挿入します。 – Busse
名前を間違って取得して申し訳ありません。 「if」の前のビットが完全に機能することを追加しました。残念ながら、範囲の最下部に空白のセルがあるので、条件付き書式設定ステートメントに「if」を入れて、C40が空のときに空白のセルが強調表示されないようにします。ありがとうございました。あなたの助けを借りて、私は1979年に何らかの基本的なコーディングをしました。 –