• DİKKAT

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

kod tuhaflıkları

GursoyC

Altın Üye
Katılım
7 Ocak 2015
Mesajlar
558
Excel Vers. ve Dili
Office 2024 Türkçe
Merhabalar,

Benim soru(nu)m biraz tuhaf ve açıkçası sadece benim başıma mı geliyor diye sormak istedim.
Yüzlerce satır ve çeşit kod içeren bir sürü düğmeli bir excel tablom var.
Düğme sayısı çok fazla. Hepsi harika çalışıyor.
1 tanesi hariç. (Belki de en kısa olanı)

Yanlış anlaşılma olmasın. Düğmeye atadığım kodlar çalışıyor.
Ancak kodların çalışması sanki durmuyor gibi.

Düğmenin yapmasını istediğim şey aşağıdaki kodlarda görüldüğü kadar basit.
Kodlar çalışıyor ve yapması gereken işi hata vermeden bitiriyor.
Ancak ben en sonunda G26 hücresine girip kendim bir kelime ekliyorum, ekliyor gibi gösteriyor ancak userform'ların çalıştığı sayfadaki G26'ya yazıyor.

Sonra excel'i kapatmak istiyorum kapatmıyor. görev yöneticisinden kapatmak zorunda kalıyorum. Bu tuhaflıklar sadece bu aşağıdaki kodların çalışması sonucu oluyor.

Böyle bir şey başına gelen var mı acaba?
(Biraz uzun oldu kusura bakmayın ama sorunu tarif etmek için örnek dosya eklemek biraz anlamsız. Çünkü kodları çalıştıracak HTML sayfasında kopyalama yapmanız gerek.)

Kod:
Private Sub CommandButton2_Click()

    Sheets("siteden_kayıt").Select
    Range("f5:h27").Select
    Selection.ClearContents
    Range("F5").Select
    ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
        False, NoHTMLFormatting:=True
           

Range("g26").Select
Unload siteden_müşteri
Unload ana_userform
End Sub
 
Son düzenleme:
Afaki kod eklemektense 4 soru :

1- Paste edilen bilgiyi bu tuş nereden alıyor ?
2- İşlem çıkışında ActiveWorkbook.save gibi bir kaydedici satır yok .
3- İşlemden çıkarken kontrol amaçlı bir msgbox " İşlem tamam " uyarısı işlemin sonlanabildiğinin habercisi olabilirdi
4- Bir userformu kapattınız ancak bir de Unload siteden_müşteri var , bu da bir userform ise açılışı nerede ?

G26 konusuna gelince

Kod:
Private Sub CommandButton2_Click()
' Kopyalama nereden yapılıyor ?

Sheets("siteden_kayıt").Select
Range("f5:h27").Select
Selection.ClearContents
'Range("F5").Select
Range("g26").Select
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
False, NoHTMLFormatting:=True
Thisworkbook.save

Unload siteden_müşteri
Unload ana_userform
End Sub

Şeklinde dener misiniz ? Kopya alınacak yer konusu dışında bu kodlarda F5 in neden seçildiği konusunda bir tahmin yürütemedim, belki siz bilerek kaldırdınız. Böyle ise , o kodları ilk satırlara yerleştirerek çalıştırın .
 
Son düzenleme:
Sayın Cems,
ilginize teşekkür ederim.

1-Bilgiyi bir web sayfasından html'i seçerek clipboard'a kopyalıyorum.
2-Bu düğme işlem sonu değil. yani burada bir işlem yapılacak. sonrasında başka işlemler de yapılacağı için bir kaydedici satır eklemedim.
3- 40-50 tane benzer işlem üstüste yapılacağı için bu tarz msg box'ları eklemek biraz zaman kaybı olabiliyor.
4- ilk userform ana_userform--> bunun üzerindeki bir düğme siteden_müşteri userformunu açıyor. bu tuhaflıkları veren kod da bu form üzerinde.

Verdiğiniz kodları denedim. Durum aynı.
F5'in seçilme sebebi, kodlar gereği clipboard'daki bilgilerin F5'e sağ tıklanarak yapıştırılması gerekliliğinden.

Tuhaflıkları gösteren bir video eklemeye çalıştım. Buraya yükleyemedi. İzleyebilirseniz belki bir fikir verebilir.
linki şu şekilde: http://dosya.co/l5y9nqf5lsw2/tuhaflıklar.wmv.html

g26'ya gittikten sonra benim hücreye girerek yaptığım işlemler "karşılama" sayfasındaki hücrelere yazılıyor. Ekstradan Sheets("siteden_kayıt").Select satırı eklememe rağmen farketmiyor. Israrla gidip karşılama sayfasındaki G26 veya G27'ye (hangi hücrede değişiklik yaparsam yapayım) yazıyor.
 
Son düzenleme:
Video henüz eklii değil. Arkada kalan userformda sanki g26 içeren bir kod var i ve bir şekilde diğer sayfa çağrılmışken bir daha kendi sayfasını çağırıyor gibi ,dolayısı ile kayıt zemini sapıyor. Kendisinde olmasa da varsa modüllerde olabilir.

..Derken aynı dakikalarda video gelmiş ....

İçinde _change geçen olayları gözetin , worksheet_change textbox_change gibi
 
Son düzenleme:
>Arkada kalan userformda sanki g26 içeren bir kod var i ve bir şekilde diğer sayfa çağrılmışken bir daha kendi sayfasını çağırıyor gibi

Bu söylediğiniz çok önemli bir ayrıntı benim için. En azından neye bakmam gerektiği konusunda bir fikir oluştu kafamda.

>İçinde _change geçen olayları gözetin , worksheet_change textbox_change gibi

Change'in kullanım şekliyle ilgili gerekli bilgileri öğrenip buna göre bir yol çizeyim. Tüm Dosyada 1 tek düğme olunca bu kadar önemsemedim ama bu kadar şey yapıp ufacık bir şeyi başaramamak insanın canını çok sıkıyor :)

Çok teşekkür ederim.
Saygılar,
 
Son düzenleme:
bu kadar şey yapıp ufacık bir şeyi başaramamak insanın canını çok sıkıyor :)

Çok teşekkür ederim.
Saygılar,

Kod olan her yerde menüdeki find/bul özelliği ile " G26 " yı aratın , bir yerde gereksiz ya da unutulan çıkabilir. Bu durumu hepimiz yaşadık , bulunca da neden kör baktığımızı sorguladık ama sonunda içinden çıkılıyor.

Kolaylıklar dilerim :)
 
Çok haklısınız.
Tekrar teşekkürler. :)
 
Geri
Üst