Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何将Excel列从特定行向下格式化_Vba_Excel_Excel 2007 - Fatal编程技术网

Vba 如何将Excel列从特定行向下格式化

Vba 如何将Excel列从特定行向下格式化,vba,excel,excel-2007,Vba,Excel,Excel 2007,从B5、C5、D5开始。。。。我有一个excel文件,如下所示: 请注意,我在前3行上有一些标题和标题文本,因此我需要使用宏根据行标题(标题仅用于提及所需类型)从第5行到结尾设置每列的类型。请告诉我如何在Excel VBA中执行此操作 谢谢这就是你要尝试的吗?我展示了列B的一个示例。剩下的就做吧 逻辑: 查找列中的最后一行。看 构建你的范围 根据需要设置范围的格式 代码: Private Sub Sample() Dim ws As Worksheet Dim LastRow

从B5、C5、D5开始。。。。我有一个excel文件,如下所示:

请注意,我在前3行上有一些标题和标题文本,因此我需要使用宏根据行标题(标题仅用于提及所需类型)从第5行到结尾设置每列的类型。请告诉我如何在Excel VBA中执行此操作


谢谢

这就是你要尝试的吗?我展示了
列B
的一个示例。剩下的就做吧

逻辑

  • 查找列中的最后一行。看
  • 构建你的范围
  • 根据需要设置范围的格式
  • 代码

    Private Sub Sample()
        Dim ws As Worksheet
        Dim LastRow As Long, Header As Long
    
        Header = 5 '<~~ Start row for formatting
    
        Set ws = ThisWorkbook.Sheets("Sheet1")
        With ws
            LastRow = .Range("B" & .Rows.Count).End(xlUp).Row
    
            With .Range("B" & Header & ":B" & LastRow)
                '
                '~~> Change format here
                '
                 '~~> Number with 5 decimal places.
                .NumberFormat = "0.00000"
            End With
        End With
    End Sub
    
    Private子示例()
    将ws设置为工作表
    变暗最后一行长度,标题长度
    页眉=5'在此处更改格式
    '
    “~~>小数点后5位的数字。
    .NumberFormat=“0.00000”
    以
    以
    端接头
    
    评论的后续行动


    谢谢,但这只是格式化B5单元格,您能告诉我如何处理从5行到1000行的其余部分吗?Behseini 11秒前

    哦,如果在第5行之后没有值,并且您想要硬编码最后一行,那么使用此代码

    Private Sub Sample()
        Dim ws As Worksheet
        Dim LastRow As Long, Header As Long
    
        Header = 5     '<~~ Start row for formatting
        LastRow = 1000 '<~~ Last Row
    
        Set ws = ThisWorkbook.Sheets("Sheet1")
    
        With ws
            With .Range("B" & Header & ":B" & LastRow)
                '
                '~~> Change format here
                '
                '~~> Number with 5 decimal places.
                .NumberFormat = "0.00000"
            End With
        End With
    End Sub
    
    Private子示例()
    将ws设置为工作表
    变暗最后一行长度,标题长度
    
    Header=5'我们怎么知道Header有哪一行?嗨,Siddharth,对不起,我没有理解你的意思?它总是5行吗?我的意思是从哪里开始格式化?检查下面的代码。谢谢Siddharth,但是如何更改格式?我的意思是,我怎样才能将列指定为小数点后5位的数字?@Behseini:我已经更新了代码。刷新页面以查看更新的回复。谢谢,但这只是格式化B5单元格,请告诉我如何处理从5行到1000行的其余部分。非常感谢!