Trợ giúp về code VBA (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Status
Không mở trả lời sau này.

johnnythaonguyen

Thành viên mới
Tham gia
30/4/14
Bài viết
2
Được thích
0
Dear các bạn!
bạn nào giúp mình chỉnh sửa mã code VBA mình gửi đính kèm sau bằng cách thêm dấu gạch chân (-) ở giửa hai con số ( ví dụ : 713.51: seven hundred thirteen and fifty - one) ... thêm vào hàng đơn vị sau dấu chấm đó.. giờ mình phải sửa lại code của mình như thế nào ... code của mình là :


Function nguyenvanthao(ByVal pNumber)
'Updateby20131113
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")

If xDecimal > 0 Then
Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
pNumber = Trim(Left(pNumber, xDecimal - 1))
End If

xIndex = 1

Do While pNumber <> ""
xHundred = ""
xValue = Right(pNumber, 3)

If Val(xValue) <> 0 Then
xValue = Right("000" & xValue, 3)

If Mid(xValue, 1, 1) <> "0" Then
xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
End If

If Mid(xValue, 2, 1) <> "0" Then
xHundred = xHundred & GetTens(Mid(xValue, 2))
Else
xHundred = xHundred & GetDigit(Mid(xValue, 3))
End If
End If

If xHundred <> "" Then
Dollars = xHundred & arr(xIndex) & Dollars
End If

If Len(pNumber) > 3 Then
pNumber = Left(pNumber, Len(pNumber) - 3)
Else
pNumber = ""
End If

xIndex = xIndex + 1
Loop

Select Case Dollars
Case ""
Dollars = "No Dollars"
Case "One"
Dollars = "One Dollar"
Case Else
'Dollars = Dollars & " Dollars" 'code goc'
Dollars = Dollars
End Select

Select Case Cents
Case ""
Cents = " and No Cents"
Case "One"
Cents = " and One Cent"
Case Else
'Cents = " and " & Cents & " Cents" 'code goc'
Cents = " And " & Cents & " Cents" & " Only"
End Select

'nguyenvanthao = Dollars & Cents 'code goc'
nguyenvanthao = "US Dollars " & Dollars & Cents
End Function

Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
Select Case Val(pTens)
Case 10: Result = "Ten"
Case 11: Result = "Eleven"
Case 12: Result = "Twelve"
Case 13: Result = "Thirteen"
Case 14: Result = "Fourteen"
Case 15: Result = "Fifteen"
Case 16: Result = "Sixteen"
Case 17: Result = "Seventeen"
Case 18: Result = "Eighteen"
Case 19: Result = "Nineteen"
Case Else
End Select
Else
Select Case Val(Left(pTens, 1))
Case 2: Result = "Twenty "
Case 3: Result = "Thirty "
Case 4: Result = "Forty "
Case 5: Result = "Fifty "
Case 6: Result = "Sixty "
Case 7: Result = "Seventy "
Case 8: Result = "Eighty "
Case 9: Result = "Ninety "
Case Else
End Select
Result = Result & GetDigit(Right(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
Case 1: GetDigit = "One"
Case 2: GetDigit = "Two"
Case 3: GetDigit = "Three"
Case 4: GetDigit = "Four"
Case 5: GetDigit = "Five"
Case 6: GetDigit = "Six"
Case 7: GetDigit = "Seven"
Case 8: GetDigit = "Eight"
Case 9: GetDigit = "Nine"
Case Else: GetDigit = ""
End Select
End Function
 

File đính kèm

  • Untitled.jpg
    Untitled.jpg
    19.5 KB · Đọc: 42
Dear các bạn!
bạn nào giúp mình chỉnh sửa mã code VBA mình gửi đính kèm sau bằng cách thêm dấu gạch chân (-) ở giửa hai con số ( ví dụ : 713.51: seven hundred thirteen and fifty - one) ... thêm vào hàng đơn vị sau dấu chấm đó.. giờ mình phải sửa lại code của mình như thế nào ... code của mình là :

Mọi vấn đề liên quan để trợ giúp code, vui lòng đăng bài tại đây:
http://www.giaiphapexcel.com/forum/...ỡ-rối-code-VBA&p=575760&highlight=#post575760
Đương nhiên bạn cũng có thể mở topic mới để hỏi (như topic này) với điều kiện là bạn PHẢI ĐẶT TIÊU ĐỂ RÕ RÀNG, SÁT VỚI NỘI DÙNG CẦN HỎI
 
Upvote 0
Status
Không mở trả lời sau này.

Bài viết mới nhất

Back
Top Bottom