2016-07-26 1 views
0

나는 쉼표로 구분 된 목록으로 주문 목록을 전환하는 데 사용하는 컨닝 페이퍼가 있습니다. 나는 그것을 복제하라는 요청을 받았지만 단순히 목록에서 값을 반환하는 대신 동료에게 SQL 쿼리를 인용 부호로 입력하도록 요청했습니다. 그래서 같은 목록 : A B C "A", "B", "C"로 반환해야합니다. 아래는 CSV 목록을 작성하는 코드입니다.SQL 쿼리 용 따옴표가있는 구분 목록

Function csvRange(myRange As Range) 
Dim csvRangeOutput 
Dim entry As Variant 
For Each entry In myRange 
    If Not IsEmpty(entry.Value) Then 
     csvRangeOutput = csvRangeOutput & entry.Value & "," 
    End If 
Next 
csvRange = Left(csvRangeOutput, Len(csvRangeOutput) - 1) 
End Function 

나는 VBA에 완전히 새로운 해요,하지만 난 그것을 나 자신을 알아 내기 위해 코드와 함께 연주했습니다. 따옴표를 더 추가하면 물결표 기호가 작동하지 않습니다. 그것은 기본적으로 내 툴킷을 다 써 버렸습니다. 어떤 도움을 주셔서 감사합니다.

+0

어디에서 잘못되는지 자세히 알려야합니다. 우리는 "일하지 않았다"보다는 계속 나아갈 필요가있다. –

답변

0

시도 ...

If Not IsEmpty(entry.Value) Then 
    csvRangeOutput = csvRangeOutput & """" & entry.Value & """" & "," 
End If 
+0

고맙습니다 xelvis! 이 값을 정확하게 반환했습니다. 나는 궁극적으로 오래된 속임수에 빠졌고 값을 따옴표로 묶는 방법에 대한 Google 검색을 기반으로 매크로를 만든 다음 동료에게 버튼을 연결했습니다. 내가 각면에 4 개의 따옴표를 적용하는 법칙을 찾았 으면 좋겠다. – bryann

0

큰 따옴표로 chr (34)를 사용할 수 있습니다. 또는 당신은 VBA 문자열에서 수행 할 때 하나의 큰 따옴표로 해석됩니다 이중, 큰 따옴표 ("") 수행 할 수 있습니다

csvRangeOutput = csvRangeOutput & chr(34) & entry.Value & chr(34) & "," 

또는

csvRangeOutput = csvRangeOutput & """" & entry.Value & """" & ","