Soru Global Değişken Tanımlama

gokhanboyaci

Yeni Üye
Üye
Katılım
16 Eki 2018
Mesajlar
22
Tepki puanı
5
Puanları
3
Excel Versiyonu, Dili
Bilinmiyor
Merhaba Arkadaşlar,
Excelde aşağıdaki gibi bir textbox olan bir menüm var.Modul üzerinden İlk ürün ve son ürüne excel açıldığında otomatik olarak değer atıyorum. Daha sonra burdaki sayıları bir değişkene aktarıyorum.

Farklı bir modul üzerinde buton ile fonskiyonu başlatıp buradaki değerleride alıp fonskiyonu çalıştırıyorum. Buraya kadar hiç bir sorun yok.
Daha sonra tekrar butona bastığımda buradaki değerler sıfırlanıyor.

Global, private ile tanımlamalar yaptım ama gene sıfırlandı. Bu değişkenleri atama sonrası excel kapana kadar son aldığı değeri saklamasını nasıl sağlarım.

Ekran Alıntısı.PNG
 

metehan8001

Feyzullah - XD Yönetim
Yönetici
Forum Yöneticisi
Katılım
1 Eki 2018
Mesajlar
214
Tepki puanı
102
Puanları
43
Konum
Osmaniye
Web Sitesi
www.exceldepo.com
Excel Versiyonu, Dili
Excel 2016 TR
Modüle bölümüne en üstte yazın
Public degisken$
 

gokhanboyaci

Yeni Üye
Üye
Katılım
16 Eki 2018
Mesajlar
22
Tepki puanı
5
Puanları
3
Excel Versiyonu, Dili
Bilinmiyor
Kod:
'Tarama bilgileri
Public ilkUrun As Integer
Public sonUrun As Integer

Sub GetText(control As IRibbonControl, ByRef text)
    Select Case control.ID
    Case "editBoxIlkUrun"
        text = 1
        ilkUrun = text
    Case "editBoxSonUrun"
        text = 1000
        sonUrun = text
    End Select
End Sub


Sub onChangeTaramaIlkUrun(control As IRibbonControl, text As String)
    StartModule.ilkUrun = text
End Sub
Sub onChangeTaramaSonUrun(control As IRibbonControl, text As String)
    StartModule.sonUrun = text    
End Sub
 

metehan8001

Feyzullah - XD Yönetim
Yönetici
Forum Yöneticisi
Katılım
1 Eki 2018
Mesajlar
214
Tepki puanı
102
Puanları
43
Konum
Osmaniye
Web Sitesi
www.exceldepo.com
Excel Versiyonu, Dili
Excel 2016 TR
Modül içerisinde Sub içinde Dim ilkurun as integer : Dim sonurun as integer kullanmayı deneyiniz.
Eğer yine sıfırlanırsa bu sefer Dim yerine Static kullanın.
Static ilkurun as integer : Static sonurun as integer
Dim değişkeni sıfırlayarak başlar
Static değişkeni korur.
 
Son düzenleme:

gokhanboyaci

Yeni Üye
Üye
Katılım
16 Eki 2018
Mesajlar
22
Tepki puanı
5
Puanları
3
Excel Versiyonu, Dili
Bilinmiyor
Malesef ikisde olmadı Sub çalışmıyor bu sefer, zaten en yukarıda tanımladığımız için hata veriyor büyük ihtimal.
 

metehan8001

Feyzullah - XD Yönetim
Yönetici
Forum Yöneticisi
Katılım
1 Eki 2018
Mesajlar
214
Tepki puanı
102
Puanları
43
Konum
Osmaniye
Web Sitesi
www.exceldepo.com
Excel Versiyonu, Dili
Excel 2016 TR
Yukarıda public ilkurun$ yapın sadece as integer kısmını silin.
 

metehan8001

Feyzullah - XD Yönetim
Yönetici
Forum Yöneticisi
Katılım
1 Eki 2018
Mesajlar
214
Tepki puanı
102
Puanları
43
Konum
Osmaniye
Web Sitesi
www.exceldepo.com
Excel Versiyonu, Dili
Excel 2016 TR
Yine de çalışmazsa sizden örnek dosyanızı yüklemenizi rica edecem.
 

gokhanboyaci

