ActiveWorkbook.Names hk.

Katılım
12 Nisan 2007
Mesajlar
170
Excel Vers. ve Dili
Office XP
Çalışma Kitabında "Dolar" adında bir hücre etiketi tanımlı. Bu hücrede yazan değeri makroda bir hesaplamada kullanmak istiyorum. Örneğin Bu hücrede 1,2 yazıyor. Kodlarda Range("A1").Value * ActiveWorkbook.Names("Dolar").Value
dediğimde hata veriyor.
Çünkü ActiveWorkbook.Names("Dolar").Value nun değerini =Kriter!$C$5 olarak görüyor. Ben burada 1,2 yi aldırmak istiyorum. Nasıl yapabilirim.
 
Katılım
12 Nisan 2007
Mesajlar
170
Excel Vers. ve Dili
Office XP
Run time error 1004
Method 'Range' of object'_Worksheet' failed
hatası verdi.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
"Dolar" adlı bir özel ad tanımlamanızın dosyanızda mevcut olup olmadığını kontrol ediniz?

Eğer varsa da; bu sefer, yazılışının veya formülasyonunun doğru olup olmadığını kontrol ediniz.
 
Katılım
12 Nisan 2007
Mesajlar
170
Excel Vers. ve Dili
Office XP
Her 2 Kontrol de doğrudur. Zaten Msgbox(ActiveWorkbook.Names("Dolar").Value) dediğimde =Kriter!$C$5 vermekte yani hücre adresini görmektedir. Hücrede de 1,2 yazdığına göre bunu alması gerekiyor.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Siz bu isme; başka bir çalışma kitabından mı ulaşmaya çalışıyorsunuz?
 
Katılım
12 Nisan 2007
Mesajlar
170
Excel Vers. ve Dili
Office XP
Hayır. Aynı Çalışma Kitabının başka sayfasından. Dediğiniz gibi olsaydı =Kriter!$C$5 i görmemesi gerekirdi. Hücre adresini görüyor ama değerini aldıramıyorum.
 
Katılım
12 Nisan 2007
Mesajlar
170
Excel Vers. ve Dili
Office XP
Ferhat bey ilginizden dolayı çok teşekkür ederim. Son gönderdiğiniz dosya doğru çalışıyor. Çok ilginçtir ki aynı şekilde yazıldığı halde benim makronun içinde çalışmıyor. Örnek dosyayı ekliyorum. Tablo sayfasını seçtiğinizde makro çalışıyor.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Hata veren satırdaki kodunuzu aşağıdaki gibi değiştirin.

Kod:
 Cells(sat, süt + 1).Value = _
          ( _
              WorksheetFunction.SumIf( _
                       Sheets("Veri").Range("z:z"), _
                             Cells(4, süt).Value, _
                                      Sheets("Veri").Range("ab:ab") _
          ) _
          * _
          Cells(sat, süt).Value) / 1000 * [COLOR=red][B]Sheets("Kriter").[/B][/COLOR]Range("Dolar")
 
Katılım
12 Nisan 2007
Mesajlar
170
Excel Vers. ve Dili
Office XP
Ferhat bey çok teşekkür ediyorum. Sorun dediğiniz şekilde çözüldü. Anlamadığım excelde sayfa adı belirtmeden aynı çalışma kitabının başka sayfalarındaki etiketler kullanılabiliyorken vba da anladığım kadarıyla bu modüllerde yapılabiliyor fakat kodlar sayfaya yazılmışsa yapılamıyor.
 
Son düzenleme:
Üst