CHÈN CÔNG THỨC TỪ VBA

Liên hệ QC

bth8320

Thành viên mới
Tham gia
24/11/07
Bài viết
44
Được thích
6
Nghề nghiệp
Kỹ sư tư vấn giám sát
Dear cả nhà,

Mình gặp vấn đề này khi muốn chèn công thức vào 1 ô trong excel.
Công thức mình muốn chèn là MATCH(tgl, A1:A1000,0)
Trong đó tgl là các text mình sẽ thay đổi theo code trong vba.

Dưới đây là cách mình viết, nhưng VBA báo lỗi.
Vấn đề hình như nằm ở chỗ mình đặt : tgl không đúng, thiếu các ký tự cần thiết,....

Trong đoạn code dươi thì hàm hiển thị trên excel mong muốn của mình là: MATCH("-BLANK-", A1:A1000,0)

With Target
tlg = "-BLANK-"
.Formula = "=MATCH(" & tlg & "," & pLink & ",0)"
.Value = .Value
End With

Nhờ cả nhà tư vấn giúp cách sửa đoạn trên sao cho đúng.

Trân trọng.
 
Dạ, đầy đủ là thế này ạ,
Trong đó pLink là đường dẫn để lấy dữ liệu trong 1 file excel đang đóng khác.
File này mình mong muốn không dùng phương thức open rồi sau đó close.


Sub GetData(sPatch As String, sFile As String, sSheet As String, sAddr As String, Target As Range)
Dim pLink As String

pLink = "'" & sPatch & "[" & sFile & "]" & sSheet & "'!" & sAddr
With Target
tlg = "-BLANK-"
.Formula = "=MATCH(" & tlg & "," & pLink & ",0)"
.Value = .Value
End With
End Sub
 
Upvote 0
Dạ, đầy đủ là thế này ạ,
Trong đó pLink là đường dẫn để lấy dữ liệu trong 1 file excel đang đóng khác.
File này mình mong muốn không dùng phương thức open rồi sau đó close.


Sub GetData(sPatch As String, sFile As String, sSheet As String, sAddr As String, Target As Range)
Dim pLink As String

pLink = "'" & sPatch & "[" & sFile & "]" & sSheet & "'!" & sAddr
With Target
tlg = "-BLANK-"
.Formula = "=MATCH(" & tlg & "," & pLink & ",0)"
.Value = .Value
End With
End Sub

Có thể tải luôn file lên không?
.
 
Upvote 0
Upvote 0
Dưới đây là tập file đính kèm.
Đoạn code trên chỉ là 1 sub để là nhiệm vụ tìm vị trí của "-BLANK-" trong các file đang đóng.
Còn các nhiệm vụ khác thì mình chưa gặp vấn đề.

Trong sub này:

Sub GetData(sPatch As String, sFile As String, sSheet As String, sAddr As String, Target As Range)
Dim pLink As String

pLink = "'" & sPatch & "[" & sFile & "]" & sSheet & "'!" & sAddr
With Target
.Formula = "=MATCH(""-BLANK-""," & pLink & ",0)"
.Value = .Value
End With
End Sub

Các thông số không có gì sai cả,
Đoạn sub trên mình đã thay "-BLANK-" vào thẳng trong sub thì nó chạy bình thường
Nhưng vì mục đích mình muốn tìm vị trí của các thông tin mình cần khác trên các file đang đóng mà không muốn copy nhiều sub và thay tên nên trong đoạn này:

.Formula = "=MATCH(""-BLANK-""," & pLink & ",0)"

Mình thêm : tlg = "-BLANK-"
để đổi thành: .Formula = "=MATCH(" & tlg & "," & pLink & ",0)"
Nhưng cách viết trong đoạn trên bị sai nên sub bị lỗi.

1623143230467.png
1623143260496.png

Chi tiết xin xem file đính kèm.
 

File đính kèm

  • test.rar
    123.6 KB · Đọc: 6
Upvote 0
Web KT

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

Back
Top Bottom