Yeni Üye
Üye
Katılım
16 Eki 2018
Mesajlar
22
Tepki puanı
5
Puanları
3
Excel Versiyonu, Dili
Bilinmiyor
Olmadı malesef. Yine sıfırlanıyor
 

gokhanboyaci

Yeni Üye
Üye
Katılım
16 Eki 2018
Mesajlar
22
Tepki puanı
5
Puanları
3
Excel Versiyonu, Dili
Bilinmiyor
Şöyle bir durumu fark ettim, normal mi bilmiyorum. Çalışan makroyu ben durdurusam yada debuga düşerek hata alırsa. Değerler sıfırlanıyor.

Normal çalışıp makro bitince tekrar çalıştırdığımda tüm değerler geliyor.
 

gokhanboyaci

Yeni Üye
Üye
Katılım
16 Eki 2018
Mesajlar
22
Tepki puanı
5
Puanları
3
Excel Versiyonu, Dili
Bilinmiyor
Şöyle bir durumu fark ettim, normal mi bilmiyorum. Çalışan makroyu ben durdurusam yada debuga düşerek hata alırsa. Değerler sıfırlanıyor.

Normal çalışıp makro bitince tekrar çalıştırdığımda tüm değerler geliyor.
Bu durumu nasıl önleyebilirim arkadaşlar.
 

Erman Sekitmez

Üstat
Yönetici
Üstat
Katılım
2 Eki 2018
Mesajlar
8
Tepki puanı
13
Puanları
3
Çalışma sırasında bir hata oluşurda debug moduna girerseniz public değişkenleriniz sıfırlanabilir. Hataya sebep olan her neyse kodunuzun içinde bunu yönetebilirseniz sorun ortadan kalkacaktır.
 

metehan8001

Feyzullah - XD Yönetim
Yönetici
Forum Yöneticisi
Katılım
1 Eki 2018
Mesajlar
214
Tepki puanı
102
Puanları
43
Konum
Osmaniye
Web Sitesi
www.exceldepo.com
Excel Versiyonu, Dili
Excel 2016 TR
PHP:
Private Type Urunler
ilkUrun As Integer
sonUrun As Integer
End Type


Sub GetText(control As IRibbonControl, ByRef text)
Dim deg as Urunler

    Select Case control.ID
    Case "editBoxIlkUrun"
        text = 1
        deg.ilkUrun = text
    Case "editBoxSonUrun"
        text = 1000
        deg.sonUrun = text
    End Select
End Sub
konuyu takip eden bir arkadaşın cevabı, bana özelden yazmıştı.
 
Son düzenleme:

gokhanboyaci

Yeni Üye
Üye
Katılım
16 Eki 2018
Mesajlar
22
Tepki puanı
5
Puanları
3
Excel Versiyonu, Dili
Bilinmiyor
Çalışma sırasında bir hata oluşurda debug moduna girerseniz public değişkenleriniz sıfırlanabilir. Hataya sebep olan her neyse kodunuzun içinde bunu yönetebilirseniz sorun ortadan kalkacaktır.
Bu arada şuan için bir hata yok sadece , ben kendim makronun çalışmasını durduruyorum. Bundan dolayı public değerler sıfırlanıyor. Fakat burdan yola çıkarak, herhangi olabilecek farklı bir hatada yine sonuç aynı olacağını düşünüyorum.
 

gokhanboyaci

Yeni Üye
Üye
Katılım
16 Eki 2018
Mesajlar
22
Tepki puanı
5
Puanları
3
Excel Versiyonu, Dili
Bilinmiyor
Kod:
Private Type Urunler
ilkUrun As Integer
sonUrun As Integer
End Type


Sub GetText(control As IRibbonControl, ByRef text)
Dim deg as Urunler

    Select Case control.ID
    Case "editBoxIlkUrun"
        text = 1
        deg.ilkUrun = text
    Case "editBoxSonUrun"
        text = 1000
        deg.sonUrun = text
    End Select
End Sub
konuyu takip eden bir arkadaşın cevabı, bana özelden yazmıştı.
İlginiz için teşekkürler fakat işe yaramadı , değişkenlerin public olması gerekli malesef. Farklı modüllerden çağırmam gerekiyor.

Sanırım olağan bi durum ama çözüm de olmalı diye düşünmüyor değilim :)
 
Üst