EXCEL如何顯示表格顏色?

匿名
2024-05-30T04:46:30+00:00

請教,如圖格式向下排列?

Microsoft 365 與 Office | Excel | 家用版 | Windows

鎖定的問題。 此問題已從 Microsoft 支援服務社群移轉。 您可以對其是否有幫助進行投票,但無法對問題新增註解或回覆,或進行追蹤。

0 則留言 沒有留言
由問題作者接受的回答
匿名
2024-05-31T09:39:56+00:00

感謝您的回覆。

對於這種情況,我們可以通過使用一個更加複雜的條件格式化規則,結合Excel的VBA(Visual Basic for Applications)來實現。在這裡,主要的思路是使用VBA來循環檢查每個單元格,並根據需要更改其顏色。我的測試結果如下圖所示。

以下是步驟:

  1. 打開Excel文件,然後按 Alt + F11 打開VBA編輯器。
  2. 插入一個新的模塊:在VBA編輯器中,點擊“插入”->“模塊”。
  3. 在新的模塊中粘貼以下代碼: Sub ColorAlternate()     Dim ws As Worksheet     Dim rng As Range     Dim cell As Range     Dim currentColor As Long     Dim lastValue As String     Dim currentValue As String     ' 設定工作表和範圍     Set ws = ThisWorkbook.Sheets("Sheet1") ' 請確保工作表名稱正確     Set rng = ws.Range("B2:B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row)     ' 初始化變量     currentColor = xlNone ' 初始無顏色     lastValue = rng.Cells(1, 1).Value     ' 循環遍歷範圍內的每個單元格     For Each cell In rng         currentValue = cell.Value         If currentValue <> lastValue Then             If currentColor = xlNone Then                 currentColor = RGB(255, 255, 0) '黃色             Else                 currentColor = xlNone             End If         End If         cell.Interior.Color = currentColor         lastValue = currentValue     Next cell End Sub
  4. 運行宏:關閉VBA編輯器,返回Excel,按 Alt + F8,選擇“ColorAlternate”,然後點擊“運行”。

這個宏將遍歷B列中的每個單元格,並根據當前單元格與上一單元格的值是否相同來更改填充顏色。這樣,相同內容的單元格將保持相同顏色,而內容不同的單元格將交替顏色。

請確保將程式碼中的工作表名稱與欄位名稱修改為您實際的工作表名稱與欄位名稱。

祝您一切順利!

伊恩 - MSFT | 微軟社區支援專員

此回答有幫助嗎?

有 1 人認為此回答有所幫助。
0 則留言 沒有留言

7 個其他答案

排序依據: 最實用
  1. 匿名
    2024-06-04T13:11:48+00:00

    雖然有缺少但VBA也算是唯一解決方法,謝過。

    此回答有幫助嗎?

    0 則留言 沒有留言
  2. 匿名
    2024-06-01T09:02:16+00:00

    感謝您的回覆。

    很遺憾聽說您不太願意使用VBA的方法,但對於這個問題,我暫時無法提供有效的公式解決方法,對此我感到抱歉。

    未來如果您再遇到微軟產品相關的問題,歡迎隨時回到這個社區進行提問或討論。

    伊恩 - MSFT | 微軟社區支援專員

    此回答有幫助嗎?

    0 則留言 沒有留言
  3. 匿名
    2024-06-01T06:45:59+00:00

    對,我也嘗試以公式去做(如兩色分類)但都無法實現,因Excel公式條件不能做到檢查某儲存格格式,如下

    =IF(B7=黃色,TRUE,FALSE)

    =IF(B7=斜體,TRUE,FALSE)

    =IF(B7=柤體,TRUE,FALSE)

    =IF(B7=底線,TRUE,FALSE)

    所以我明白你所述的因難。但此VBA作法須每次更新執行新輸入的資料,如果把它以動態Activecell編寫,雖然可自動化但又令檔案負重不太方便。

    此回答有幫助嗎?

    0 則留言 沒有留言