Hàm vba lấy số ký tự trong một dãy số

Liên hệ QC

TrayNhok

Thành viên mới
Tham gia
11/12/10
Bài viết
20
Được thích
0
Chào mọi người,
Em cần tìm một hàm trong VBA (chứ không phải trong EXCEL) mà xuất giá trị tương tự hàm LEFT, RIGHT trong EXCEL.
Ví dụ em có một dãy số 1625 (trong CELL hiển thị là 16Ø25), thì em dùng hàm nào để lấy ra 2 giá trị 16 để sử dụng cho phép tính toán trong FUNCTION.
Em đang nghiên cứu VBA nên có nhiều cái chưa biết.
Mọi người giúp em với,
Cảm ơn mọi người.
 
Chào mọi người,
Em cần tìm một hàm trong VBA (chứ không phải trong EXCEL) mà xuất giá trị tương tự hàm LEFT, RIGHT trong EXCEL.
Ví dụ em có một dãy số 1625 (trong CELL hiển thị là 16Ø25), thì em dùng hàm nào để lấy ra 2 giá trị 16 để sử dụng cho phép tính toán trong FUNCTION.
Em đang nghiên cứu VBA nên có nhiều cái chưa biết.
Mọi người giúp em với,
Cảm ơn mọi người.

Cách dùng các hàm Left, Right, Mid trong VBA cũng giống như trong bảng tính Excel vậy... bạn hãy thử nghiệm mà xem
 
Upvote 0
Bạn có thể giúp chi tiết hơn được không, mình đã có thử dùng hàm LEFT rồi như không cho kết quả như mình muốn.
 
Upvote 0
Sheet VACH CUNG Ô P379 nhá bạn, mình dùngFUNCTION DIENTICHTHEP
 

File đính kèm

  • TINHVACH.xlsm
    154.5 KB · Đọc: 25
Upvote 0
Sheet VACH CUNG Ô P379 nhá bạn, mình dùngFUNCTION DIENTICHTHEP

Bó chiếu với Function của bạn
Mã:
Function Dientichthep(A As Range) As Double
If A.Value < 1000 Then
    Dientichthep = Left(A.Value, 1) * Right(A.Value, 2) * Right(A.Value, 2) * 3.14 / 4
Else
    Dientichthep = Left(A.Value, 2) * Right(A.Value, 2) * Right(A.Value, 2) * 3.14 / 4
End If
End Function
 
Upvote 0
Sheet VACH CUNG Ô P379 nhá bạn, mình dùngFUNCTION DIENTICHTHEP
Bạn sửa hàm lại thế này xem sao.
Mã:
Function Dientichthep(A As Long) As Double
If A < 1000 Then
    Dientichthep = Left(A, 1) * Right(A, 2) * Right(A, 2) * 3.14 / 4
Else
    Dientichthep = Left(A, 2) * Right(A, 2) * Right(A, 2) * 3.14 / 4
End If
End Function
 
Upvote 0
Cảm ơn 2 bạn, mình hỏi rõ thêm là khai báo Dientichthep(A As Long) As Double cũng giống như khai báo Dim A As Long, Dim Dientichthep As Double chỉ là gọn hơn thôi đúng không vậy?
Mình mới biết tí tẹo về VBA excel thôi nên không hiểu kỹ lắm. Mong các bạn giúp đỡ.
 
Upvote 0
Sheet VACH CUNG Ô P379 nhá bạn, mình dùngFUNCTION DIENTICHTHEP

"Tà đạo" thì thế này:
Mã:
Function Dientichthep(byVal A As Range) As Double
  Dientichthep = Evaluate(Replace(A.Text, "Ø", "*") & "^2") * Atn(1)
End Function
Ẹc... Ẹc...
Nói thêm: Trong VBA không có hàm nào là Pi cả (3.14159265358979....), tuy nhiên muốn có Pi ta dùng Atn(1) * 4 là chính xác nhất
-------------------------
Thêm nữa: Bài này có thể dùng công thức thường được:
Mã:
=INT(M23/100)*MOD(M23,100)^2*PI()/4
Công thức gõ tại P23
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom