< návrat zpět

MS Excel


Téma: Přeskočení řádku při exportu rss

Zaslal/a 13.2.2013 9:50

Dobrý den,

používám tento způsob exportu do TXT souboru (nevytvořil jsem ho, jen jsem ho našel a upravil), ale nemůžu vůbec přijít na to, jak zařídit funkcí IF, když v pozici (Cells(i, 2) je hodnota pouze "0", aby to takový řádek přeskočilo a pokračovalo dalším a ne, aby se export tímto řádkem ukončil a další řádky neexpotoval. Můžete mě prosím někdo trknout? Děkuji moc

Sub export()
Dim fs As Object, a As Object, i As Integer, s As String
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("\\Složka\" & "E2-" & Range("R42").Value & ".txt", True)

i = 89
While Not IsEmpty(Cells(i, 2))
s = s & Cells(i, 1) & Chr(9) & Cells(i, 2) & Chr(9) & Cells(i, 3) & Chr(9) & Cells(i, 4) & Chr(9) & Cells(i, 5) & Chr(9) & Cells(i, 6) & Chr(9) & Cells(i, 7) & Chr(9) & Cells(i, 8) & Chr(9) & Cells(i, 9) & Chr(9) & Cells(i, 10) & Chr(9) & Cells(i, 11) & Chr(9) & Cells(i, 12) & Chr(9) & Cells(i, 13) & Chr(9) & Cells(i, 14) & Chr(9) & Cells(i, 15) & Chr(9) & Cells(i, 16) & Chr(9) & Cells(i, 17) & Chr(9) & Cells(i, 18) & Chr(9) & Cells(i, 19) & Chr(9) & Cells(i, 20) & Chr(9) & Cells(i, 21) & Chr(9) & vbNewLine
i = i + 1
Wend
a.WriteLine s
a.Close

End Sub

Zaslat odpověď >

icon #011630
avatar
skus toto, netestoval som, ale snad som v tom neurobil chybu:

Sub export()
Dim fs As Object, a As Object, i As Long, M As Long, s As String
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("\\Složka\" & "E2-" & Range("R42").Value & ".txt", True)
M = Range("B1048575").End(xlUp).Row 'pokial mas excel 2007 tak miesto "B1048575" napis "B65536"
For i = 89 To M
If Not IsEmpty(Cells(i, 2)) Then _
s = s & Cells(i, 1) & Chr(9) & Cells(i, 2) & Chr(9) & Cells(i, 3) & Chr(9) & Cells(i, 4) & Chr(9) & Cells(i, 5) & Chr(9) & Cells(i, 6) & Chr(9) & Cells(i, 7) & Chr(9) & Cells(i, 8) & Chr(9) & Cells(i, 9) & Chr(9) & Cells(i, 10) & Chr(9) & Cells(i, 11) & Chr(9) & Cells(i, 12) & Chr(9) & Cells(i, 13) & Chr(9) & Cells(i, 14) & Chr(9) & Cells(i, 15) & Chr(9) & Cells(i, 16) & Chr(9) & Cells(i, 17) & Chr(9) & Cells(i, 18) & Chr(9) & Cells(i, 19) & Chr(9) & Cells(i, 20) & Chr(9) & Cells(i, 21) & Chr(9) & vbNewLine
Next
a.WriteLine s
a.Close
End Sub
citovat
#011633
avatar
Ano, to dává chybu pro "Next" - "Next without for"citovat
icon #011635
avatar
Po tom, čo si ten kód skopíruješ, zmaž v ňom prázdne riadky, aspoň tie medzi For i a Next, tento web tam pridáva tie riadky nezmyselne a kód potom blbne na tom Then _citovat
#011650
avatar
Aha, to mě nenapadlo, už to chodí, díky mooc!citovat
#011651
avatar
Nevěděl bys prosímtě, jak ještě udělat, aby na konci po vyexportování nedělalo 2 prázdné řádky? Zlobí to pak při importu...díkycitovat
icon #011654
avatar
medzi riadky Next a a.WriteLine s vlož inštrukciu:

s = Left(s, Len(s) - 2)

Zostane Ti na konci jeden prázdny riadok, na jeho odstránenie by si potreboval nejakú inštrukciu fs (file scripting) ale to presahuje moje aktuálne znalosti 7citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje