首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环访问多个表中的单元格并更改值(如果font color =

循环访问多个表中的单元格并更改值(如果font color =
EN

Stack Overflow用户
提问于 2018-01-16 05:49:55
回答 1查看 31关注 0票数 0

我有一个电子表格,其中有3-6个表格。我需要使用一个宏,如果行中的任何单元格是红色的,它会将值从"30“更改为"'30”。这是因为红色行是取消的预订;我们仍然需要该值,并且我不希望我的其他公式将该数字算作有效数字(因为它不是实际的预订)。我仔细阅读了许多带有选项的文章,但通常这些文章都有一个使用特定表名设置的范围。由于有多个表,这些表会发生变化,我不知道如何使其动态。此外,我不想每次都更新宏。如果我可以避免命名特定的表,我的代码就可以在每个工作表上工作(工作表每月都会更改)。我的代码的一个问题是,我需要更改的值总是在列J中。我想,我当前的代码会认为整行都需要更改。我目前得到一个运行时错误6:溢出。

代码语言:javascript
复制
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-tables

EN

回答 1

Stack Overflow用户

发布于 2018-01-16 06:06:00

为此,我将"For Each Cell In tbl.DataBodyRange“行改为"For Each Cell In tbl.ListColumns(10).Range”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48271132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档