2012-04-13 6 views
9

Tôi đã thử đưa đoạn mã sau vào một chương trình ngày hôm qua. VBA gọi là lỗi. Tôi cho rằng đó là vì các dấu ngoặc kép trong công thức. Tôi googled và tất cả các kết quả tôi tìm thấy chỉ đưa ra các cơ bản của việc đưa công thức vào, nhưng không ai giải thích làm thế nào để có được xung quanh dấu ngoặc kép bên trong.Excel (2007) VBA - .Formula với dấu ngoặc kép trong đó

(đã có một Với ​​tuyên bố trước đây, Pivot là một tên bảng)

.Range("A2").Formula = "=IF(Pivot!A5="",A1,Pivot!A5)" 

Bất kỳ giúp đỡ được nhiều đánh giá cao. Cảm ơn!

Trả lời

21

Bất cứ khi nào nghi ngờ, ghi lại một macro nếu nó cho phép :)

Hãy thử điều này

.Range("A2").Formula = "=IF(Pivot!A5="""",A1,Pivot!A5)" 
+0

Good điểm về macro recorder. Ngoài ra, mã của bạn hoạt động và là sạch nhất của tất cả các câu trả lời. Cảm ơn. – Graphth

1

bạn có thể cần phải làm điều này:

.Range("A2").Formula = "=IF(Pivot!A5="& """" & """" & ",A1,Pivot!A5)" 
2

Sử dụng Chr(34) ở vị trí của một đôi -Trích dẫn.

Vì vậy, trong trường hợp của bạn:

.Range("A2").Formula = "=IF(Pivot!A5=" & Chr(34) & Chr(34) & ",A1,Pivot!A5)"