If SelRow > 1 And SelCol > 0 Then .Select SelRow, SelCol End With Exit Sub ErrTransact: MsgBox "你输入的数字过大无法计算!请修改!!!" End Sub ------------------------------------------------ 将数字转换为大写金额的函数: Function CurrencyToStr(ByVal Number As Currency) As String Number = Val(Trim(Number)) If Number = 0 Then CurrencyToStr = "": Exit Function Dim str1Ary As Variant, str2Ary As Variant str1Ary = Split("零 壹 贰 叁 肆 伍 陆 柒 捌 玖") str2Ary = Split("分 角 元 拾 佰 仟 万 拾 佰 仟 亿 拾 佰 仟 万 拾 佰") Dim a As Long, b As Long '循环基数 Dim tmp1 As String '临时转换 Dim tmp2 As String '临时转换结果 Dim Point As Long '小数点位置 If Number <= -922337203685477# Or Number >= 922337203685477# Then Exit Function End If tmp1 = Round(Number, 2) tmp1 = Replace(tmp1, "-", "") '先去掉“-”号 Point = InStr(tmp1, ".") '取得小数点位置 If Point = 0 Then '如果有小数点,最大佰万亿 b = Len(tmp1) + 2 '加2位小数 Else b = Len(Left(tmp1, Point + 1)) '包括点加2位小数 End If ''先将所有数字替换为中文 For a = 9 To 0 Step -1 tmp1 = Replace(Replace(tmp1, a, str1Ary(a)), ".", "") Next For a = 1 To b