kapalı .xls ve .csv dosyasından veri aktarmak

Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
Herkese merhaba..

elimde iki dosya var ve her ikise de kapalı durumdadır.

1.' si (c:\mizan.xls) ve bu dosyanın (mizan) sayfasının (a2:g55) aralığında rakamsal veri bulunmaktadır.

2.' si ise (c:\deneme.csv) ve tüm rakamsal veriler bu dosyanın (deneme) sayfasının (a) kolununda bulunmaktadır.

Açık olan çalışma kitabımın;

a - (sheet1)' inin a2:g55 aralığına; mizan.xls' deki verileri,
b - (sheet2)' nin (a) kolonuna ise; deneme.csv' deki verileri

aktarmak istiyorum.

nasıl bir kod yazılması gerekiyor ? :???:

yardımcı olacaklara şimdiden teşekkürler.. kolay gelsin
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Öncelikle sorunuzu çok sade bir dil kullanarak, son derece anlaşılır bir şekilde sormanız sebebiyle teşekkür ederim. Tüm üyelerimizin bu soru sorma şeklinizi örnek almasını dilerim.

Sorunuza gelince kesin cevap için mizan.xls ve deneme.csv dosyalarınızın bir örneğini eklermisiniz.
 
Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
teşekkürler leventm.

dosyalar ektedir.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin.

Kod:
Sub verial()
Dim hucre As Range
For Each hucre In [a2:g55]
sat = hucre.Row
sut = hucre.Column
hucre = ExecuteExcel4Macro("'C:\[mizan.xls]mizan'!R" & sat & "C" & sut)
Next
Sheets("sheet2").QueryTables.Add(Connection:="TEXT;C:\deneme.csv", Destination:=Sheets("sheet2").[a1]).Refresh
MsgBox "Veriler Güncellendi.", 32, "Sonuç"
End Sub
 
Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
tekrar teşekkürler leventm.

Gecenin bu saatinde yine tam 12' den vurdun.

iyi geceler... :icelim:
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Leventm üstadın, çözümüne alternatif olması açısından, ADO bağlantisi ve sorgu ile hazırlanmış aşağıdaki kodları da ben vermiş olayım.

Const adOpenForwardOnly As Long = 0
Const adLockReadOnly As Long = 1
Const adCmdText As Long = 1

Public Sub Veri()
Dim Baglanti As Object
Dim RS As Object
Dim DosyaAdi As String
Dim BaglantiKomutu As String
Dim SorguKomutu As String
Dim rng As Range
DosyaAdi = ThisWorkbook.Path & "\mizan.xls"
BaglantiKomutu = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & DosyaAdi & ";" & "Extended Properties=Excel 8.0;"
SorguKomutu = "SELECT * FROM [mizan$A2:G55]"
Set RS = CreateObject("ADODB.Recordset")
RS.Open SorguKomutu, BaglantiKomutu, adOpenForwardOnly, adLockReadOnly, adCmdText
If Not RS.EOF Then
ActiveSheet.Range("A1").CopyFromRecordset RS
End If
RS.Close
Set RS = Nothing
End Sub

İyi çalışmalar
 
Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
teşekkürler fpc..

senin kodun da çok işe yarıyor, ancak iki nokta var :

1) mizan.xls' deki verileri [a3]' den başlayarak alıyor. Diğer bir deyişle sutun başlıkları yok..

2) deneme.csv dosyasındaki veriler sheet2' ye gelmiyor.

bunları da halledebilirsen memnun olacağım.

emeğine sağlık, teşekkürler...
 
Katılım
20 Şubat 2006
Mesajlar
5
Herkese merhaba, arkadaşın sorusuna ilave olarak bende birşeyler sormak istiyorum.

benimde elimde iki dosya var, birisi .xls uzantılı diğeri .csv, excel olan dosya devamlı açık. Diğer dosya olan .csv ise devamlı kapalı olup, bu dosya farklı bir program tarafından,export seçeneği kullanılarak (.csv uzantılı kaydedilerek) zaman zaman manuel olarak güncellenmektedir.

1.' si (c:\pss.xls) ve bu dosyanın (a1:g25) aralığında rakamsal veri bulunmaktadır.

2.' si ise (c:\deneme.csv) ve tüm rakamsal veriler bu dosyanın (deneme) sayfasının yine aynı (a1:g25) kolunlarında bulunmaktadır.

Excel dosyam devamlı açık olduğu için, .csv uzantılı dosyamda herhangi bir veride değişiklik meydana geldiğinde bu değişikliğin otomatik olarak, herhangi bir tuşa basmadan, excele aktarmanın bir yolu var mıdır ?

bunu için nasıl bir kod yazılması gerekiyor ?

Yardımlarınız için şimdiden teşekkürler.
 
Üst