excel den txt aktarırken bosluk ayarlama

  • Konbuyu başlatan Konbuyu başlatan hhd82
  • Başlangıç tarihi Başlangıç tarihi
Katılım
16 Mayıs 2007
Mesajlar
16
Excel Vers. ve Dili
Türkçe
Merhaba excelde bir sayfada a b c sutunlarında asagıdakı gibi veriler var
yazıdakı kod ıle txt aktarım yapıyordum 1 er satır bosluk koyarak cıkarıyordu Txt olarak
bunu su sekılde yapabilirmiyim .
1 satır bosluk
2.satır bosluk

3.satır ve 17.satır arasında bosluk olmayacak

tekrar bosluk ve 28.satır olarak Txt ye cıkartabilirmiyim.


Kod:
Dim deg As String, i As Long, st As Long, j As Byte


st = Cells(Rows.Count, "A").End(xlUp).Row

dosya = Worksheets("veri").Range("G3").Value & ".txt"
Open (Environ("USERPROFILE") & "\Desktop\" & "\" & dosya) For Output As #1
For i = 1 To st
If Cells(i, 1).Value <> "" Then
    For j = 1 To 5
        deg = deg & " " & Cells(i, j)
    Next j
    deg = Right(deg, Len(deg) - 1)
        Print #1, deg: deg = "": Print #1, deg
        End If
  Next i
Close #1
'MsgBox Worksheets("veri").Range("G3").Value & " numaralı bilgi notu olusturuldu." & vbLf & ""
UserForm3.Show
Shell "notepad.exe " & Environ("USERPROFILE") & "\Desktop\" & "/" & dosya
Sheets("anasayfa").Select

A1B1C1
A2B2C2
A3B3C3
A4B4C4
A5B5C5
A6B6C6
A8B8C8
A9B9C9
A10B10C10
A11B11C11
A12B12C12
A13B13C13
A14B14C14
A15B15C15
A16B16C16
A17B17C17
A28B28C28
 
bu kodla boşlukları sıldım ben 2.satır 4.satır ve 10. satıra bir bosluk eklemek ısıtıyorum nasıl cozum bulabilirim.

Kod:
Sub Makro1()
'
Dim deg As String, i As Long, st As Long, j As Byte


st = Cells(Rows.Count, "A").End(xlUp).Row

dosya = Worksheets("sayfa1").Range("G3").Value & ".txt"
Open (Environ("USERPROFILE") & "\Desktop\" & "\" & dosya) For Output As #1
For i = 1 To st
If Cells(i, 1).Value <> "" Then
    For j = 1 To 5
        deg = deg & " " & Cells(i, j)
    Next j
    deg = Right(deg, Len(deg) - 1)
         Print #1, deg: deg = "":
        End If
  Next i
Close #1
'MsgBox Worksheets("veri").Range("G3").Value & " numaralılusturuldu." & vbLf & ""

Shell "notepad.exe " & Environ("USERPROFILE") & "\Desktop\" & "/" & dosya


End Sub
 
Merhaba,

Aşağıdaki şekilde deneyiniz.

C:
Sub Makro1()

Dim deg As String, i As Long, st As Long, j As Byte

st = Cells(Rows.Count, "A").End(xlUp).Row

dosya = Worksheets("sayfa1").Range("G3").Value & ".txt"
Open (Environ("USERPROFILE") & "\Desktop\" & "\" & dosya) For Output As #1
For i = 1 To st
If Cells(i, 1).Value <> "" Then
    
    ' 2, 4 ve 10. satırlardan hemen önce boş satır ekler
    If i = 2 Or i = 4 Or i = 10 Then
        Print #1, ""
    End If
    
    For j = 1 To 5
        deg = deg & " " & Cells(i, j)
    Next j
    deg = Right(deg, Len(deg) - 1)
         Print #1, deg: deg = "":
        End If
  Next i
Close #1
'MsgBox Worksheets("veri").Range("G3").Value & " numaralılusturuldu." & vbLf & ""

Shell "notepad.exe " & Environ("USERPROFILE") & "\Desktop\" & "/" & dosya

End Sub
 
Çok teşekkürler
ilk 2 satırda ayırdı fakat veriler degişken , bosluklar oldugu için 10. satırda ayıramadım.
son satırda Özet kelimesi sabit özet kelimesinden once yada son satırdaki yazıdan once 1 bosluk bırakacak şekilde ayarlayabilirmiyiz.
 
Son satır da da sorun oldu
Satırda özet kelimesi varsa ondan once bosluk koydurabilirmiyiz.
 
Geri
Üst