• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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

  • Konbuyu başlatan Konbuyu başlatan mturka
  • Başlangıç tarihi Başlangıç tarihi
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
 
yarrrrdııııımmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
 
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
 
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

"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.
 
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ı.
 
Giriş Formunda kaydı aşağıdaki gibi girerek bir deneyin.
Format(TextBox1.Value, "dd.mm.yyyy")
 
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.
 
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
 
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

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.
 
Ö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:
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:
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.
 
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.
 
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.
 
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:
Geri
Üst