dat uzantılı dosyadan veri alma

Katılım
26 Aralık 2009
Mesajlar
9
Excel Vers. ve Dili
türkçe
iyi çalışmalar dat uzantılı dosyadan verileri almak istiyorum yardımcı olabilir misiniz

xls ile aşağıdaki kod ile alabiliyorum

Sub veri_al()
Dim pir As String
Dim ilk As Workbook
Dim son As Workbook
Set ilk = ActiveWorkbook

ilk.Sheets("Sayfa1").Activate
pir = InputBox("Okul Kodu", "Okul Kodunu Giriniz")
Range("r1").Value = pir

Workbooks.Open Filename:="C:\YKS\AYT\" & Range("r1").Value & ".xls"
Set son = ActiveWorkbook

son.Activate

Sheets("OkulAytTestSonucListesi").Range("b13:ba5000").Copy
ilk.Activate

Range("b3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
son.Close
ilk.Sheets("Sayfa2").Activate
Range("b2:ba5000").Copy
ilk.Sheets("Sayfa3").Activate
Range(Range("A1").Value).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ilk.Sheets("Sayfa4").Activate
Range("b1").Select

End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
DAT dosyanız, muhtemelen bir "text-metin" dosyasıdır. Örnek bir tane verirseniz, duruma bakılabilir....


Bilgi için aşağıdaki linke bakın;



.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Dosyadaki veriler gelişigüzel ayrıştırılmış ..... içlerinden hangilerini A sütununa listelemek istiyorsunuz, listelenmiş bir örnek Excel dosyası eklemeniz gerekir.

.
 
Katılım
26 Aralık 2009
Mesajlar
9
Excel Vers. ve Dili
türkçe
benim için makro ile a1 e eklenmesi yeter.
hatta dosya içindeki 1den fazla dosyayı alt alta ekleyebilirse çok daha güzel olur
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Muhterem, sizin ".dat" içeriği şöyle....

Kod:
4153001931920087012B32BBADBAB  A B EE   A      ADABDEEADEBBABCD     D   C    D                   CBA DEDD    A      B  B C    C    C  AD                                               
4153001931920087412A12BBACBABC A    D                A AEBBA  D DAA ACD C  BAD ECCAEAAAEDCCAEBADECBADDB                                                                               
4153001931920086312B32ABCABBAECEDEA  DCB A        B DEB ADCBBDAA                  BA            EB ADDA       B    CA    E               DB  E                                         
4153001931920098912A12ACDEBBAB  C  EBD   A       C       CAABDABEBB DB  DAEA CCBDEBAE EBAEC D    B AD A                                                                               
4153001931920086812A22B                                          A                 ECB           C    C A D   B                  D    A        AD    B            A C      A DA B CA AC
415300193192  98712A22A                                                                                D A      B                    A         A C CEDB  A DA      C A    CDAA E D AAE


Her satırı alt alta hücreler aktarsak, içinden çıkamazsınız...... Muhtemelen eklediğiniz dat dosyasında gerçek veriler olmadığı için, anlamsız şeyler var.

.
 
Katılım
26 Aralık 2009
Mesajlar
9
Excel Vers. ve Dili
türkçe
aynen bunları makro ile çekebilirsem işim çok rahat olacak
optik tarayıcı dat ile kaydediyor
optik okuma yapmaya düşünüyorum.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Muhtemelen eklediğiniz dat dosyasında gerçek veriler olmadığı için, anlamsız şeyler var.
Merhaba üstat,
Anladığım kadarıyla bu dosya optik form okuyucunun ürettiği dosya. Her bir satır A sütununda bir hücreye alınıp oradan parçaal ile vs aldırılıp işlem yapılacaktır.
Örneğin ilk 11 karakter kimlik no, sonraki 3 karakter okul no, 51-70 karakterler arası Türkçe cevabı gibi... Öğrencinin boş bıraktığı seçenekler de boşluk ile ifade ediliyor.
 
Katılım
26 Aralık 2009
Mesajlar
9
Excel Vers. ve Dili
türkçe
Merhaba üstat,
Anladığım kadarıyla bu dosya optik form okuyucunun ürettiği dosya. Her bir satır A sütununda bir hücreye alınıp oradan parçaal ile vs aldırılıp işlem yapılacaktır.
Örneğin ilk 11 karakter kimlik no, sonraki 3 karakter okul no, 51-70 karakterler arası Türkçe cevabı gibi... Öğrencinin boş bıraktığı seçenekler de boşluk ile ifade ediliyor.
aynen optik okuma yapıp değerlendirme yapmayı düşünüyorum
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba üstat,
Anladığım kadarıyla bu dosya optik form okuyucunun ürettiği dosya. Her bir satır A sütununda bir hücreye alınıp oradan parçaal ile vs aldırılıp işlem yapılacaktır.
Örneğin ilk 11 karakter kimlik no, sonraki 3 karakter okul no, 51-70 karakterler arası Türkçe cevabı gibi... Öğrencinin boş bıraktığı seçenekler de boşluk ile ifade ediliyor.

O zaman, hangi aralıklarda ne verisi olduğu belliyse; "dış veri al" komutuyla manuel yapılır.... Ya da yukarıda verdiğim linkte 13 No'lu mesajdaki kodda söz konusu aralıkları değiştirerek VBA ile veriler alınabilir.....


Capture.PNG

.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
2 No'lu mesajda verdiğim linkte, 13 No'lu mesajdaki kodu kullanın ..... aralıkları kendinize göre düzeltin.

.
 
Katılım
26 Aralık 2009
Mesajlar
9
Excel Vers. ve Dili
türkçe
ilginiz için teşekkürler. ben şunu denedim şimdi onu yapacağım
Kod:
Sub veri_al()
    Dim pir As String
    Dim ilk As Workbook
    Dim son As Workbook
    Set ilk = ActiveWorkbook
    
    ilk.Sheets("okuma").Activate
    pir = InputBox("Okul Kodu", "Okul Kodunu Giriniz")
Range("b1").Value = pir

    Workbooks.Open Filename:="C:\okuma\dat\" & Range("b1").Value & ".dat"
    Set son = ActiveWorkbook
    
    son.Activate
    
Range("a1:a5000").Copy
    ilk.Sheets("okuma").Activate
Range("a8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Application.CutCopyMode = False
        son.Close
  
End Sub
 
Katılım
26 Aralık 2009
Mesajlar
9
Excel Vers. ve Dili
türkçe
lgs denemesi için optik okumayı bitirdim
 
Üst