Cho em hỏi về hàm Formula trong VBA

Liên hệ QC

namlinhtinh

Thành viên mới
Tham gia
21/9/08
Bài viết
21
Được thích
0
E muốn gán 1 ô trong worbook A có giá trị bằng 1 ô trong workbook B với lệnh như sau khi viết Macro:
ActiveCell.FormulaR1C1 = "='\\hunglk\DUNG CHUNG TOMBD\baocaongay\2008\"thang"-"nam"\["ngay"-"thang".xls]NMD'!R33C30"


Trong đó ngay,thang,nam là biến dạng integer
làm sao để nó hiểu ngay,thang,nam là biến trong câu lệnh trên đó nó thay đổi được khi e cho vào vòng lặp ? Mong các bác chỉ giáo e với!!!!!!!!!!!
 
ActiveCell.FormulaR1C1 = "='\\hunglk\DUNG CHUNG TOMBD\baocaongay\2008\" & thang & "-" & nam & "\[" & ngay & "-" & thang & ".xls]NMD'!R33C30"
 
Upvote 0
Cám ơn bác ptm0412 nhiều. Mình lại gặp rắc rối khác là với những ngày <10,thì nó hiện 1 chữ số thôi,thì khi đó khi thay vào link mình muốn hiện 2 chữ số (ví dụ : 05 chứ ko phải 5).
Có câu lệnh nào mình if cái ngày nếu nhỏ hơn 10 thì mình có thể thêm số 0 vào trước số ngày để đường dẫn trong link nó đúng ko ?
 
Upvote 0
bạn sửa lại :
ActiveCell.FormulaR1C1 = "='\\hunglk\DUNG CHUNG TOMBD\baocaongay\2008\" & thang & "-" & nam & "\[" & format(ngay,"00") & "-" & thang & ".xls]NMD'!R33C30"
 
Upvote 0
Cám ơn bác ptm0412 nhiều. Mình lại gặp rắc rối khác là với những ngày <10,thì nó hiện 1 chữ số thôi,thì khi đó khi thay vào link mình muốn hiện 2 chữ số (ví dụ : 05 chứ ko phải 5).
Có câu lệnh nào mình if cái ngày nếu nhỏ hơn 10 thì mình có thể thêm số 0 vào trước số ngày để đường dẫn trong link nó đúng ko ?
1/ Mình thường dùng ActiveCell.Value hơn là ActiveCell.FormulaR1C1. Mình thấy ActiveCell.Value dễ đặt công thức hơn
2/ Bạn không cần phải IF. Bạn chỉ cần FORMAT(ngày,"dd/mm/yyyy") ; tương tự hàm Text() trong Excel.

TDN
 
Upvote 0
1/ Mình thường dùng ActiveCell.Value hơn là ActiveCell.FormulaR1C1. Mình thấy ActiveCell.Value dễ đặt công thức hơn
2/ Bạn không cần phải IF. Bạn chỉ cần FORMAT(ngày,"dd/mm/yyyy") ; tương tự hàm Text() trong Excel.

TDN
Bạn phân biệt cho mình 2 cách dùng ActiveCell.Value và ActiveCell.FormulaR1C1 với.Nhân tiện ví dụ luôn cho mình xem trong trường hợp này nó hơn cái gì!
Mình mới có nhu cầu viết Macro nên mới đọc tài liệu được 1 buổi nên còn nhiều thắc mắc.
Cám ơn mọi người đã nhiệt tình giúp đỡ
 
Upvote 0
Bạn phân biệt cho mình 2 cách dùng ActiveCell.Value và ActiveCell.FormulaR1C1 với.Nhân tiện ví dụ luôn cho mình xem trong trường hợp này nó hơn cái gì!
Mình mới có nhu cầu viết Macro nên mới đọc tài liệu được 1 buổi nên còn nhiều thắc mắc.
Cám ơn mọi người đã nhiệt tình giúp đỡ
Khi bạn ghi Macro thì Excel dùng ActiveCell.FormulaR1C1
ActiveCell.FormulaR1C1 = "=SUM(RC[2]:R[5]C[2])"
ActiveCell.FormulaR1C1 = "=RC[1]+RC[2]"
ActiveCell.FormulaR1C1 = "=R2C2+R2C3"

Nhưng khi viết trong VBA, mình thường dùng ActiveCell.Value ; Như vậy, 3 lệnh trên tương đương với 3 lệnh sau :
ActiveCell.Value = "=SUM(C1:C6)"
ActiveCell.
Value = "=B2+C2"
ActiveCell.
Value
= "=$B$2+$C$2"

Có lẽ bạn đã hình dung được cái nào đơn giản hơn.

TDN
 
Upvote 0
Cho mình hỏi,mình link dữ liệu từ file khác đến như hình vẽ,tên file cũng thay đổi trong vòng lặp như mình đã viết.
Mình muốn hỏi giả sử không có file đó theo đường dẫn thì dừng vòng lặp như thế nào hả các bác ?

Up.Bác nào trả lời giùm mình cái câu trên với.Mình hỏi thêm là có cách nào đếm số file trong 1 thư mục mình định sẵn ko các bác nhỉ
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Web KT

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

Back
Top Bottom