簡體   English   中英

循環遍歷多個表中的單元格,如果font color =,則更改值

[英]Looping through cells within multiple tables and changing value if font color =

我有一個電子表格,其中包含3-6個表格。 我需要使用一個宏,如果該行中的任何單元格為紅色,則它將值從“ 30”更改為“ '30”。 這是因為紅色行被取消了保留; 我們仍然需要該值,並且我不希望我的其他公式將該數字視為有效數字(因為這不是實際的保留。)我細讀了很多帶有選項的文章,但通常這些文章的范圍都設置為特定的表名。 由於有多個表,所以表會更改,我不知道如何使其動態。 此外,我不想每次都更新宏。 如果我可以避免為特定的表命名,那么我的代碼可以在每個工作表上工作(工作表每月更改一次)。 我的代碼的問題之一是,我需要更改的值始終在J列中。我想,我當前的代碼會看到需要更改整個行。 我目前收到運行時錯誤6:溢出。

Option Explicit

Sub LoopThroughAllTablesInWorksheet()

Dim tbl As ListObject
Dim Cell As Range
Dim OldValue As Integer

For Each tbl In ActiveSheet.ListObjects

        For Each Cell In tbl.DataBodyRange
            If Cell.Font.Color = RGB(255, 0, 0) Then
                OldValue = Cell.Value
                Cell.Value = "'" & OldValue
            End If
        Next Cell

Next tbl

End Sub

我使用以下內容來幫助我到達自己的位置: http : //www.TheSpreadsheetGuru.com/the-code-vault https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide -to-的ListObject-Excel的表格

我可以通過將“對於tbl.DataBodyRange中的每個單元格”行更改為“對於tbl.ListColumns(10).Range中的每個單元格”來完成這項工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM