Công thức theo ô cells trong vba

Liên hệ QC

võ thành trung

Thành viên mới
Tham gia
24/3/20
Bài viết
31
Được thích
2
Gửi cả nhà,

Cả nhà cho em hỏi.
Em đang muốn viết công thức trong VBA theo địa chỉ ô cells.
Ví dụ:
- Trong excel: có công thức '=VLOOKUP(F2,A:B,2,0)
- Trong VBA em viết '="VLOOKUP(CELLS(2,5),A:B,2,0) nhưng không được. Nhờ mọi người chỉ giúp
 

File đính kèm

  • test.xlsm
    13.8 KB · Đọc: 29
Gửi cả nhà,

Cả nhà cho em hỏi.
Em đang muốn viết công thức trong VBA theo địa chỉ ô cells.
Ví dụ:
- Trong excel: có công thức '=VLOOKUP(F2,A:B,2,0)
- Trong VBA em viết '="VLOOKUP(CELLS(2,5),A:B,2,0) nhưng không được. Nhờ mọi người chỉ giúp
Bạn thử viết:
PHP:
=VLOOKUP(RC[-1],C[-6]:C[-5],2,0)
 
Upvote 0
=VLOOKUP(RC[-1],C[-6]:C[-5],2,0)
Cám ơn bạn,
- Bạn cho hỏi thêm: mình muốn hàm theo biến nhưng không được.
mình thử trong vba dòng lệnh sau nhưng báo lỗi:
với i=1 và =VLOOKUP(RC[i-1],C[i-6]:C[i-5],2,0)
- Bây giờ mình đang muốn viết công thức trong VBA theo biến i (i chạy bất kỳ) -> bạn có cách nào không?
 
Upvote 0
Cám ơn bạn,
- Bạn cho hỏi thêm: mình muốn hàm theo biến nhưng không được.
mình thử trong vba dòng lệnh sau nhưng báo lỗi:
với i=1 và =VLOOKUP(RC[i-1],C[i-6]:C[i-5],2,0)
- Bây giờ mình đang muốn viết công thức trong VBA theo biến i (i chạy bất kỳ) -> bạn có cách nào không?
Đã dùng VBA dùng công thức làm gì nữa bạn.
 
Upvote 0
Cám ơn bạn,
- Bạn cho hỏi thêm: mình muốn hàm theo biến nhưng không được.
mình thử trong vba dòng lệnh sau nhưng báo lỗi:
với i=1 và =VLOOKUP(RC[i-1],C[i-6]:C[i-5],2,0)
- Bây giờ mình đang muốn viết công thức trong VBA theo biến i (i chạy bất kỳ) -> bạn có cách nào không?
Trong VBA thì phải hiểu về String cho công thức , nên có thể là
"=VLOOKUP(RC[" & i-1 & "],C[" & i-6 & "]:C[" & i-5 & "],2,0)"
 
Upvote 0
Upvote 0
Gửi cả nhà,

Cả nhà cho em hỏi.
Em đang muốn viết công thức trong VBA theo địa chỉ ô cells.
Ví dụ:
- Trong excel: có công thức '=VLOOKUP(F2,A:B,2,0)
- Trong VBA em viết '="VLOOKUP(CELLS(2,5),A:B,2,0) nhưng không được. Nhờ mọi người chỉ giúp
Ở ngoài viết sao, ở trong viết vậy đi bạn:
Mã:
Range("K2") = "=VLOOKUP(F2,A:B,2,0)"
 
Upvote 0
Ở ngoài viết sao, ở trong viết vậy đi bạn:
Mã:
Range("K2") = "=VLOOKUP(F2,A:B,2,0)"
Gửi anh ndu,
Nhưng em muốn viết công thức trong VBA theo biến i thỏa mãn điều kiện (nếu em kéo công thức từ dòng số 2 xuống dòng 2000 thì nhiều quá mà không dùng hết)
 
Upvote 0
Gửi anh ndu,
Nhưng em muốn viết công thức trong VBA theo biến i thỏa mãn điều kiện (nếu em kéo công thức từ dòng số 2 xuống dòng 2000 thì nhiều quá mà không dùng hết)
Thường cùng 1 công thức thì người ta gán luôn một lần kiểu
Range(....2... 2000...).FormulaR1C1=...

dùng cách gán địa chỉ tương dối dấu móc vuông [] với kiểu RC

Không cần dùng kiểu vòng lặp i như vậy
 
Upvote 0
Thường cùng 1 công thức thì người ta gán luôn một lần kiểu
Range(....2... 2000...).FormulaR1C1=...

dùng cách gán địa chỉ tương dối dấu móc vuông [] với kiểu RC

Không cần dùng kiểu vòng lặp i như vậy
cám ơn bạn đã hướng dẫn.
cho mình hỏi thêm. có cách nào viết theo địa chỉ tuyệt đối không?
 
Upvote 0
Gửi anh ndu,
Nhưng em muốn viết công thức trong VBA theo biến i thỏa mãn điều kiện (nếu em kéo công thức từ dòng số 2 xuống dòng 2000 thì nhiều quá mà không dùng hết)
Biến chạy nằm ở con số 2 trong F2 đúng khôngkhông? Vậy thì cứ thay số 2 bằng chữ i là được rồi:
Mã:
For i = 2 To 4
  Range("K" & i) = "=VLOOKUP(F" & i & ",A:B,2,0)"
Next
Đại khái vậy đó
 
Upvote 0
Biến chạy nằm ở con số 2 trong F2 đúng khôngkhông? Vậy thì cứ thay số 2 bằng chữ i là được rồi:
Mã:
For i = 2 To 4
  Range("K" & i) = "=VLOOKUP(F" & i & ",A:B,2,0)"
Next
Đại khái vậy đó
Gửi bác ndu,

em cám ơn đã giải đáp
Bài đã được tự động gộp:

Tuyệt đối sao, không hiểu ví dụ
R5C4 thì đó là tuyệt đối tương đơn ô $D$5
gửi tigertiger,

cám ơn bạn đã hướng dẫn. mình tìm được lời giải rồi
 
Upvote 0
Web KT
Back
Top Bottom