65536 satırdan fazla satıra sahip bir dosyayı excel ile a

Katılım
8 Ağustos 2005
Mesajlar
8
Merhabalar,
Benim elimde excelde açmam gereken ve satır sayısı hemen hemen 500.000'leri bulan dosyalar var. Excelde ise bir seferde en fazla 65536 satırlık dosyaları açabiliyorum. İstediğim şey, dosyayı excel ile aç dediğimde 500.000 satırlık dosyanın excelde farklı çalışma sayfalarında yada farlı çalışma kitaplarında açılabilmesi ve açılan çalışma sayfalarının veya kitaplarının sırasına göre ardışık numaralarla isimlendirilerek kaydedilmesi.
Yardımlarınız için teşekkürler.
 
Katılım
20 Nisan 2005
Mesajlar
206
Dosyalarınız hangi ortamda? Eğer Acces'te Table'ler şekinde ise Excel'de Veri/Dış Veri Al dan sonra veri kaynağınızı seçtikten sonra Ã?zet Tablo Raporu Oluştur seçeneği ile verilerinizi Excel'in Sayfalarına taşıyabileceğinizi sanıyorum.

Kolay gelsin.
 
Katılım
20 Nisan 2005
Mesajlar
206
O zaman benim önerim bunları Access ortamında Table şeklinde oluşturduktan sonra yukarıdaki önerimi deneyin.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Þöyle bir şey deneyebilirsiniz .... (C:\Test.txt dosyasından veriler alınır)

Kod:
Sub GetTxtData2()
'Raider ®
    Dim MyFile As String
    MyFile = "C:\Test.txt"
    j = 0
    Set NewSh = Worksheets.Add
    j = j + 1
    NewSh.Name = "TextSheet-" & j
    Open MyFile For Input As #1
        Do While Not EOF(1)
            i = i + 1
                Line Input #1, InputData
                    Cells(i, 1) = InputData
                        If i > 65535 Then
                            Set NewSh = Worksheets.Add
                            j = j + 1
                            NewSh.Name = "TextSheet-" & j
                            i = 0
                        End If
        Loop
    Close #1
    Set NewSh = Nothing
End Sub
 
Katılım
8 Ağustos 2005
Mesajlar
8
Haluk kardeş, teşekkür ederim şimdilik çalışıyor gözüküyor. Ama, dosyayı excelde açarken, satırları sütunlar oluşturmak amacıyla;

10 karakter ,
6 karakter ,
6 karakter ,
11 karakter,
6 karakter,
6 karakter,
6karakter ' lik sütunlara bölerek açmam lazım.

Bu konuda da yardım edebilirseniz sevinirim...
 
Katılım
8 Ağustos 2005
Mesajlar
8
yada excel de açtıktan sonra tek hücrede bulunan string'i belirli parçalara ayırıp sütunlar oluşturabilmek için ne yapmam gerekir?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Excelin veri-metni sütunlara dönüştür özelliğini kullanabilirsiniz.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Bu şekilde bir deneyin ...

Kod:
Sub GetTxtData3()
'Raider ®
    Dim MyFile As String
    MyFile = "C:\Test.txt"
    j = 0
    Set NewSh = Worksheets.Add
    j = j + 1
    NewSh.Name = "TextSheet-" & j
    Open MyFile For Input As #1
        Do While Not EOF(1)
            i = i + 1
            Line Input #1, InputData
            Cells(i, 1) = Left(InputData, 10)
            Cells(i, 2) = Mid(InputData, 11, 6)
            Cells(i, 3) = Mid(InputData, 18, 6)
            Cells(i, 4) = Mid(InputData, 25, 11)
            Cells(i, 5) = Mid(InputData, 37, 6)
            Cells(i, 6) = Mid(InputData, 44, 50)
            If i > 65535 Then
                Set NewSh = Worksheets.Add
                j = j + 1
                NewSh.Name = "TextSheet-" & j
                i = 0
            End If
        Loop
    Close #1
    Set NewSh = Nothing
End Sub
 
Katılım
8 Ağustos 2005
Mesajlar
8
Teşekkür ederim, bu kodda çalıştı.
Bir de bu hücrelerin hepsini "metin" olarak nasıl açarım.
Çünkü bazı hücrelerde başta olması gereken sıfırlar kaybolmuş.

teşekkürler.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bu durumda ufak bir ilave daha yaparsak ...

