DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
csv uzantılı dosya olmasın sakın.Şifreleme yada sayfa koruma mevcut değil sayfada istedimiz değişikliği yapıyoruz ancak kaydedemiyoruz formatı değiştirmemiz gerekiyor
Anladım.Maalesef bir fikrim yok.dosya üzerine sağ tıklayıp özeliklerine baktığımda (.XLS) yazıyor.
xlsx uzantılı dosyaya baktığımda parantez içinde olmadan .xlsx yazıyor
Sub kapalidosyadanaktar59()
Dim conn As Object, rs As Object, yol As String, sayfa As String
Set conn = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
Range("A2:E" & Rows.Count).ClearContents
yol = ThisWorkbook.Path
ChDir (ThisWorkbook.Path)
dosya = Application.GetOpenFilename(filefilter:="Excel Dosyaları,*.xlsx;*.xls", _
Title:="Lütfen bir dosya seçininiz!")
If dosya = False Then Exit Sub
sayfa = Replace(Dir(dosya), ".xls", "")
conn.Open "provider=microsoft.ace.oledb.12.0;data source=" & yol & _
"\" & sayfa & ".xls;extended properties=""excel 12.0;hdr=no;imex=1"";"
rs.Open "select * from [" & sayfa & "$]", conn, 1, 1
Application.ScreenUpdating = False
Range("A2").CopyFromRecordset rs
Application.ScreenUpdating = True
rs.Close: conn.Close
Set rs = Nothing: Set conn = Nothing
MsgBox "Veriler Alındı" & vbLf & "evrengizlen@hotmail.com", _
vbOKOnly + vbInformation, Application.UserName
End Sub
Dosya ektedir.dosya ektedir
Sub kapalidosyadanaktar59()
Dim yol As String, sat As Long
Range("A2:E" & Rows.Count).ClearContents
yol = ThisWorkbook.Path
ChDir (ThisWorkbook.Path)
dosya = Application.GetOpenFilename(filefilter:="Metin Dosyaları,*.txt", _
Title:="Lütfen bir dosya seçiniz.")
If dosya = False Then Exit Sub
sat = 2
Open (dosya) For Input As #1
Do While Not EOF(1)
Line Input #1, deg
Cells(sat, "A").Value = deg
sat = sat + 1
Loop
Close #1
Application.ScreenUpdating = False
Application.ScreenUpdating = True
MsgBox "Veriler Alındı" & vbLf & "evrengizlen@hotmail.com", _
vbOKOnly + vbInformation, Application.UserName
End Sub
Dosyanız ektedir.Sayın Orion
Şu anki kodlar başarılı bir şekilde text dosyasını excele aktarıyor,
Birde ilk mesajda ki gibi listeden seçmeden a1 hücresine girilen değere göre dosyayı bulup alsa harika olacak.
Yani veri sayfasını a1 hücresine dosya adını yazıp butonu tıkladığımda klasörden dosyayı bulu alması, biliyorum sizi çk yordum olsada olmasada emeğinize ayırmış olduğunuz zamana çok teşekkür ederim
Sub kapalidosyadanaktar59()
Dim dosya As String, sat As Long, deg
Range("A2:E" & Rows.Count).ClearContents
dosya = ThisWorkbook.Path & "\" & Range("A1").Value & ".txt"
If dosya = "" Then Exit Sub
sat = 2
Application.ScreenUpdating = False
Open (dosya) For Input As #1
Do While Not EOF(1)
Line Input #1, deg
Cells(sat, "A").Value = deg
sat = sat + 1
Loop
Close #1
Application.ScreenUpdating = True
MsgBox "Veriler Alındı" & vbLf & "evrengizlen@hotmail.com", _
vbOKOnly + vbInformation, Application.UserName
End Sub
Her satırda değişik aralıklarla veriler var.Bir standardı yok.Olsa idi yapılırdı.txt dosyasını excele manuel yöntemle yapıştırdığımda veriler kendi hücrelerine kopyalanıyor,Yukarıdaki kodlar gayet güzel çalışıyor anca hücreleri birleştirerek A sütununa kopyalıyor.
Çözümü varmıdır yoksa metin formatında olduğu için mi böyle oluyor.