excecuteexcel4macro???

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
25-12-2029
Merhaba arkadaşlar forumdan öğrendiğim kapalı dosyadan veri alabilmek için olan kodu aşağıya yazıyorum
Sheets(1).Range("a1") = ExecuteExcel4Macro("'c:\[Veri.xls]veri'!r1c1")
bu kod ile kapalı olan dosyanın a1 hücresini açık olan dosyamın a1 hücresine alıyorum yanlız benim öğrenmek istediğim açık olan dosyamın sayfasına kapalı olan dosyanın veri sayfasındaki tüm hücreleri yada belli bir aralığı (a1:aa50) gibi nasıl alabilrim bir kaç yol denedim ama hata verdi şimdiden ilgilene tüm hocalarıma teşekkür ederim
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
25-12-2029
hocam

hocam öncelikle göstermiş olduğunuz ilgi için teşekkür ederim soruyu sormadan önce emin olunki "kapalı dosya " şeklinde arama yaptım ama benim öğrenmek istediğim tam olarak şu

=ETOPLA(HammaddeDepo!$A$4:$A$65536;B3;HammaddeDepo!$M$4:$M$65536)
yukarıdaki formülle yaptığım sorgulamayı kapalı olan C sürücüsünün altında Yedek dosyası içinde Planlama.xls dosyasından yapmak istiyorum yani bu formülü açık olan A.xls olarak kabul edin bu dosyada a5 hücresine gelip yukarıdaki yukarıdaki formülü uygulamak isitiyorum ama formüldeki HammaddeDepo sayfası dediğim gibi kapalı halde bulunan C sürücüsü içindeki Yedek dosyası altında Planlama.xls dosyası içinde bunu nasıl uyarlayabilrim yardımcı olursanız çok sevinirim
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
ADOBD ile aşağıdaki şekilde yapabilirsiniz.Belki size değişik fikirler verebilir.

Dosyalar C:\Deneme\Deneme klasöründe bulunmalıdır.

Kod:
Sub ADODBBaglanti()
On Error Resume Next
Dim cn As ADODB.Connection
Dim rs As Object
Dim file, SQLStr As String
file = "C:\Deneme\Deneme\1.xls"
Set cn = New ADODB.Connection
cn.Open "Driver={Microsoft Excel Driver (*.xls)}; DBQ=" & file & ";Readonly=True"
Set rs = New ADODB.Recordset
SQLStr = "SELECT SUM([TUTAR]) FROM [DATA$] WHERE [SIRA]=" & [e2] & ""
rs.Open SQLStr, cn, adOpenForwardOnly, adLockReadOnly, adCmdText
If rs.RecordCount = -1 Then
[f2] = rs(0)
Else
[f2] = 0
End If
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
25-12-2029
Sn Ripek Hocam

Gönderdiğiniz örnek için teşekkür ederim ADO konusu benim için biraz karışık gibi görünüyor ama kodları çözmeye çalışıp öğrenmeye çalışacağım çok teşekkür ederim tekrar
 
Üst