eğer dosya açıksa

Katılım
2 Temmuz 2005
Mesajlar
24
Excel Vers. ve Dili
Excel 2003-Türkçe
herkese iyi günler
aşağıdaki kod ile ilgili dosyanın açık olup olmadığını kontrol edip açık değilse açıyorum(m.temel kormaz'ın sitesinden t.başkan'dan yadigar kodlar, kendilerini anmadan edemedim sağolsunlar)

Range("B28").Select
On Error GoTo gec
Windows("dit.xls").Activate
If ActiveWindow.Caption = "dit.xls" Then GoTo geciniz
gec:
Workbooks.Open Filename:="C:\hesap\dit.xls"

geciniz:
Range("B6:J12").Select
şimdi sorunum şu aynı makro içerisinde birden fazla dosyanın açık olup olmadığı konrtol edilip açılması istendiğinde bu kodlar çalışmıyor;

Range("B28").Select
On Error GoTo gec
Windows("dit.xls").Activate
If ActiveWindow.Caption = "dit.xls" Then GoTo geciniz
gec:
Workbooks.Open Filename:="C:\hesap\dit.xls"

geciniz:

Range("B6:J12").Select
Range("B28").Select
ActiveCell.Value = "123"

On Error GoTo dec
Windows("bit.xls").Activate
If ActiveWindow.Caption = "bit.xls" Then GoTo deciniz
dec:
Workbooks.Open Filename:="C:\hesap\bit.xls"

deciniz:

Range("B6:d12").Select

nasıl bir değişiklik yapmak gerekir? ilgilenen arkadaşlara şimdiden teşekkürler.
iyi çalışmalar
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yazdığınız kodlar hata durumunu dikkate alarak hazırlanmış, bu sebeple sadece bir kez işlem yapabilir. Bunun yerine aşağıdaki şekilde deneyin.

[vb:1:afde827372]Sub ac()
Dim a(2)
a(1) = "dit.xls"
a(2) = "bit.xls"
For b = 1 To 2
For c = 1 To Workbooks.Count
If Workbooks(c).Name = a(b) Then
Workbooks(a(b)).Activate
Range("B28") = 123
GoTo 10
End If
Next
Workbooks.Open Filename:="C:\hesap\" & a(b)
Range("B28") = 123
10 Next
End Sub
[/vb:1:afde827372]
 
Katılım
2 Temmuz 2005
Mesajlar
24
Excel Vers. ve Dili
Excel 2003-Türkçe
sayın leventm,
söylediklerinizden şöyle bir sonuç çıkarılabilir mi;

on error goto ....
komutu bir kod dizininde sadece 1 kez kulanılabilinir, yani hata kontrolünü sadece 1 kez yaptırabiliriz?
ayrıca yazmış olduğunuz kodları henüz deneyemedim ama işime yarayacak gibi duruyorlar, zahmetlerinize teşekkürler
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
on error goto ....
komutu bir kod dizininde sadece 1 kez kulanılabilinir, yani hata kontrolünü sadece 1 kez yaptırabiliriz?
Evet bu doğru, kod çalıştıktan sonra sadece bir hataya göre yönlendirme yapabilirsiniz.
 
Üst