Sử dụng hàm sẵn có trong Excel từ VBA

Liên hệ QC
Các pác chỉ cách sử dụng hàm Sumif trong VBA luon với các pác ơi !
 
Lần chỉnh sửa cuối:
Khi viết code em muốn sử dụng một số hàm có sẵn trong VBA (bình phương, căn bậc hai,giá trị tuyệt đối,..)thì cách thức gọi như thế nào các bác nhỉ. Để tham khảo tên các hàm sẵn có thì em cần xem ở đâu nhỉ. Xin cảm ơn và hậu tạ các bác--=0

Tác giả hỏi hàm có sẵn trong VBA , mà nhiều bài lại trả lời hàm có sẵn trong Excel
Mà cũng tại tác giả đặt tiêu đề Sử dụng hàm sẵn có trong Excel từ VBA
Xin tác giả xem lại

Tôi cũng muốn hỏi làm sao để hiện danh sách các hàm có sẵn trong VBA khi đang viết mã lệnh
 
Bạn vào địa chỉ sau tải về có đủ Hàm, mẹo, Hàm API bằng tiếng Việt rất dễ hiểu. Lưu ý đây là chương trình miễn phí

http://www.caulacbovb.com/vblib
 
Các bạn cho minh hỏi, trong VBA thì hàm này trong excel =VLOOKUP(LARGE($B$2:$B$11;H13);$B$2:$E$11;2;0) viết như thế nào?
Trong VBA thì thể hiện tham chiếu tuyệt đối thế nào?
xin cảm ơn.
 
Các bạn cho minh hỏi, trong VBA thì hàm này trong excel =VLOOKUP(LARGE($B$2:$B$11;H13);$B$2:$E$11;2;0) viết như thế nào?
Trong VBA thì thể hiện tham chiếu tuyệt đối thế nào?
xin cảm ơn.
Viết y chang vậy luôn
PHP:
Range("gì gì đó").Value = "=VLOOKUP(LARGE($B$2:$B$11;H13);$B$2:$E$11;2;0)"
 
Viết y chang vậy luôn
PHP:
Range("gì gì đó").Value = "=VLOOKUP(LARGE($B$2:$B$11;H13);$B$2:$E$11;2;0)"
----
Anh cứ vướng chổ này hoài nhờ chú giúp, phải viết như thế nào để khi mở rộng Vùng? Ví dụ như công thức trên được thay đổi từ $B$2:$E$11 thành $B$2:$E$15. Cám ơn
 
----
Anh cứ vướng chổ này hoài nhờ chú giúp, phải viết như thế nào để khi mở rộng Vùng? Ví dụ như công thức trên được thay đổi từ $B$2:$E$11 thành $B$2:$E$15. Cám ơn
Vậy sao anh không viết luôn thành $B$2:$E$1000 luôn cho nó khỏe
 
---
--=0 Vụ này thì anh biết và đang làm như thế --=0, anh hỏi vì muốn cho vùng lúc nào cũng cập nhật cho vừa đúng thôi ( Giống như hàm sumif viết trong VBA vậy mà)
Cho anh 1 ví dụ thế này:
PHP:
Sub Test()
  With Sheet1.Range(Sheet1.[B2], Sheet1.[B65536].End(xlUp))
    Range("A1").Value = "=VLOOKUP($A2," & .Resize(, 2).Address & ",2,0)"
  End With
End Sub
Còn dữ liệu thì giống như hình:

untitled.JPG
 
Hàm
Mã:
Public Function hamVBA(i As Integer)
Application.Volatile
If Application.WorksheetFunction.And(i > 1, i < 5) Then
hamVBA = "Dung"
Else
hamVBA = "Sai"
End If
End Function

hoặc
Mã:
Public Function hamVBA(i As Integer)
Application.Volatile
If Application.WorksheetFunction.And(i > 1, i < 5) = TRUE Then
hamVBA = "Dung"
Else
hamVBA = "Sai"
End If
End Function

sử dụng hàm AND trong EXCEL
 
Lần chỉnh sửa cuối:
các AC cho em hỏi có hàm nào tương đương hàm "Iferror" của Excell trong VBA không Ah!!!!
 
Dạ em thấy không đúng Ah. Vì hàm iferror có cấu trúc là: (Value, Value-if-error) còn hàm Iserror chỉ có (Value)
Ví dụ như em muốn dúng hàm Iferror khi giá trị lá#N/A thì trả về là khoảng trắng.=Iferror(vlookup(C3,CD!D4:G150,3,0),"")
Mong các AC giúp đỡ!!!!
 
Dạ em thấy không đúng Ah. Vì hàm iferror có cấu trúc là: (Value, Value-if-error) còn hàm Iserror chỉ có (Value)
Ví dụ như em muốn dúng hàm Iferror khi giá trị lá#N/A thì trả về là khoảng trắng.=Iferror(vlookup(C3,CD!D4:G150,3,0),"")
Mong các AC giúp đỡ!!!!

bạn đang nói về vba?
nếu làm như bạn thì cứ xài iferror vì bạn đang xài worksheetFunction mà?sao phải tìm hàm thay thế?

còn nếu xài code đơn thuần thì như vậy
Mã:
if iserror(value) then
 
Em viết trong "Private Sub Worksheet_Change(ByVal Target As Range) Range("E3").Value = "Iferror(Vlookup(C3,CD!D4:G1500,3,0),"")".Chắc em bị sai rối. Mong anh Let'GâuGâu giúp đỡ.
 
Em viết trong "Private Sub Worksheet_Change(ByVal Target As Range) Range("E3").Value = "Iferror(Vlookup(C3,CD!D4:G1500,3,0),"")".Chắc em bị sai rối. Mong anh Let'GâuGâu giúp đỡ.

sao bạn cho nó là value được
bạn phải viết như vậy
Mã:
[E3]=worksheetfunction.iferror(.................)
 
Sao em làm giống Anh, Sao nó báo lỗi ở chổ"D4:G1500", chổ dấu hai chấm. Mong Anh giúp đỡ.
 
Em viết trong "Private Sub Worksheet_Change(ByVal Target As Range) Range("E3").Value = "Iferror(Vlookup(C3,CD!D4:G1500,3,0),"")".Chắc em bị sai rối. Mong anh Let'GâuGâu giúp đỡ.

Đã dùng VBA thì VLOOKUP làm gì không biết (lại còn rối). Dùng Find đi bạn à!
Tìm giá trị cell C3 trong Sheets("CD").Range("D4:D1500") ---> Nếu tìm thấy thì "quẹo phải" 3 cột để lấy giá trị
Vậy thôi
 
Web KT
Back
Top Bottom