Kod:
Sub GetTxtData4()
'Raider ®
    Dim MyFile As String
    MyFile = "C:\Test.txt"
    j = 0
    Set NewSh = Worksheets.Add
    j = j + 1
    NewSh.Name = "TextSheet-" & j
    Columns("A:G").NumberFormat = "@"
      Open MyFile For Input As #1
        Do While Not EOF(1)
            i = i + 1
            Line Input #1, InputData
            Cells(i, 1) = Left(InputData, 10)
            Cells(i, 2) = Mid(InputData, 11, 6)
            Cells(i, 3) = Mid(InputData, 18, 6)
            Cells(i, 4) = Mid(InputData, 25, 11)
            Cells(i, 5) = Mid(InputData, 37, 6)
            Cells(i, 6) = Mid(InputData, 44, 50)
            If i > 65535 Then
                Set NewSh = Worksheets.Add
                Columns("A:G").NumberFormat = "@"
                j = j + 1
                NewSh.Name = "TextSheet-" & j
                i = 0
            End If
      Loop
    Close #1
    Set NewSh = Nothing
End Sub
 
Katılım
9 Ekim 2005
Mesajlar
7
Arkadaşlar yukarıdaki paylaşım çok güzel olmuş... Benim sormak istedeğim test dosyasında birbiriyle ,(virgül) ile ayrılmış verileri excele nasıl atabileceğimizle ilgili.
Ã?rneğin;
AHMET,KOR,19961007,MERZIFON,18764500,TECIL,0.2500
MEHMET,ZAFER,19961006,NAZILLI,18764499,TECIL,1.5600 VB... gibi

böyle bir text dosyasını excele tarih formatını düzelterek nasıl atabilirim.

Katkısı olabilecek herkese şimdiden Teşekkür ederim
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
marla1286' Alıntı:
....

böyle bir text dosyasını excele tarih formatını düzelterek nasıl atabilirim.

.....

İlk önce, Data >> Get External Data >>> Import Text File

menüsü ile "delimeter" olarak "comma - virgül" işaretleyerek verileri Excel'e alın.

Buraya kadarını yapın, daha sonra Tarih ile ilgili sütunu hallederiz.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,533
Excel Vers. ve Dili
Ofis 365 Türkçe
Sayın marla1286, Text dosyasını açın, Sayın Levent Beyin dediği gibi sütunlara bölün (virgülü ayraç olarak kullanın).
tarih içinse sonradan bir formül gerekir.
Tarih C sütununa denk gelir, D ye sütun açın şu formülü yazın
=DATE(LEFT(C1;4);MID(C1;5;2);RIGHT(C1;2))
=TARİH(SOLDAN(C1;4);PARÇAAL(C1;5;2);SAÐDAN(C1;2))
 
Katılım
9 Ekim 2005
Mesajlar
7
=TARİH(SOLDAN(C1;4);PARÇAAL(C1;5;2);SAÐDAN(C1;2)
formülünü bir türlü çalıştıramadım formül sonucunda #AD? görünüyor !!!
Tarih formatı genel görünüyor. Sanırım o veride var bir bozukluk. MAKRO olarak yazmaya kalksak VBA da nasıl yazmamız gerekir yukarıdaki formülü.
 
Katılım
24 Ekim 2005
Mesajlar
1
Merhaba,

Elimde 4,5 mb'lik bir txt dosya mevcut.
Burada açıklandığı gibi (sağolsun) Haluk'un kodunu kullanıp dosyayı import etmeye kalktıgımda "Out of memory" hatası verdi.

Anladımki makro benim txt dosyasını satır satır degil de bütün dosyayı tek bir satır olarak okuyor. Sanırım txt dosyam satır satır okunabilecek formatta degil (ancak veri import edilirken "texttocolumns" fonsiyonunda düzgün çalısıyor, ancak 65bin satırı gectigi icin import edilemiyor maalesef)

txt dosyasını ilişige boyutundan dolayı (rar'lı haliyle 680 kb)

Teşekkürler
 
Katılım
16 Eylül 2005
Mesajlar
179
Excel Vers. ve Dili
Excel 2007 12.0
arkadaşlar,
şu 65536 dan fazla satırı olan tablolardan bende de var ama benimkiler *.DB dosyaları. Delphi7'de yazılan bir programın oluşturduğu DataBase dosyaları.

bu *.db dosyasının örneğin son 40000 satırını sütunlara ayrılmış biçimde nasıl Excel'e alabilirim?

şimdiden teşekkürler :Dost:
 
Katılım
16 Eylül 2005
Mesajlar
179
Excel Vers. ve Dili
Excel 2007 12.0
dosyayı Excel'sürüklediğimde sığmadı uyarısı alıyorum ve bana ilk 65536 tanesini veriyor, oysa bana son satırlar lazım.

bu konuda yardım alabilirsem minnettar kalıcam
 
Katılım
18 Mayıs 2005
Mesajlar
65
Excel Vers. ve Dili
Excel 2007 - ing
Teşekkürler...

Yukarıdaki paylaşıma katılan herkese teşekkür ederim. Macro çok işime yaradı.
 
Üst