オペレータがウェイトを入力する列Fの次の空きセルを見つけることができるコードがあります。Excel vbaでのユーザー入力後のハイライトカラーの変更
私は、入力を行う必要がある場所に近い範囲のセルを強調表示するのを手伝っていました。これは、フィルタリングなしで入力が正しいことを確認するのに役立ちます。
私は以下のコードでそれを行うことができますが、セルが書き込まれた後にハイライト表示を削除しようとしていますが、失敗しています。私は「Do Until」のアプローチを試みましたが、満足できませんでした。コードは実行されますが、ユーザーが値を追加するとハイライトが削除されません。
私もWait関数を使ってみましたが、Excelは完全にフリーズしています(値は変更できません)。また、私はデバッグを実行し、ランダムな反復を使用してCellの値を変更すると、私のコードが動作します。サーBruceWayneとして
'Find the last non-blank cell in column F (aka, column 6)
' We will add i rows to make the ith blank (in the for loop)
PreFree = Cells(Rows.Count, 6).End(xlUp).Row
NextFree = PreFree + 1
' Select Cell for manual input
Range("F" & NextFree).Select
'Do Until emptyWeight = False
If ThisWorkbook.Sheets("Input").Range("F" & NextFree) = "" Then
emptyWeight = True
Range(Cells(NextFree, "C"), Cells(NextFree, "F")).Interior.Color = RGB(181, 244, 0)
Else
Range(Cells(NextFree, "C"), Cells(NextFree, "F")).Interior.Color = RGB(255, 255, 255)
emptyWeight = False
End If
は、条件付き書式の仕事をしていますか?列が完了し、次の空白スペースが必要な場合は、条件付き書式を使用できる場合があります。 – BruceWayne
私は実際には条件付き書式設定を避けることを何とかしています。 –
ああ。ちょっと好奇心が強い、なぜ?一部のユーザが起動したり、間違ってブレークしたりするマクロを必要としません。セルが埋め込まれた後に変更するには、 'Worksheet Change()'イベントを参照してください。 – BruceWayne