• DİKKAT

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

Ara bul kodu

yamahato

Altın Üye
Katılım
20 Mayıs 2009
Mesajlar
236
Excel Vers. ve Dili
excel 2007
Kolay gelsin
userform3 te bir bul butonum var.plaka girip bu butona basınca exceldeki bakım onarım bilgi deposunda o plaka kayıtlı ise plakanın karşılığı olan c sutunundaki model bilgisi userform3 teki yerine gelsin istiyorum.Sabahtan beri birton kod denedim yapamadım .Unutmadan o plaka yoksa uyarı ve userform3 tarihte plaka girip bu deyince plaka olsada olmasada otomatik güncel tarih gelsin

Saygılarımla
 

Ekli dosyalar

. . .

Örnek dosyalarınızda, excel sayfalarının görünmesini engellemeyiniz.

. . .
 
yok engellemedim bende excel sayfası çıkıyor ama makro güvenliği bende bildirimde bulunarak tüm makroları devre dışı bırakta
 
hadi be abilerim sabahtan beri bunu yapmaya çalışıyorum.
 
Merhaba,

Kod:
Private Sub CommandButton4_Click()
 
    Dim c As Range
    If TextBox1.Text = "" Then Exit Sub
 
    With Sheets("BAKIM ONARIM BİLGİ DEPOSU")
        Set c = [B:B].Find(TextBox1.Text, , xlValues, xlWhole)
        If Not c Is Nothing Then
            TextBox2.Text = .Cells(c.Row, "C")
            TextBox3.Text = .Cells(c.Row, "D")
            TextBox4.Text = .Cells(c.Row, "E")
            '
            '
            '
        End If
    End With
 
End Sub

Bu şekilde deneyin. Boş kalan textboxları siz aynı mantıkla ilave edersiniz.
 
Sağolasın abi oldu plaka yoksa uyarı ve userform3 tarihte plaka girip bu deyince plaka olsada olmasada otomatik güncel tarih gelme kodu nsaıl olacak
 
Dosyanızda hem Exceli gizleyen hemde userformu kapanmasını engelleyen kodlar mevcut. Bu şekilde bir dosya ekleyerek kodlara ulaşmayı zorlaştırmış oluyorsunuz. Sorunuzla ilgilenmek isteyen üyelerimize saygı adına bu tür kodları kaldırarak dosyanızı tekrar eklemenizi rica ederim.
 
aşağıdaki kodlar işinizi görecektir.:cool:
Kod:
Private Sub CommandButton4_Click()
Dim k As Range, i As Byte, sat As Long, sh As Worksheet
For i = 2 To 9
    Me.Controls("TextBox" & i).Value = ""
Next
Set sh = Sheets("BAKIM ONARIM BİLGİ DEPOSU")
sat = sh.Cells(Rows.Count, "B").End(xlUp).Row
Set k = sh.Range("B3:B" & sat).Find(TextBox1.Text, , xlValues, xlWhole)
If Not k Is Nothing Then
    For i = 2 To 8
        Me.Controls("TextBox" & i).Value = sh.Cells(k.Row, i + 1).Value
    Next i
    TextBox9.Value = Format(sh.Cells(k.Row, "J").Value, "#,##0.00")
End If
End Sub
 
Levent bey inanın gizleme yapmadım benim bilgisayarımda herşey gözüküyor.makro güvenlik ayarından olabilirmi
 
Levent bey inanın gizleme yapmadım benim bilgisayarımda herşey gözüküyor.makro güvenlik ayarından olabilirmi

Nasıl herşey gözüküyor? Aşağıdaki kodu kullanmaktaki amacınız nedir?

Kod:
Application.Visible = False
 
kusuruma bakmayın ama benim bilgisayımda gözüküyor sadece programa girince çıkmıyor onuda kapatıp açınca sıkıntı yok.Aslında çok yer kaplamasın ve konu dağılmasın diye programımın sadece takıldığım yerini koydum.belkide o yüzden gözümden kaçmıştır.
tekrar kusuruma bakmayın özür dilerim
 
Private Sub CommandButton4_Click()

Dim c As Range
If TextBox1.Text = "" Then Exit Sub
TextBox5.Value = Format(Date, "dd/mm/yyyy")


With Sheets("BAKIM ONARIM BİLGİ DEPOSU")
Set c = [B:B].Find(TextBox1.Text, , xlValues, xlWhole)
If c Is Nothing Then
MsgBox "Giriş yaptığınız plaka kayıtlı değildir. Lütfen önce plaka tanımı yapınız.", vbCritical, "TANIMSIZ PLAKA"
End If

