kapalı dosyadan veri alırken sayı ve tarih formatı hatası

Katılım
3 Şubat 2013
Mesajlar
54
Excel Vers. ve Dili
Office 2013
kapalı dosyadan veri alırken sayı ve tarih formatlarını alırken excelden kaydedilenleri normal alıyor, userformdan kaydedilenleri almıyor. nasıl bir değişiklik yapmam gerekli. kodu ekte gönderiyorum.

Kod:
Private Sub CommandButton1_Click()

If MsgBox("DOSYALARINDAN VERİ ALMAK İSTİYORMUSUNUZ.?", vbYesNo) = vbNo Then Exit Sub
Set s1 = Sheets("2013")
s1.Range("a3:ar65536").ClearContents

Set baglanti = CreateObject("ADODB.Connection")
'yol = "DRIVER={Microsoft Excel Driver (*.xls)};" & "DBQ=" & ThisWorkbook.Path & "/Araç Takip Rapor Programı 1.0 Veri Girişi.xls"
yol = "DRIVER={Microsoft Excel Driver (*.xls)};" & "DBQ=" & "\\Yedek\yedek\Ekspertiz Yedek\DİĞER\MTDTS YEDEK" & "/DTSYedek-" & Format(Now, "DDMMYYYY") & ".xls"

baglanti.Open yol
On Error Resume Next
's1.Range("a3:cd5000").ClearContents
Set rs = baglanti.Execute("[2013$A2:cd5000]")
r = WorksheetFunction.CountA(Worksheets("2013").Range("A1:A5000")) + 2
Do While Not rs.EOF
'For i = 2 To 5000 'satır sayısı
n = 1
For j = 1 To 82 'sutun sayısı

s1.Cells(r, n) = rs(j - 1)
'MsgBox rs(j)
'ComboBox2.AddItem rs(0)
n = n + 1
Next j
r = r + 1
rs.MoveNext
say = say + 1
DoEvents
gunsay.Caption = say & " adet veri güncellenmesi tamamlandı."
'Next i
Loop
rs.Close
baglanti.Close

s1.Range("a2").Select
s1.Range("a2:cd5000").NumberFormat = "@"
s1.Cells(1, 83) = Format(Now, "DD.MM.YYYY HH:MM:SS")
MsgBox say & " adet veri güncellenmesi tamamlandı."
gunsay.Caption = "Son Güncelleme " & s1.Cells(1, 83)

End Sub
 
Katılım
3 Şubat 2013
Mesajlar
54
Excel Vers. ve Dili
Office 2013
yarrrrdııııımmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
 
Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Altın Üyelik Bitiş Tarihi
30-01-2024
Aynı problemi bende yaşıyorum.
Tarih ve rakamlar metin karakterinde kopyalanıyor.
Yokmu bi çaresi

Kod:
Sub aktar()
dosya = Application.GetOpenFilename
If dosya = False Then Exit Sub
Sheets("Smp99_Donnees").Range("A1:AZ" & Rows.Count).ClearContents
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.RECORDSET")
conn.Open "Provider=microsoft.ace.oledb.12.0;data source=" & dosya & ";extended properties=""excel 12.0;hdr=yes;imex=1"";"
rs.Open "select * from [Smp99_Donnees$]", conn, 1, 1
Sheets("Smp99_Donnees").Range("B2").CopyFromRecordset rs
Set rs = conn.Execute("select * from [Smp99_Donnees$]")
Sheets("Smp99_Donnees").Range("B2").CopyFromRecordset rs
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
Sheets("Smp99_Donnees").Select
MsgBox "veriler yüklenmiştir" & vbLf & _
    "anormallik durumunda : 6551", vbOKOnly + vbInformation, Application.UserName

End Sub
 
Katılım
3 Şubat 2013
Mesajlar
54
Excel Vers. ve Dili
Office 2013
dosyalar ektedir.

masaüstüne indirirseniz ikisini de deneme isimli dosyadaki userform ile kapalı haldeki dts yedek dosyasındaki verileri aynı şekilde almak istiyorum. fakat şu anda tarih ve sayılar gelmiyor.

yardımlarınızı bekliyorum.
 

Ekli dosyalar

Katılım
6 Şubat 2005
Mesajlar
1,467
"kapalı dosyadan veri alırken sayı ve tarih formatlarını alırken excelden kaydedilenleri normal alıyor, userformdan kaydedilenleri almıyor." Dosyalarınızda Kayıt Formunu göremedim. Formdan yapılan kayıtlardaki hücre formatına bir bakın "Metin" olabilir.
 
Katılım
3 Şubat 2013
Mesajlar
54
Excel Vers. ve Dili
Office 2013
metin formatında da sayı formatında da kaydedince sonuç değişmedi. diğer bir dosyamdan kopyaladım bu kodu. orda kaydedilenlerin hepsi metin formatında kaydediyordu ve hepsini alıyordu. bu dosyada da aynı formatlarda yaptım ama olmadı.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Giriş Formunda kaydı aşağıdaki gibi girerek bir deneyin.
Format(TextBox1.Value, "dd.mm.yyyy")
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Aynı sütundaki verilerin hepsi aynı formatta olmalı
24.01.2013
1/25/2013
dosyanızda yukardaki gibi kayıtlar var sorun bundan kaynaklanıyor.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,442
Excel Vers. ve Dili
2019 Türkçe
Kod:
s1.Cells(r, n) = rs(j - 1)
Satırını silin

