VBA 巨集對具有動態行數的一系列儲存格進行排序和套用條件格式

VBA 巨集對具有動態行數的一系列儲存格進行排序和套用條件格式

我有一個範圍(如下圖)。

Excel 的螢幕截圖

請注意:

  • 範圍是由另一個應用程式產生的,因此行數不斷變化,並且未格式化為 Excel“表格”
  • 然而,列數是固定的。
  • 總是有Totals一行,它總是最後一行(但超出此行的單元格包含計算結果為 '' 的公式)

D我需要有關 VBA 巨集的協助,該巨集將使用標頭作為鍵(升序)對範圍進行排序:

[請參閱下面排序表的連結]

請注意:

  • Totals行(始終是最後一行)應被忽略且不排序。

排序後,我希望相同的 VBA 巨集使用相同的標題作為鍵將條件格式應用於該範圍- 格式在相同的D範圍周圍套用邊框:D

決賽桌在這裡:http://goo.gl/H118Lx

請注意:

  • 我不希望標題中的唯一值出現邊框,D即單元格值計數不大於 1 的行。

答案1

你根本不需要VBA。您只需要更了解條件格式背後的靈活性。因此,儘管這個問題很糟糕,我還是要回答。

您可以按D原樣按列排序,如果總計行是唯一一個帶有空格的行,則總計行將位於底部。將條件格式套用到整個列,如下所示。

格式: 左側邊框
範圍:A:A
公式:=AND($D1<>"",OR($D1=OFFSET($D1,-1,0),$D1=OFFSET($D1,1,0)))

格式: 右邊框 範圍
E:E
公式:=AND($D1<>"",OR($D1=OFFSET($D1,-1,0),$D1=OFFSET($D1,1,0)))

格式: 頂部邊框
範圍:A:E
公式:=AND($D1<>"",$D1<>OFFSET($D1,-1,0),$D1=OFFSET($D1,1,0))

格式: 底部邊框
範圍:A:E
公式:=AND($D1<>"",$D1=OFFSET($D1,-1,0),$D1<>OFFSET($D1,1,0))


此方法將翻轉這張表:

前

....這張表中:

後

相關內容