• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Değişken tanımlama hk.

  • Konbuyu başlatan Konbuyu başlatan mumugul
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Ekim 2004
Mesajlar
220
Excel Vers. ve Dili
365 Türkçe
Merhaba,

Aşağıda ki örneği siteden aldım.
"Sub/End Sub" içerisinde çalışan kodlarda dahi "Dim" ile tanımlama yapmaya gerek var mı?

Saygılarımla...

Kod:
Sub auto_open()
Dim sonsat As Long, sh As Worksheet
Set sh = Sheets("Sheet1")
sonsat = Cells(Rows.Count, "A").End(xlUp).Row
Range("A2:E" & sonsat).Sort key1:=Range("A2"), order1:=xlAscending, key2:=Range("B2"), order2:=xlAscending
End Sub
 
"Dim" ile tanımlama yapmak başta yük gibi görünse de sonradan size avantaj sağlayacaktır.

Bunu basit bir örnekle açıklayalım;

Kod içinde sürekli olarak Sheets("Sayfa1") ifadesini yazmak yerine S1 kısa tanımlaması yaparak kullanmak size avantaj sağlayacaktır.

Bu örnekler çoğaltılabilir...
 
Dim ile tanımlanmayan bir nesne variant olarak tanımlanmış gibi kabul edilir.
Variant ise hafızada en çok yer kaplayan değişkendir.
İyi bir program için değişkenler önceden tanımlandırılmalıdır.
Ayrıca Korhan beyin dediği gibi avantajlarda sağlar.:cool:
Ayrıca değişken tanımlamalarında değişken adlarında Türkçe karakterler kullanmayınız,prosedür adlarındada Türkçe karakterler kullanmayınız.

LİNKE BAK

datatypes.jpg
 
Son düzenleme:
Merhaba,

Bende bir örnek vereyim. Diyelim ki i diye bir değişkeniniz var ve bu değişkeni kullanıyorsunuz.

Fakat kodların bir satırında yanlışlıkla ı yazdığınızda i değişkenini kullanmamış olacaksınız, kodlarınız yanlış çalışacaktır. Siz de o kadar kodun içinde neden hatalı çalışıyor diye çırpınıp duracaksınız.

O yüzden kodların başında
Option Explicit

kullanırsanız değişkenleri tanımlamak zorunda kalırsınız. Dolayısıyla yukarıda verdiğim i yerine yanlışlıkla ı yazdığınızda hemen hatayı görürsünüz.
 
Son düzenleme:
Merhaba,

"Set WS=" diyerek dosyamdaki onlarca sayfayı aynı değişkene atasam bir sorun teşkil eder mi? Yoksa "WS1","WS2"... diye mi gitmeliyim.
 
Her sayfayı ayrı,ayrı set etmelisiniz:cool:
 
Her sayfayı ayrı,ayrı set etmelisiniz:cool:
Her set edilişte yeni sayfa olur.
Bir set ile birden çok sayfa set ederseniz.önceki set edilen sayfa kaybolur.:cool:
Eski set edilen kaybolur,yeni set edilen sayfa gelir.
 
Her set edilişte yeni sayfa olur.
Bir set ile birden çok sayfa set ederseniz.önceki set edilen sayfa kaybolur.:cool:
 
Demek ki bütün proje boyunca standart sadece "WS" yi kullanabilirim.
 
Merhaba,

Zaten set edeceksem boşaltmama gerek var mı?
Birde bütün değişkenleri tek seferde sıfırlayacak bir komut var mı?
Userform kapanıp excel sayfasına düşünce değişkenler sıfırlanır mı?
 
Teşekkürler...
 
Geri
Üst