Kod:
        If IsDate(s1.Cells(r, n).Value) Then
            s1.Cells(r, n).Value = FormatDateTime(rs(j - 1).Value)
        Else
            s1.Cells(r, n).Value = rs(j - 1).Value
        End If
Satırlarını ekleyin
 
Katılım
11 Ekim 2010
Mesajlar
37
Excel Vers. ve Dili
Ev ve İş Office 2007 Türkçe
Kapalı dosyadan veri almak

Merhabalar,

Sorumu buraya mı yazmalıyım? bilemedim? Hata yaptıysam şimdiden özür dilerim.

Sorunum şöyle; kapalı dosyadan ilgili sayfaların ilgili hücrelerinden verileri makro yardımıyla almaya çalışıyorum. Bunu makro kaydet yardımıyla yaptım. Yalnız sorun şu ki; excelde formülle yapmış olduğumuz eşleşmenin aynısı oluyor ve butona basmaya gerek kalmadan verileri otomatik güncelleştirme yapıyor. Birde çalışma sayfası yaklaşık 200 adet olacak ve kod bölümü kalabalıklaşacak.

Bu veri çekme eylemini daha kolay bir makro yardımıyla çözebilir miyim? Yoksa makrodan vazgeçip direk excel formül yardımıyla mı çözmeliyim?

Yardımcı olabilirseniz çok sevinirim.

İyi çalışmalar
 

Ekli dosyalar

Katılım
6 Şubat 2005
Mesajlar
1,467
Sn dalgalikur
Sizin kodunuzda da aynı tip bir hata veriyor. Diğer verileri "41277" yerine "1/22/2013" şeklinde getiriyor ama sorunlu kayıtlarda yine veri gelmiyor. Sorun "DTSYedek" dosyasına aynı tip verilerin girilmesi ile çözülebilir gibi geliyor bana.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,442
Excel Vers. ve Dili
2019 Türkçe
Özür dilerim kodu yalnış vermişim aşağıdaki gibi olacak

Kod:
        If IsDate(rs(j - 1).Value) Then
            s1.Cells(r, n).Value = FormatDateTime(rs(j - 1).Value)
        Else
            s1.Cells(r, n).Value = rs(j - 1).Value
        End If
Dosyanız ekte
 

Ekli dosyalar

Son düzenleme:
Katılım
6 Şubat 2005
Mesajlar
1,467
Sn arjuna35
Örneğe ilişkin açıklamalar ekteki txt dosyasında
ben ilk iki sütun için kod yazdım diğerlerini siz eklersiniz.
kolay gelsin
 

Ekli dosyalar

Son düzenleme:
Katılım
3 Şubat 2013
Mesajlar
54
Excel Vers. ve Dili
Office 2013
sayın omerceri vedalgalikur,

öncelikle yardımlarınız için sonsuz teşekkürler.

Tam sorunumu anlatamadım herhalde:D

Burdaki problem gelen verinin format problemi değil, elle excel e girişi yapılan değerlerin kapalıyken deneme dosyasına getirilmesi fakat userform üzerinden kaydedilen verilerin deneme dosyasına getirilememesi.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Daha önce Sütunları biçimlendirmediyseniz, direkt hücreye tarih girerseniz onu tarih olarak algılıyor, ancak forma aynı şekilde veri girip hücreye aktırırsanız ki öyle olmuş (DTSYedek.xls dosyasının 75. satırdaki gibi ../../.... şeklinde) bir şekilde aynı sütundaki verileri format ve şeklini aynılaştırırsanız, sizin sorununuz çözülür.
 
Katılım
3 Şubat 2013
Mesajlar
54
Excel Vers. ve Dili
Office 2013
a sürunu ve f sütunundaki verileri de almıyor. bunların formatlarını userformdan getirirken nasıl düzelteceğim. bir de bu gelmeyen verileri excelden elle güncelliyorum ama bunlar da gelmiyor.
 
Katılım
11 Ekim 2010
Mesajlar
37
Excel Vers. ve Dili
Ev ve İş Office 2007 Türkçe
Sn arjuna35
Örneğe ilişkin açıklamalar ekteki txt dosyasında
ben ilk iki sütun için kod yazdım diğerlerini siz eklersiniz.
kolay gelsin
Sn. Ömerceri,

İlginiz için çok teşekkür ederim. Gönderdiğiniz dosyayı inceledim. Fakat anlayamadım. İcmal dosyasındaki butona bastığımda verileri siliyor.

Sanırım ben sorunumu anlatamadım. İcmal dosyasındaki buton yardımıyla diğer çalışma kitabının tanımlı hücrelerindeki verileri almak istiyorum.

Tekrar teşekkür ederim.
 
Son düzenleme:
Üst