VBA如何设置列值结束于某个范围

时间:2019-12-30 06:32:45

标签: excel vba

尝试为多列设置不同的值,但只设置到第一列的最后一行:

Sub Macro7()
'
' Macro7 Macro
'
        Dim rng As Range

        For Each rng In Sheets("Sheet1").Range("A1").CurrentRegion
            rng.Value = NumberOnly(rng.Value)

        Columns("E:rng").Value = 6
        Columns("D:rng").Value = 8.5

        Next


End Sub

我收到消息:

  

编译错误:未定义子函数或函数

突出显示代码的NumberOnly部分

1 个答案:

答案 0 :(得分:0)

Dim sh As Worksheet, lastRow As Long
   Set sh = ActiveWorkbook.Sheets("Sheet1")

  lastRow = sh.Cells(sh.Rows.count, "A").End(xlUp).Row
  sh.Range("D" & lastRow + 1 ).value = 8.5
  sh.Range("E" & lastRow + 1).value = 6

如果您需要在同一列上添加另一个值,则可以再次定义lastRow变量,或计算添加的值并使用lastRow + k,其中k是同一列。