Sayfa Gizlenince VBA Çalışmıyor

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
Merhaba Dostlar,

Ekte bir apart kayıt çalışmam var. Bu excel açıldığında otomatik olarak Userform3 açılsın istiyorum (bu kısmı yaptım sorun yok) Lakin application Visiblae = false yapınca;

Userform4'teki aşağıdaki formül hata veriyor. (Hata vermemesi için application hide olmaması gerekiyor yani excel aşağıda açık olmalı ve excelde de data sayfası aktif olunca çalışıyor. Benim istediğim ise kullanıcı excel'i hiç görmesin tüm işlemleri userformlar üzerinden yapsın)

Aşağıdaki range ile başlayan alanı worksheets("data").range olacak şekilde yapsamda olmuyor. Kontrol edebilirmisiniz ?

Private Sub CommandButton1_Click()

aranan = TextBox8.Value
Range("A:A").Find(aranan).Select
satir = ActiveCell.Row

Worksheets("data").Cells(satir, 2) = ComboBox1.Value
Worksheets("data").Cells(satir, 3) = TextBox2.Value
Worksheets("data").Cells(satir, 4) = TextBox3.Value
Worksheets("data").Cells(satir, 5) = TextBox4.Value
Worksheets("data").Cells(satir, 6) = TextBox5.Value
Worksheets("data").Cells(satir, 7) = ComboBox2.Value
Worksheets("data").Cells(satir, 8) = TextBox7.Value

MsgBox "Degisiklikler kaydedildi!"

ComboBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox7.Text = ""
ComboBox2.Text = ""
 

Ekli dosyalar

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Şu şekilde güncelleyin;

satir = Range("A:A").Find(aranan).row
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Select ile biten satırı silmelisiniz. Satir bilgisi ilettiğim kodlar ile seçilen hücreden değil, bulunan hücrenin satırından direk geliyor.
 

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
aranan = TextBox8.Value
Worksheets("Data").Range("A:A").Find(aranan).Select
satir = Range("A:A").Find(aranan).Row

Formülü yukarıdaki şekilde revize ettim bu sefer select hatası alıyorum.
 

Ekli dosyalar

  • 4.7 KB Görüntüleme: 3

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
Tamam
Select ile biten satırı silmelisiniz. Satir bilgisi ilettiğim kodlar ile seçilen hücreden değil, bulunan hücrenin satırından direk geliyor.
satir = worksheets("data").Range("A:A").Find(aranan).row

bu şekilde yapınca sorun çözüldü. En önemli sorun application visible false yapınca sorun var farklı bir yerde.
 
Son düzenleme:

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
@DoğanD kodu revize ettim lakin autopen da application visible false yapınca hata alıyorum ben. Ekteki halini inceler misin rica etsem ? Aşağıdaki sarı yer hata veriyor.

Private Sub UserForm_Activate()
Dim sh As Worksheet, i As Long, sonsat As Long, X As Long
Dim k As Integer
tarih = Date
sonTarih = DateSerial(2023, 11, 30)
Set sh = Worksheets("data")
ListBox1.Clear
ListBox1.ColumnCount = 8
ListBox1.IntegralHeight = False
ListBox1.ColumnHeads = False
sonsat = sh.Cells(Rows.Count, "B").End(xlUp).Row
For i = 2 To sonsat
If sh.Cells(i, "D").Value >= tarih And sh.Cells(i, "C").Value <= tarih Then
ListBox1.AddItem
For k = 0 To 8
ListBox1.List(X, k) = sh.Cells(i, k + 1).Value
Next k
X = X + 1
End If
Next i
End Sub
 

Ekli dosyalar

Son düzenleme:

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Tekrar merhaba,

Bende sorunsuz açılıyor. Sadece Listbox'tan seçim yapmadan Düzenle butonuna tıklayınca hata alıyorum, o da başka satırda.

247822
 

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
Tekrar merhaba,

Bende sorunsuz açılıyor. Sadece Listbox'tan seçim yapmadan Düzenle butonuna tıklayınca hata alıyorum, o da başka satırda.

Ekli dosyayı görüntüle 247822
@DoğanD Çok teşekkürler, kontrol sağlıyorum bende malesef hata veriyor sebebini bilmediğim şekilde. Peki aşağıdaki kod neden hata verir, Vlookup çalışmıyor hata veriyor. ?

Private Sub ComboBox1_Change()
arananoda = Application.WorksheetFunction.VLookup(ComboBox1.Text, Sheets("Rooms").Range("B2:C18"), 2, 0)
TextBox7.Value = arananoda
End Sub
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Dosyanızda bu kodu bulamadım. Fakat oda numarasını aranan alanda bulamıyor gibi görünüyor. Bunun için On Error işlevini kullanabilir yada düşeyara yapmadan önce oda numarası olup olmadığını kontrol edebilirsiniz.
 

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
Dosyanızda bu kodu bulamadım. Fakat oda numarasını aranan alanda bulamıyor gibi görünüyor. Bunun için On Error işlevini kullanabilir yada düşeyara yapmadan önce oda numarası olup olmadığını kontrol edebilirsiniz.
@DoğanD Doğan bey, bu formülü yeni ekledim. Userform4 te kullanıcı yeni rezervasyon yaratırken oda numarasını seçtiğinde, en alttaki texbox'ta o odanın dolu mu boş mu olduğu bilgisi otomatik gelsin diye kodlamıştım. Ama yine işin içinden çıkamadım :) güncel dosya ektedir.
 

Ekli dosyalar

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Userform4.Activate altındaki Textbox7 kodunu aşağıdaki gibi düzenler misiniz?

Kod:
TextBox7.Text = WorksheetFunction.VLookup(Val(ComboBox1.Value), Sayfa2.Range("B:C"), 2, 0)
 
Üst