質問: ある列で強調表示されているすべての日付を別の列の日付と一致させる 私は現在、プロジェクトのこのステップで立ち往生しています。 マイドキュメントの画像 私の最終的な目的は、列mの列pで強調表示されているすべての日付を強調表示することです。そこにあるかどうか疑問に思いましたは、列pからのみ強調表示されたすべての値を選択し、列mで同じ値を強調表示できるようにするための数式でした。したがって、1つの列に多数の強調表示された日付があります。列pを参照してください。強調表示された日付を列mにコピーする方法が見つからなかったため、手動でコピーする必要があり、列nが形成されました。 n列とm列のすべての同じ値を強調表示する数式があることを望みました。それでも、そうするための適切な数式を見つけることができませんでした。複数のドキュメントがあるため、すべて手作業で行うのは非常に時間がかかります。よろしくお願いします。どんな助けでも大歓迎です!
回答: 列pで強調表示された日付の条件は何ですか、またはそこで強調表示する日付をどのように選択しますか?それが条件付き書式の場合-同じ条件付き書式を列mに適用できます。手動選択の場合-次のようなvbaコードを使用する必要があります。1。列pをループします。2。強調表示された配列を作成します。日付3.列mをループして、作成された配列と一致するかどうか各セルを確認します。はいの場合-セルを強調表示しますコードの例を参照してくださいsub sub1() dim rngtocheck as range, rngtoupdate as range, cell as range dim checkcolor as single dim mydates() as date dim counter as integer checkcolor = rgb(198, 239, 206) '' edit the color as required - it should be the color of highlihgted cells as red, green, blue from format set rngtocheck = activesheet.range("p8:p24") ''' make sure the address of range to check is correct set rngtoupdate = activesheet.range("m8:m24") ''' make sure the address of range to update is correct ''' this loop goes through cells p and create an array of highilted dates for each cell in rngtocheck.cells if cell.interior.color = checkcolor then counter = counter + 1 redim preserve mydates(1 to counter) mydates(counter) = cell.value end if next cell ''' this loop goes through cells in column m and highiltes same dates as highlighted in column p for each cell in rngtoupdate.cells for counter = lbound(mydates) to ubound(mydates) if cell.value = mydates(counter) then cell.interior.color = checkcolor next counter next cell end sub