当前位置: 首页 > 知识库问答 >
问题:

Excel VBA:更新所有工作表的格式[重复]

柳钟展
2023-03-14

我阅读了一些在线教程,并使用宏记录来学习如何设置格式。但是我想知道有没有一种方法可以不使用.select来完成以下操作?或者程序员更喜欢的方式是什么?

简单宏的要求:

  1. 循环所有工作表(仅可见)
  2. 将粗体格式设置为顶部行,并将背景设置为灰色
  3. 将所选内容重置到A1位置

()

Sub SetAllTopRowBold()
Dim ws As Worksheet
On Error Resume Next

For Each ws In ThisWorkbook.Worksheets
    If ws.Visible Then
        ws.Activate
        Rows(1).Select
        Selection.Font.Bold = True
        Selection.Interior.Color = RGB(190, 190, 190)
        Range("A1").Select
    End If
Next ws
End Sub

共有1个答案

燕寒
2023-03-14

您可以直接对range对象执行此操作:

For Each ws In ThisWorkbook.Worksheets
    If ws.Visible Then
        ws.Rows(1).Font.Bold = True
        ws.Rows(1).Interior.Color = RGB(190, 190, 190)
        ws.Select
        ws.Range("A1").Select
    End If
Next ws
 类似资料:
  • 我使用这段代码将工作簿中的每一张工作表复制到一个新的工作簿中,它工作得很好,但它颠倒了工作表的顺序,是否有任何办法阻止它这样做? 我正在复制所有的工作表,这样我就可以将它保存为不同的文件扩展名,这是我发现唯一有效的方法。

  • 我有多个谷歌电子表格与预订数据,如预订号码,客户端名称,电子邮件,预订日期等。在所有工作表中,这些列的顺序并不相同。 我想在一个“主”电子表格中更新我所有“源”表中的所有数据。这意味着,一旦添加新行或更新现有行,数据将同步到主电子表格 实现这一目标的最佳方式是什么?Javascript或者是否存在一些现有的Google Sheets插件? 示例表1:快速船预订 示例表2:机场中转预订 主表 非常感

  • GoogleSheets允许将图表移动到自己的工作表中。不过,谷歌脚本似乎无法重命名这些工作表,而不会使电子表格崩溃并强制重新加载。 要明白我的意思,试试这个: 1)创建新的电子表格,并在其中放入一些数据。2)使用数据创建任何类型的图表。3)编辑图表,选择“移动到自己的工作表......”4)创建一个脚本,如下所示代码: 5)运行脚本,电子表格崩溃,消息是:“无法加载文件”6)重新加载电子表格,并

  • 问题内容: 使用Apache POI创建Excel文档时,是否可以更改页面大小和布局?默认值是A4垂直,而我需要A6水平(横向)。 我认为这个问题不需要代码示例,Excel文档的创建与手册中所述的一样: 问题答案: HSSFPrinterSetup Javadoc

  • 我正在尝试为我的学校项目创建一个通用时间表。我创建了一个简单的函数来获取活动工作表的名称。 我第一次使用它时,它就工作得很好。但是,如果我更改了工作表的名称并重新调用该函数,它仍然会获取工作表的旧名称。 例如,如果工作表的名称为“Sheet1”,并且我在单元格中运行该函数,则单元格值将为Sheet1。但是,如果我更改同一张表的名称并重新调用该函数,无论发生什么情况,我仍然会得到Sheet1。 我想

  • 我有相当多的包是过时的,我想更新。我尝试运行npm update:文档中所述的npm update,更新花了很长时间,最后失败了。我又尝试了几次,我将堆栈大小设置为无限,等等,但总是需要几个小时,最后失败了。 我尝试用--depth 999(不是9999)更新一个包,但也失败了。 是否有任何推荐的方法来更新所有有效的软件包? 然后我得到了一个堆超出的异常: 我将堆栈大小设置为无限,并降低了深度,但