格式化每个工作表中的单元格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了格式化每个工作表中的单元格相关的知识,希望对你有一定的参考价值。

我在工作表中更改了单元格M1的颜色和其他内容。我需要在我的工作簿的所有工作表中做同样的事情(所有工作表中的相同单元格)。

大概有40张,所以我需要用VBA编写这个任务。

我记录了该过程,但不知道如何在所有工作表中编写代码来执行此操作。

我记录的代码:

Sub Macro_1() '' Macro_1 Macro ' Change the look of a cell in all worksheets '  

    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Selection.Font.Bold = True
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
答案

试试这个对于初学者:

Option Explicit 'always use this, this helps avoiding typing mistakes in code
Sub MyRoutine()
    'declaration of variables
    Dim colIndex As Long, rowIndex As Long, ws As Worksheet
    colIndex = 13 'M column
    rowIndex = 1 'first row
    'loop through all worksheets
    For Each ws In Sheets
        ws.Cells(rowIndex, colIndex).Interior.ColorIndex = 1 'put your color here
        'do other stuff with the cell, like
        'ws.Cells(rowIndex, colIndex).Value = "some value"
    Next
End Sub
另一答案

循环工作簿的每个工作表并应用颜色格式。下面是示例代码 - 将bold属性设置为每个工作表的第一个单元格。

For Each sh In ThisWorkbook.Sheets
    'Do your format here.
    sh.Range("$A$1").Font.Bold = True
Next
另一答案

您可以根据需要修改此项:

Option Explicit

Sub allsheets()

    Dim wb As Workbook
    Dim ws As Worksheet

    Set wb = ActiveWorkbook

    For Each ws In wb.Sheets
        ws.Cells(1, 1).Value = "TEST"
    Next

End Sub

以上是关于格式化每个工作表中的单元格的主要内容,如果未能解决你的问题,请参考以下文章

MAC VBA尝试从每个工作表中剪切一个单元格并粘贴到下一个空单元格中的另一张表中

根据工作表中的单元格为数组赋值

VBA使用列中找到的格式查找并替换工作表中找到的所有单元格

(Excel) 引用另一个工作表中的单元格时,我可以将工作表名称作为单元格值传递吗?

如何将脚本创建的工作表的名称写入该工作表中的单元格?

在不同的工作表中根据单元格(其中有公式)改变标签页的颜色,适用于多个工作表。