Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 02-02-2018, 01:15   #1
yselimyilmaz
Altın Üye
 
Giriş: 29/12/2007
Şehir: edirne
Mesaj: 32
Excel Vers. ve Dili:
2010-türkçe
Varsayılan ListBox dolu ise Userform'un kapanmasına izin vermeme

Selam arkadaşlar;

Userform da ListBox1 oluşturup içerisindeki verileri sayfa1'e aktarıp, ListBox1 i temizleyip, çalışma kitabını aşağıdaki kod ile kaydediyorum.

Private Sub CommandButton1_Click()
Dim i As Long, s As Long, a As Long
s = Sayfa1.Range("a65536").End(3).Row
For i = 1 To 5
For a = 0 To ListBox1.ListCount - 1
Sayfa1.Cells(s + a + 1, i).Value = ListBox1.List(a, i - 1)
Next a
Next i
MsgBox "Sonuçlar aktarılmıştır.", vbInformation, "İşlem Tamam - YaVuZ"
ListBox1.Clear
Application.ScreenUpdating = False
If MsgBox("YAPILAN İŞLEMLERİ KAYDETMEK İSTİYORMUSUNUZ?", vbYesNo + vbQuestion, "KAYDET") = vbYes Then
ThisWorkbook.Save
MsgBox "YAPILAN İŞLEMLER KAYDEDİLDİ.", vbInformation, " KAYIT - YaVuZ"
Else
Exit Sub
End If
Call TextBox1_Enter
End Sub


Aşağıdaki kod ile de Userformu kapatıyorum. ListBox1 dolu da olsa boşta olsa userform kapanıyor. Benim istediğim ListBox1 dolu ise kapanmasın uyarı mesajı versin.

.................................................. ..............................................
Private Sub CommandButton3_Click() 'KAPAT butonu
Unload Me
End Sub
.................................................. ..............................................

"AKTARILMAYAN KAYITLAR VAR!
AKTARMAK İSTİYORMUSUNUZ?"

Evet ise
Call CommandButton1_Click()

Hayır ise
"KAPATMAK İSTEDİĞİNİZDEN EMİN MİSİNİZ?

Evet ise
Unload Me

Hayır ise
MultiPage1.Value = 0

Bu mesaj en son " 02-02-2018 " tarihinde saat 01:28 itibariyle yselimyilmaz tarafından düzenlenmiştir....
yselimyilmaz Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-02-2018, 02:06   #2
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,687
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Merhaba.

Bu tür soruların, kodların ve userformların içerisinde ve çalışır durumda olduğu örnek belge üzerinden sorulmasında yarar var.
Örnek belge olmayınca kodların denenme şansı yok.

Ayrıca userform olaylarıyla ilgili bilgim de sınırlı ama yine de fikrimi belirteyim.

Örneğin;
-- ListBox1'den aktarma yaptığınız verileri, Listbox1'den hangi kodlarla siliyorsunuz?
-- ListBox1'deki kayıtların azalması veya bitmesi hangi kodlarla oluyor?
-- İşlemlerin MultiPage nesnesiyle ilgili bir bağlantısı var mıdır?
bilemiyorum tabi.

Herneyse mantık olarak aşağıdaki gibi bir yapı olabileceğini düşünüyorum, denemek lazım.
.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CommandButton3_Click() 'KAPAT butonu
If ListBox1.ListCount > 0 Then
    cevap1 = MsgBox("Aktarılmayan Kayıtlar var." & vbCrLf & _
            "Kalan kayıtlar aktarılsın mı?", vbYesNo + vbQuestion)
    Select Case cevap1
        Case vbYes: Call CommandButton1_Click
        Case vbNo
            cevap2 = MsgBox("Kapatmak istediğinize emin misiniz", vbYesNo + vbQuestion)
            Select Case cevap2
                Case vbYes: Unload Me
                Case vbNo: MultiPage1.Value = 0
            End Select
    End Select
Else
    Unload Me
End If
End Sub
__________________
.
☾✭ İnadına TÜRKÇE ✭☽

-- Sorunuzu, gerçek belgenizle aynı yapıda ve olması gereken sonuçların elle yazıldığı örnek belge ile destekleyiniz.
-- ALTIN ÜYELİK öneriyorum. / FORUM KURALLARInı mutlaka okuyunuz.
-- ALTIN ÜYE olmayanlar, örnek belgeyi dosya.tc, dosya.co gibi bir siteye yükleyip, belgeye erişim adresini verebilir.
-- Özel mesaj ile soru sormayınız. / Geri bildirimde bulunulmayan cevaplarımı siliyorum.
Ömer BARAN Çevrimdışı   Alıntı Yaparak Cevapla
Eski 04-02-2018, 00:13   #3
yselimyilmaz
Altın Üye
 
Giriş: 29/12/2007
Şehir: edirne
Mesaj: 32
Excel Vers. ve Dili:
2010-türkçe
Varsayılan

Sayın Ömer Baran;
Yazmış olduğunuz kodlar tam istediğim gibi olmuş, teşekkür ederim.

Başka arkadaşlara da fikir konusunda yardımcı olması için sorduğunuz sorulara cevap vermek isterim,

Tüm sorularınızın cevabı ilk mesajımdaki CommandButton1_Click() komut satırlarında mevcut.

Örneğin;
-- ListBox1'den aktarma yaptığınız verileri, Listbox1'den hangi kodlarla siliyorsunuz? = ListBox1.Clear
-- ListBox1'deki kayıtların azalması veya bitmesi hangi kodlarla oluyor? = Aşağıdaki kodlarla, Oluşturmuş olduğum ListBox'ın tüm satırlarını sayfaya aktararak.
Dim i As Long, s As Long, a As Long
s = Sayfa1.Range("a65536").End(3).Row
For i = 1 To 5
For a = 0 To ListBox1.ListCount - 1
Sayfa1.Cells(s + a + 1, i).Value = ListBox1.List(a, i - 1)
Next a
Next i
MsgBox "Sonuçlar aktarılmıştır.", vbInformation, "İşlem Tamam - YaVuZ"
ListBox1.Clear

-- İşlemlerin MultiPage nesnesiyle ilgili bir bağlantısı var mıdır?
Userformuda 3 adet MultiPage var. MultiPage1 anasayfa gibi düşünebiliriz.
yselimyilmaz Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 02:36


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Dil Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Rampa- Rotary- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Çorlu Sürücü Kursu- Şişli Avukat- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kağıt Bardak- Kaplan Tekstil- Çorlu Perde- Çorlu Perde- Çorlu Havuz- Çorlu Havuz- Makina- Danışmazlar- Çorlu Perde Yıkama- Çorlu Perde Yıkama- Okul Danışmanlık- Çorlu Ayakkabı- İzmit Sigorta- ADR'li taşıma kabı imalatı- Mekanik Tesisat- Çorlu Grafik Tasarım-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden