Excel 워크 시트의 데이터로 인해 CSV 파일에서 빈 셀을 '무시'하는 방법을 결정하려고합니다.Excel 워크 시트 데이터의 CSV 내보내기에서 공백 셀 무시
공백 셀은 한 행 또는 아래 행에 사용자가 입력 한 결과입니다 (두 행은 결코 채워지지 않지만 스크립트에서 참조되는 헤더는 동일하게 유지해야합니다). 하나의 행은 하나의 OS의 디스크 요구 사항과 관련이 있으며, 그 아래 행은 적용 가능한 경우 대체 OS의 디스크 요구 사항과 관련됩니다. 디스크 요구 사항의 형식은 여전히 현재 형식의 헤더에 적용됩니다.
현재 VBA 코드가 Excel 워크 시트에 적용될 때 첫 번째 OS 디스크 요구 사항과 관련된 빈 행의 누락 된 데이터는 빈 셀을 입력하여 다음 행의 정보를 '푸시 (push)'합니다. VBA 코드를 '빈'행을 무시하고 대신 진행중인 행의 데이터를이 셀에 입력하는 방법을 찾고 싶습니다. 내가 사용하고 VBA 코드 :
Sub WriteCSVFile()
Dim My_filenumber As Integer
Dim logSTR As String
My_filenumber = FreeFile
logSTR = logSTR & "Header1" & " , "
logSTR = logSTR & "Header2" & " , "
logSTR = logSTR & "Header3" & " , "
logSTR = logSTR & "Header4" & " , "
logSTR = logSTR & "Header5" & " , "
logSTR = logSTR & "Header6" & " , "
logSTR = logSTR & "Header7" & " , "
logSTR = logSTR & "Header8" & " , "
logSTR = logSTR & "Header9" & " , "
logSTR = logSTR & "Header10" & " , "
logSTR = logSTR & "Header11" & " , "
logSTR = logSTR & "Header12" & " , "
logSTR = logSTR & "Header13" & " , "
logSTR = logSTR & Chr(13)
logSTR = logSTR & Cells(18, "C").Value & " , "
logSTR = logSTR & Cells(19, "C").Value & " , "
logSTR = logSTR & Cells(20, "C").Value & " , "
logSTR = logSTR & Cells(21, "C").Value & " , "
logSTR = logSTR & Cells(22, "C").Value & " , "
logSTR = logSTR & Cells(26, "C").Value & " , "
logSTR = logSTR & Cells(27, "C").Value & " , "
logSTR = logSTR & Cells(28, "C").Value & " , "
logSTR = logSTR & Cells(29, "C").Value & " , "
logSTR = logSTR & Cells(30, "C").Value & " , "
logSTR = logSTR & Cells(31, "C").Value & " , "
logSTR = logSTR & Cells(32, "C").Value & " , "
logSTR = logSTR & 세포 (31, "C") 값 &가 ","나는 데이터를 가지고 싶다에서 logSTR = logSTR의 결과 데이터가없는 경우. & 셀 (32, "C"). 값 & ","공백을 두지 말고 해당 셀에 배치하십시오. 이렇게하면 데이터 형식 (쉼표로 구분 된 3 개의 값)이 Header11, Header12 및 Header13 (Header12, Header13 및 No Header 제외)과 일렬로 정렬됩니다. 예를 들어,
Function BuildValuesString(colIndex As String, rows As String) As String
Dim val As Variant
For Each val In Split(rows, ",")
If Cells(val, colIndex) <> "" Then BuildValuesString = BuildValuesString & Cells(val, colIndex).Value & " , "
Next val
End Function
및 기본 코드 곳에서 그것을 악용 :
logSTR = logSTR & Chr(13)
logSTR = logSTR & "" & " , "
logSTR = logSTR & "" & " , "
logSTR = logSTR & "" & " , "
logSTR = logSTR & "" & " , "
logSTR = logSTR & "" & " , "
logSTR = logSTR & Cells(36, "C").Value & " , "
logSTR = logSTR & Cells(37, "C").Value & " , "
logSTR = logSTR & Cells(38, "C").Value & " , "
logSTR = logSTR & Cells(39, "C").Value & " , "
logSTR = logSTR & Cells(40, "C").Value & " , "
logSTR = logSTR & Cells(41, "C").Value & " , "
logSTR = logSTR & Cells(42, "C").Value & " , "
logSTR = logSTR & Chr(13)
logSTR = logSTR & "" & " , "
logSTR = logSTR & "" & " , "
logSTR = logSTR & "" & " , "
logSTR = logSTR & "" & " , "
logSTR = logSTR & "" & " , "
logSTR = logSTR & Cells(46, "C").Value & " , "
logSTR = logSTR & Cells(47, "C").Value & " , "
logSTR = logSTR & Cells(48, "C").Value & " , "
logSTR = logSTR & Cells(49, "C").Value & " , "
logSTR = logSTR & Cells(50, "C").Value & " , "
logSTR = logSTR & Cells(51, "C").Value & " , "
logSTR = logSTR & Cells(52, "C").Value & " , "
Open "Z:\SHARED DRIVE\RequestDirectory\" & ThisWorkbook.Name & ".csv" For Append As #My_filenumber
Print #My_filenumber, logSTR
Close #My_filenumber
End Sub
세포 (52, "C") <> ""then logSTR = logSTR & Cells (52, "C"). Value & "," – Absinthe