2013-11-25 104 views
1

我的過程複製Lg1行形成Excel範圍到文本文件。我想阻止任何空行行形式被複制到文本文件。每行的第一個單元格包含此公式:=IF(L39C7=0;"";L15C20)。正如您所看到的,該單元格爲空或「「」「或包含L15C20值。跳過空白行時複製範圍到文本文件

編輯:這裏是一個富勒排。所有行具有相同的內容:[=IF(L39C7=0;"";L15C20)],[=IF(LC(-1)="";"";IF(L39C7<0;"…";"5272"))],[=IF(LC(-2)="";"";IF(L41C7<0;"…";"2302"))],[=IF(LC(-3)="";"";"salaire")],[=IF(LC(-4)="";"";"0")]

這裏是我的代碼部分:

With ws 
Set RngSelect = .Range(Cells(FirstRow, FirstCol), Cells(31, LastCol)) 
End with 
With RngSelect 
For Lg1 = 1 To (LastRow - FirstRow + 1) 
    If .Cells(Lg1,1).Value <> "" Then 'Here is my issue 
    Txt = Txt & vbCrLf & Join$(Application.Transpose(Application.Transpose(.Rows(Lg1).Value)), vbTab) 
    Next 
    End If 
End With 
Lg2 = FreeFile() 
Open FilePath For Append As #Lg2 
Print #Lg2, Mid$(Txt, Len(vbCrLf) + 1) 
Close Lg2 

我都沒有成功各種測試試圖評估如果電池<>「」,但保持其在我的文本文件中的空行。我應該寫什麼來解決我的問題?

謝謝你的幫助。

+0

A小調之一。嘗試使用'Txt = Txt&(vbCrLf&Join $(Application.Transpose(Application.Transpose(.Rows(Lg1).Value)),vbTab))'來連接你的長字符串('txt')一次而不是兩次其他的字符串。 – brettdj

+1

@brettdj。 TY的技巧 – gabx

回答

1

這可能是更好的(你的範圍內,在這裏,第一列)以這種方式來檢查空白:

If Len(.Cells(Lg1, 1).Value) > 0 Then 
+0

我仍然得到blanck行。也許我應該補充說整行是由單元組成的,它們都包含上面引用的條件:'= IF(L39C7 = 0;「」; L15C20)'。我認爲只測試該行的第一個單元就足夠了,但也許我錯了。 – gabx

+0

你可能是錯的。我看不到您的數據表。但是你可以嘗試在這種情況下使用'CountBlank函數'。 –

+0

這裏是一排富勒排。所有行具有相同的內容:[= IF(L39C7 = 0;「」; L15C20)],[= IF(LC(-1)=「」;「」; IF(L39C7 <0;「...」;「5272 「))],[= IF(LC(-2)=」 「;」 「; IF(L41C7 <0;」 ... 「;」 2302 「))],[= IF(LC(-3)=」」 ;「」;「salaire」)],[= IF(LC(-4)=「」;「」;「0」)]' – gabx

相關問題