Hàm xuống dòng trên VBA bị sai

Liên hệ QC

Mutants Men

Thành viên thường trực
Tham gia
30/12/15
Bài viết
394
Được thích
266
chào mọi người, em có một vấn đề muốn hỏi
chả là tính em hơi lười nên em có viết thêm 1 hàm để thêm ký tự " _ vbNewline" để ngắt chuỗi xuống dòng
khi chạy xong thì kết quả trên sheet rất chi là được, nhưng khi copy chuỗi đó vào khung soạn code thì lại bị thêm những ký tự ""
vậy cho em hỏi em làm sai chỗ nào? vì sao lại bị như vậy ạ
Private Function XuongDong(ByVal str As String) As String Dim ViTri As Long, strDau As String, strCuoi As String, strKQ As String Dim Num As Long Num = 70 Do ViTri = InStr(Num, str, "ChrW"): strDau = Left(str, ViTri - 1): strCuoi = Replace(str, strDau, ""): str = strCuoi If Len(strKQ) = 0 Then strKQ = strDau Else strKQ = strKQ & " _ " & vbNewLine & strDau If Len(str) <= Num + 15 Then strKQ = strKQ & "_" & vbNewLine & str Exit Do End If Loop XuongDong = strKQ End Function Public Function UNItoVBA(ByRef Val As String) As String Dim str As String, i As Integer, CStart As Integer, CCount As Integer, Status As Boolean str = "-225-224-7843-227-7841-259-7855-7857-7859-7861-7863-226-7845-7847-7849-7851-7853-273-233-232-7867-7869-7865-234-7871-7873-7875-7877-7879-237-236-7881-297-7883-243-242-7887-245-7885-244-7889-7891-7893-7895-7897-417-7899-7901-7903-7905-7907-250-249-7911-361-7909-432-7913-7915-7917-7919-7921-253-7923-7927-7929-7925-193-192-7842-195-7840-258-7854-7856-7858-7860-7862-194-7844-7846-7848-7850-7852-272-201-200-7866-7868-7864-202-7870-7872-7874-7876-7878-205-204-7880-296-7882-211-210-7886-213-7884-212-7888-7890-7892-7894-7896-416-7898-7900-7902-7904-7906-218-217-7910-360-7908-431-7912-7914-7916-7918-7920-221-7922-7926-7928-7924-10-" Dim mTex As String mTex = Val For i = 1 To Len(mTex) If InStr(str, "-" & AscW(Mid$(mTex, i, 1)) & "-") = 0 Then 'neu ma ma AscW cua ky tu do ko co trong ma nguon If Not Status Then CStart = i Status = True End If CCount = CCount + 1 Else If Status Then UNItoVBA = UNItoVBA & IIf(UNItoVBA = "", "", " & ") & """" & Replace(Mid$(mTex, CStart, CCount), """", """""") & """" Status = False CCount = 0 UNItoVBA = UNItoVBA & IIf(UNItoVBA = "", "", " & ") & "ChrW(" & AscW(Mid$(mTex, i, 1)) & ")" End If Next If Status Then UNItoVBA = UNItoVBA & IIf(UNItoVBA = "", "", " & ") & """" & Replace(Mid$(mTex, CStart, CCount), """", """""") & """" UNItoVBA = XuongDong(UNItoVBA) End Function
1599099155049.png
1599099194414.png
 
Bạn chép code vào thẻ này đi.

1599099881526.png

Và chép khúc " rất chi là được " lên. Mình chép code về thử không thấy vậy.

1599099985933.png
 
Upvote 0
nếu dài quá thử nối xem sao thấy tiện quản lý hơn đó
x ="Kieu"
y ="Manh"
c = x & Y
VD thế
 
Upvote 0
Không liên quan đến hàm của bạn. Ô chưa ký tự xuống dòng khi copy dán trực tiếp vào Notepad, VBE hoặc môi trường tương tự đều như vậy cả.
 
Upvote 0
@Chủ thớt:
Bạn chép kết quả ra Text File rồi chèn vào là được nhé.

View attachment 244730
đọc bài này bất chợt nhớ tới có Web copy code đó cho vào ngay VBA thì nó toàn đỏ code mà copy cho vào Word xong từ Word copy cho vào VBA lại OK
Tại sao lại thế thì tịt ===> chỉ biết là làm như thế thì OK ???!!!
 
Upvote 0
đọc bài này bất chợt nhớ tới có Web copy code đó cho vào ngay VBA thì nó toàn đỏ code mà copy cho vào Word xong từ Word copy cho vào VBA lại OK
Tại sao lại thế thì tịt ===> chỉ biết là làm như thế thì OK ???!!!
Anh làm vậy, qua bước trung gian (chép vào Notepad, MS Word) sẽ loại bỏ các ký tự, định dạng ở trên web mà VBE không chấp nhận. :)
 
Upvote 0
Web KT
Back
Top Bottom