首页 > 解决方案 > 请求 VBA 函数

问题描述

如果我的输入是 900101141234,那么我想使用 VBA 函数将数字更改为字符串“********1234”作为输出。如果 n 不是 12 位数字,我的函数也应该返回数字 0。

Function Hide_IC(n As String)
Dim n As String

Hide_IC = n
If CStr(IC) <> 12 Then
Range("A2") = 0
Else
Range("A2") = Format(n, "********")
End Function

我该怎么继续??我不知道将数字转换为 *

标签: vba

解决方案


您提供的代码有很多问题。

首先,作为一个函数,它通常应该返回某种类型的值。您通常会使用 Sub 来执行一些操作。

接下来,您n As String在过程中声明它已经被声明为函数的参数。

重写函数:

Function Hide_IC(n As String) As String
    If Len(n) <> 12 Then
        Hide_IC = 0
    Else
        Hide_IC = String(8, "*") & Right(n, 4)
    End If
End Function

然后,您可以像使用内置 Excel 工作表函数一样使用此函数,因此如果您的数据在单元格 B11 中,您可以在另一个单元格中使用它:

=Hide_IC(B11)

问候


推荐阅读