簡體   English   中英

在代碼VBA中調用函數/ Sub

[英]Call function/Sub in code vba

我用VBA編寫了一個代碼,該代碼從工作簿中獲取值並將其復制到另一個工作簿中。 因此,例如在單元格G20中,我將有45678。然后代碼將這個數字四舍五入為46 000,如果該數字足夠大,請使用下面提供的If語句刪除最后三個數字。 我認為內容是正確的,但我不認為這是正確的方式。

DSA.Worksheets(1).Range("G10").Value = Application.WorksheetFunction.Round(tax_declaration.Worksheets(1)Range("I72").Value, -3)
DSA.Worksheets(1).Range("G11").Value = Application.WorksheetFunction.Round(Val(Application.WorksheetFunction.Sum(Range("I25:I27"))), -3)

Call thousand(DSA.Worksheets(1).Range("G10"))

End Sub

Sub thousand(i As Variant)

If Right(i, 3) = "000" Then
  i = Left(i, Len(i) - 3)
End If

End Sub`

如何創建類似If語句的函數,並使用它遍歷所有“ DSA.Worksheets(1)Ranges”? -我有幾個。

提前致謝 !

我不確定您的意思,但不是使用sub而是使用一個函數並傳遞不同的i:

Function thousand(i As Variant) As Variant

If Right(i, 3) = "000" Then
  thousand = Left(i, Len(i) - 3)
End If

End Function

然后,您只需要執行以下操作即可: debug.print thousand(DSA.Worksheets(1).Range("G10"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM