• DİKKAT

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

Sayfa Adı Bulanamayınca Msgbox İle Hata versin

  • Konbuyu başlatan Konbuyu başlatan Sa.NaL
  • Başlangıç tarihi Başlangıç tarihi
Katılım
18 Haziran 2008
Mesajlar
542
Excel Vers. ve Dili
2007 türkçe
Private Sub Image4_Click()
Sayfa = InputBox("SOYAD AD PARSEL GİRİNİZ...:", "PARSEL ARAMA")
If Sayfa = ThisWorkbook.Sheets(Sayfa).Name Then
YenilemeAlanıForm.Hide
ParselForm.TextBox1.Text = Sheets(Sayfa).[D3]
ParselForm.TextBox2.Text = Sheets(Sayfa).[K3]
ParselForm.TextBox2.Text = Sheets(Sayfa).[T3]
ParselForm.Show
Else
MsgBox "Böyle Bir Parsel Bilgisi Bulunmamaktadır...! Örnek Giriş = 'KOBAŞ AYKUT 4289'", vbInformation, "BİLGİLENDİRME MESAJI"
End If
End Sub

Merhaba arkadaşlar,
Yukarıdaki kodlarla yapmak istediğim inputboxa girdiğim sayfa ismi excel kitabında varsa istediğim işlemleri yapsın yoksa veya boşluk yani " " girdiğimde de msgboxda istediğim hatayı versin. İf döngüsü kurmadan önce istediklerim oluyordu, yanlız sayfa olmama durumuda olduğu için döngü kurmak zorunda kaldım şimdide çalışmıyor. Yardımcı olursanız sevinirim.İyi çalışmalar
 
Merhaba,

Kod:
For i = 1 To Worksheets.Count
    If Sheets(i).Name = [B][COLOR=darkgreen]Sayfa[/COLOR][/B] Then [COLOR=green]' [B]Sayfa[/B] InputBox da tanımlanan ad[/COLOR]
        [COLOR=red]Kodlarınız[/COLOR]
    Else
        [COLOR=blue]MsgBox "Hata"[/COLOR]
    End If
Next i

Bu mantıkla denermisiniz..

.
 
öMER HOCAM ÖNCELİKLE SAĞOLUN SONSUZ DÖNGÜYE GİRDİ ŞÖYLE YAZINCA,
Private Sub Image4_Click()
Sayfa = InputBox("SOYAD AD PARSEL GİRİNİZ...:", "PARSEL ARAMA")
For i = 1 To Worksheets.Count
If Sheets(i).Name = Sayfa Then ' Sayfa InputBox da tanımlanan ad
YenilemeAlanıForm.Hide
ParselForm.TextBox1.Text = Sheets(Sayfa).[D3]
ParselForm.TextBox2.Text = Sheets(Sayfa).[K3]
ParselForm.TextBox2.Text = Sheets(Sayfa).[T3]
ParselForm.Show
Else
MsgBox "Böyle Bir Parsel Bilgisi Bulunmamaktadır...! Örnek Giriş = 'KOBAŞ AYKUT 4289'", vbInformation, "BİLGİLENDİRME MESAJI"
End If
Next i
End Sub
 
Şu an deneme fırsatım yok maalesef.

Kod:
For i = 1 To Worksheets.Count
    If Sheets(i).Name = Sayfa Then ' Sayfa InputBox da tanımlanan ad
        Kodlarınız
    Else
        MsgBox "Hata"
        [COLOR=red]Exit Sub[/COLOR]
    End If
Next i
bu şekilde denermisiniz..

.
 
HOCAM ŞİMDİDE BULUNCA DA HATAYI VERİYO BÖYLE YAZINCA,
Sayfa = InputBox("SOYAD AD PARSEL GİRİNİZ...:", "PARSEL ARAMA")
For i = 1 To Worksheets.Count
If Sheets(i).Name = Sayfa Then ' Sayfa InputBox da tanımlanan ad
YenilemeAlanıForm.Hide
ParselForm.TextBox1.Text = Sheets(Sayfa).[D3]
ParselForm.TextBox2.Text = Sheets(Sayfa).[K3]
ParselForm.TextBox2.Text = Sheets(Sayfa).[T3]
ParselForm.Show
Else
MsgBox "Böyle Bir Parsel Bilgisi Bulunmamaktadır...! Örnek Giriş = 'KOBAŞ AYKUT 4289'", vbInformation, "BİLGİLENDİRME MESAJI"
Exit Sub
End If
Next i
 
Kod:
Sayfa = InputBox("SOYAD AD PARSEL GİRİNİZ...:", "PARSEL ARAMA")
    For i = 1 To Worksheets.Count
        If Sheets(i).Name = Sayfa Then
            YenilemeAlanıForm.Hide
            ParselForm.TextBox1.Text = Sheets(Sayfa).[D3]
            ParselForm.TextBox2.Text = Sheets(Sayfa).[K3]
            ParselForm.TextBox2.Text = Sheets(Sayfa).[T3]
            ParselForm.Show
            Exit Sub
        Else
            MsgBox "Böyle Bir Parsel Bilgisi Bulunmamaktadır...! Örnek Giriş = 'KOBAŞ AYKUT 4289'", vbInformation, "BİLGİLENDİRME MESAJI"
            Exit Sub
        End If
    Next i

Bu şekilde denermisiniz..

.
 
hOCAM BUDA OLMADI NORMALDE SAYFA VAR BU SEFERDE SAYFA BULDUĞU HALDE HATA VERİYOR. TAMAM BULMAYINCA HATA VERMESİ OLDU DA BULUNCA DA HATA VERİYOR. KODLARIM GERÇEKLEŞMİYOR.
 
Örnek eklermisiniz..

.
 
Merhaba,
Alternatif olarak aşağıdaki kodları deneyebilirsiniz.
Kod:
Sub dene1()
 Sayfa = InputBox("SOYAD AD PARSEL GİRİNİZ...:", "PARSEL ARAMA")
    For i = 1 To Worksheets.Count
        If Sheets(i).Name = Sayfa Then
            YenilemeAlanıForm.Hide
            ParselForm.TextBox1.Text = Sheets(Sayfa).[D3]
            ParselForm.TextBox2.Text = Sheets(Sayfa).[K3]
            ParselForm.TextBox2.Text = Sheets(Sayfa).[T3]
            ParselForm.Show
            Exit Sub
        End If
     Next i
            MsgBox "Böyle Bir Parsel Bilgisi Bulunmamaktadır...! Örnek Giriş = 'KOBAŞ AYKUT 4289'", vbInformation, "BİLGİLENDİRME MESAJI"
End Sub
ya da
Kod:
Sub dene2()
Sayfa = InputBox("SOYAD AD PARSEL GİRİNİZ...:", "PARSEL ARAMA")
            YenilemeAlanıForm.Hide
On Error GoTo Hata
            ParselForm.TextBox1.Text = Sheets(Sayfa).[D3]
            ParselForm.TextBox2.Text = Sheets(Sayfa).[K3]
            ParselForm.TextBox2.Text = Sheets(Sayfa).[T3]
            ParselForm.Show
            Exit Sub
Hata:
            MsgBox "Böyle Bir Parsel Bilgisi Bulunmamaktadır...! Örnek Giriş = 'KOBAŞ AYKUT 4289'", vbInformation, "BİLGİLENDİRME MESAJI"
End Sub
 
Teşekkür ederim değerli arkadaşlar işim halloldu. İyi çalışmalar.
 
Sorun sayfa adı boşluklarında. Kodu aşağıdaki gibi değiştiriniz..

Kod:
Option Compare Text
 
Sub Sayfa_Bul()
On Error Resume Next
Dim Sayfa As String, i As Integer
Sheets(Sayfa).Select
Sayfa = InputBox("SOYAD AD PARSEL GİRİNİZ...:", "PARSEL ARAMA")
    For i = 1 To Sheets.Count
        If Replace(Sheets(i).Name, " ", "") = Replace(Sayfa, " ", "") Then
            YenilemeAlanıForm.Hide
            ParselForm.TextBox1.Text = Sheets(Sayfa).[D3]
            ParselForm.TextBox2.Text = Sheets(Sayfa).[K3]
            ParselForm.TextBox2.Text = Sheets(Sayfa).[T3]
            ParselForm.Show
            Exit Sub
        End If
    Next i
MsgBox "Böyle Bir Parsel Bilgisi Bulunmamaktadır...! Örnek Giriş = 'KOBAŞ AYKUT 4289'", vbInformation, "BİLGİLENDİRME MESAJI"
End Sub

Yalnız bu işlemi neden yapıyorsunuz anlamadım. Sayfa adlarını form üzerinde combobox ile seçip işlem yapmak daha mantıklı olmaz mı?

.
 
Merhaba,

Ömer Bey'in düşüncesini de ben gerçekleştirmiş olayım.

Formu açmak için herhangi bir sayfada herhangi bir hücreye Çift Tıklamak yeterli.


ThisWorkbook kodları :

Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    AramaForm.Show
End Sub

AramaForm'u kodları :

Kod:
Private Sub ComboBox1_Change()
    Sheets(ComboBox1.Value).Select
    Unload Me
    ParselForm.Show
End Sub

Kod:
Private Sub CommandButton1_Click()
    Unload Me
End Sub

Kod:
Private Sub UserForm_Initialize()
    Dim i As Integer
    For i = 1 To Sheets.Count
        ComboBox1.AddItem Sheets(i).Name
    Next i
End Sub
 

Ekli dosyalar

Geri
Üst