• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Cách gán công thức chứa function trong vba

Nơi trao đổi về VBA (Visual Basic for Application), lập trình cho ứng dụng Microsoft Office, AutoCAD...

Moderator: tungblt

truonghavb
Posts: 6
Joined: Wed 28/10/2009 8:01 am

Cách gán công thức chứa function trong vba

Postby truonghavb » Fri 25/12/2009 7:55 am

các anh, chị cho em hỏi em đang tập lập trình trong vba nhưng em muốn gán công thức cho một cell bất kỳ công thức như sau: =IF(truonghass($H$5)=truonghass(C18);(F18);"-"), trong đó truonghass là function mà em đã lập vậy làm cách nào vàcó cách nào hay không để em có thể làm được điều này vì bảng tính của em rất nhiều ô cần làm như vậy không thể làm bằng thủ công được. mong anh chị giúp đỡ em với. em cảm ơn nhiều



User avatar
ngochoan2006
Guru
Guru
Posts: 184
Joined: Wed 25/10/2006 4:35 pm
Location: Phúc Yên - Vĩnh Phúc !
Been thanked: 1 time

Re: Cách gán công thức chứa function trong vba

Postby ngochoan2006 » Fri 25/12/2009 8:00 am

Để đặt công thức vào 1 ô bất kỳ thì ta làm như sau :
B1 : Chọn ô cần đặt
B2 : Gắn công thức vào
VD :
  1. Range("D4").Select
  2.     ActiveCell.FormulaR1C1 = "=IF(RC[-3]>0,1,0)"

Trong đó nếu bạn để ý thì thấy địa chỉ ô trong công thức sẽ thay đổi, thay vì là A4 thì nó thay bằng RC[-3]
cái này bạn có thể thay đổi ( trong Excel ) bằng cách vào menu Tools chọn Options \ General \ chọn vào R1C1 \ OK

And other anser Here !
Kiến thức là vô hạn!
Hiểu biết của tui thì có hạn !
Nên dừng có ngạc nhiên khi tôi không biết 1+2 =? !

truonghavb
Posts: 6
Joined: Wed 28/10/2009 8:01 am

Re: Cách gán công thức chứa function trong vba

Postby truonghavb » Sat 26/12/2009 3:48 pm

hay lắm cảm ơn NGỌC HOAN 2006 nhờ bạn tôi biết thêm cách sử dụng dạng rc lần đầu tiên tôi biết và nó chắc sẽ giúp tôi nhieuuf hơn nữa
Set VDL = Application.InputBox("CHỌN VÙNG DỮ LIỆU BẠN CẦN SẮP XẾP", "HOÀNG LONG SẮP XẾP", , , , , , 8)
nhờ bạn cùng mọi người giải thích tôi câu lệnh trên và kiểu trả về cũng như cú pháp câu lệnh đó khi tôi viết
Set VDL = Application.InputBox("CHỌN VÙNG DỮ LIỆU BẠN CẦN SẮP XẾP", "HOÀNG LONG SẮP XẾP", , , , , , 8)
Set VDL = Application.InputBox("CHỌN VỊ TRÍ ĐỂ SẮP XẾP SẮP XẾP", "HOÀNG LONG SẮP XẾP", , , , , , 8) THÌ NÓ BÁO LỖI mà tôi không hiểu vì sao

ngaydautiendihoc
Thành viên danh dự
Thành viên danh dự
Posts: 262
Joined: Mon 12/03/2007 10:55 pm
Location: Hà Giang
Has thanked: 2 times
Been thanked: 1 time
Contact:

Re: Cách gán công thức chứa function trong vba

Postby ngaydautiendihoc » Fri 01/01/2010 11:39 pm

Bạn phải chú ý 1 chút về cú pháp của InputBox:
InputBox(Prompt,[Title],[Default], [XPos], [YPos], [HelpFile],[Context]) as String
Trong đó:
Promt: Lời nhắc là bắt buộc phải có
Các dữ liệu khác nằm trong cặp dấu [] là tùy chọn, có thể nhập vào hoặc không cũng được
Title: Tiêu đề hộp thoại Input
Xpos: Tọa độ X của hộp thoại xuất hiện
Ypos: Tọa độ Y của hộp thoại xuất hiện
HelpFile: Tên file trợ giúp
Context: Mục trợ giúp cần hiển thị
as String: Trả về kết quả là 1 chuỗi.
Như vậy câu lệnh của bạn đã sai ở chỗ bạn khai báo nhiều hơn số tham số mà hàm Inputbox cần có hơn nữa giá trị cuối cùng của bạn khai báo là 8 nhưng bạn lại không chỉ ra tên của file Help. Muốn sử dụng tốt về file help trong các ứng dụng bạn cần nghiên cứu cụ thể về cấu trúc của file help có đuôi là .hlp và .chm

truonghavb
Posts: 6
Joined: Wed 28/10/2009 8:01 am

Re: Cách gán công thức chứa function trong vba

Postby truonghavb » Thu 07/01/2010 1:32 pm

em cảm ơn anh nhiều thật nhiều đúng là em chưa đọc kỹ hy vọng với câu trả lời của anh em sẽ học thêm được nhiều điều nữa


Return to “Visual Basic for Application (VBA)”

Who is online

Users browsing this forum: No registered users and 2 guests