Excel VBA - 如何使用ByVal

时间:2018-04-26 20:18:13

标签: excel vba excel-vba

代码审查的某个人正在帮助优化我的代码,并说我应该使用以下代码来避免重复的代码。我不确定如何正确使用它...从我可以告诉我必须输入ConvertToNumeric当我想要运行代码但我不知道如何更改变量,如哪个工作表或哪个列要查找最后一个单元格。这个概念虽然对我有意义。

    Private Sub ConvertToNumeric(ByVal sheetToUse As Worksheet, ByVal columnToFindLastCellOn As String)
        Dim helperCell As Range
        Set helperCell = sheetToUse.Range("AK1")
            helperCell.Value = "1"
            helperCell.Copy

        Dim lastCell As Range
        Set lastCell = sheetToUse.Cells(Rows.Count, columnToFindLastCellOn).End(xlUp)

        Dim modifyRange As Range
        Set modifyRange = sheetToUse.Range(lastCell, lastCell.End(xlUp))
        modifyRange.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, SkipBlanks:=False, Transpose:=False

        helperCell.ClearContents
    End Sub

1 个答案:

答案 0 :(得分:1)

要使用Code Review中提到的子,您可以像这样称呼它

ConvertToNumeric Worksheets(2), "A"

ConvertToNumeric Worksheets("Sheet1"), 3
  • sheetToUse是您要使用的工作表
  • columnToFindLastCellOn是最后一个使用过的单元格基于
  • 的列字母(或数字)