2012-11-28 48 views
5

Trong mã VBA hiện tại của tôi, tôi có truy vấn trong đó tôi đang sử dụng Chr(34) để đặt dấu ngoặc kép giữa một số biến của tôi.Dấu ngoặc kép trong VBA

Tôi đã tự hỏi những lựa chọn thay thế tồn tại cho điều này. Đây là một câu hỏi đơn giản, tôi biết, nhưng tôi đã không có bất kỳ thành công với lặp lại dấu ngoặc kép như

" & biến chuỗi này đây & "

Mã của tôi là lộn xộn cho một và không dễ hiểu đối với những người không quen thuộc với VBA:

comboService = Chr(34) & Me.Combo8.Value & Chr(34) 

Ngoài ra, điều này đã không làm việc:

comboService = """" & Me.Combo8.Value & """" 

Bạn có thể cho tôi biết lý do không?

Xin cảm ơn trước.

+3

Điều này: '" "" "& Me.Combo8.Value &" "" "' hoạt động trong VBA. Bạn đang gặp phải vấn đề gì? – RBarryYoung

+0

Bạn có thể thêm một ví dụ chi tiết hơn không. Không rõ bạn muốn thêm bao nhiêu dấu ngoặc kép. – brettdj

+0

Xin lỗi, tôi vừa sửa lỗi của mình. Tôi chỉ muốn thêm 1 dấu ngoặc kép. Tôi đang sử dụng giá trị của biến 'comboService' trong một truy vấn. –

Trả lời

5

này:

comboService = """ & Me.Combo8.Value & """ 

là những gì bạn được đăng, nhưng bạn cần phải thêm một dấu ngoặc kép phụ để thêm một dấu nháy đen:

comboService = """" & Me.Combo8.Value & """" 

đúp dấu ngoặc kép trong một chuỗi là những gì bạn đang tìm kiếm.

aVar = "This: "" is a literal quotation mark" 
3

tôi lấy một trang từ MS (các vbCrLf cũ) một thời gian trở lại, và chỉ xác định bất kỳ nhân vật "khó khăn" Tôi sẽ cần như là một chuỗi ở đầu mã của tôi ...

Dim vbDblQuote As string vbDblQuote = Chr (34)

Bây giờ bạn chỉ có thể sử dụng mà giả thường xuyên như bạn xây dựng chuỗi ...

strMyString = "chỉ cần một chuỗi" & vbDblQuote & "với dấu ngoặc kép" 01.vbDblQuote & "!"

Điều này làm cho mã dễ đọc hơn, và cũng giúp tránh "lỗi quote miscounted"

+0

Tôi đến trang này để tìm kiếm giải pháp cho một hành vi rất kỳ quặc. Sử dụng Excel 2013 trên Windows 7, tôi có một hàm đặt một chuỗi dài chứa nhiều dấu ngoặc kép được nhúng vào một ô trang tính. Sau đó tôi muốn sao chép nội dung của ô ra khỏi Excel và cho chúng vào một chương trình khác. Khi tôi làm như vậy, mỗi dấu ngoặc kép tăng gấp đôi trong đích. Giải pháp là một macro đặt nội dung của ô đã chọn vào một hộp thư, từ đó nó có thể được sao chép chính xác. –

0

tôi đã tìm thấy các hành vi tương tự nếu tôi đầu ra vào một tập tin bằng cách sử dụng Viết lệnh. Bất kỳ dấu ngoặc kép nào cũng được lặp lại.

Tuy nhiên, nếu bạn xây dựng chuỗi và sau đó xuất ra tệp bằng lệnh In, điều này không xảy ra và tất cả đều hoạt động như mong đợi.

Các vấn đề liên quan