If Not c Is Nothing Then
TextBox2.Text = .Cells(c.Row, "C")


End If
End With


End Sub



bu kodu yardımlarınızla yazdım fakat bir hata var şöyle tarih plaka olsada olmasada otomatik olarak yazıyor.Ben sadece plaka excelde ki çalışma sayfasında varsa yazsın istiyorum Yoksa hata mesajı versin ve tarih yazmasın saygılarımla
 
Şimdi biraz empati yapalım isterseniz. Dosyanızı açtım. Oda ne Excel arka planda gizlendi.
Şimdi bu durumda sorunuza cevap vermek için aşağıdaki işlem sırasını yapmak gerekir.

1- Kodlara ulaşmak için öncelikle dosya kapatmalıdır.
2- Kodların çalışmasını engellemek için makro ayarları yükseltilmelidir.
3- Dosya makrolar devre dışı bırakılarak tekrar açılmalıdır.
4- Exceli gizleyen ve userformun kapatılmasını engelleyen kodlar devre dışı bırakılmalıdır.
5- Dosya bu haliyle kaydedilerek kapatılmalıdır.
6- Dosya yeniden bu sefer makrolar etkinleştirerek tekrar açılmalıdır.
7- Dosyanız artık incelenmeye hazırdır.

Sonuç olarak siz böyle bir durumda bu dosyayla ilgilenirmiydiniz? Buna rağmen değerli arkadaşlarım bu işlem sırasını yaparak dosyanızla ilgilenme nezaketini göstermişler.

Bu vesileyle, tüm üyelerimizden bu konuyu gerekli dikkati göstermelerini rica ederim.
 
gerçekten çok özür dilerim tecrübesizlik ve yeni olmanın verdiği salaklık diyelim ve konuyu tatlıya bağlayalım unutmadan abi
yukarıdaki koddaki yanlışada bir bakarmısın
tarih plaka olsada olmasada otomatik olarak yazıyor.Ben sadece plaka excelde ki çalışma sayfasında varsa yazsın istiyorum Yoksa plaka yok mesajı versin ve tarih yazmasın saygılarımla
 
Bul butonuna aşağıdaki kodu yazarak deneyin. Yalnız deneme yaparken dosyanızdaki kayıtlı plakaların sadece sayısal değer olmamasına dikkat edin.

Kod:
Private Sub CommandButton4_Click()
Set s1 = Sheets("BAKIM ONARIM BİLGİ DEPOSU")
say = WorksheetFunction.CountIf(s1.[b:b], TextBox1)
If say = 0 Then
MsgBox "Aradığınız plaka kayıtlı değildir.", 32, "Uyarı"
Exit Sub
End If
sat = WorksheetFunction.Match([B][COLOR=Red]cdbl([/COLOR][/B]TextBox1[COLOR=Red][B])[/B][/COLOR], s1.[b:b], 0)
TextBox2 = s1.Cells(sat, "c")
TextBox5 = Format(Date, "dd.mm.yyyy")
End Sub
Not: Eğer sayısal değer girilecekse, krımızı renkli ilave yapılmalıdır.
 
Yardımlarınız için teşekkürler verdiğiniz kodların hepsi çalışıyor
benim sizlerin yardımlarıyla yaptığım kodda çalışıyor sadece kodda bir yanlış var bu yanlışlık sonucu tarih plaka olsada olmasada otomatik olarak yazıyor.Ben sadece plaka excelde ki çalışma sayfasında varsa yazsın istiyorum Yoksa hata mesajı versin ve tarih yazmasın birde unutmadan userbox kapatınca userbox kendini temizlesin yeniden açtığımda eski bilgiler gözükmesin

Private Sub CommandButton4_Click()

Dim c As Range
If TextBox1.Text = "" Then Exit Sub
TextBox5.Value = Format(Date, "dd/mm/yyyy")


With Sheets("BAKIM ONARIM BİLGİ DEPOSU")
Set c = [B:B].Find(TextBox1.Text, , xlValues, xlWhole)
If c Is Nothing Then
MsgBox "Giriş yaptığınız plaka kayıtlı değildir. Lütfen önce plaka tanımı yapınız.", vbCritical, "TANIMSIZ PLAKA"
End If

If Not c Is Nothing Then
TextBox2.Text = .Cells(c.Row, "C")


End If
End With


End Sub
 
benim 8 numaralı mesajda verdiğim kodları denedinizmi?
 
Denedim abi çalışıyor sıkıntı yok sağolasın
 
Geri
Üst