• DİKKAT

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

sifre değisimi

  • Konbuyu başlatan Konbuyu başlatan ertan7
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Temmuz 2004
Mesajlar
48
Merhaba

Bir userform'daki şifreyi her an sayfadan değiştirebilmek mümkünmüdür?

Aşağıdaki kodda şifre 555 ise userform genişliyor ve istenilen kısım açılıyor.Ben bu şifreyi herhangi bir sayfada (örnek:sayfa1) herhangi bir hücre ile ilişkilendirmek istiyorum,yani diyelimki A2 hücresi olsun. A2 hücresinin değerini değiştirdiğimde şifrede değişsin.
Umarım anlatabilmişimdir.

Kod aşağıdadır

Tüm forum sahibi ve üyelerine teşekkürler

İyi çalışmalar

Sub CommandButton1_Click()
cevap = InputBox("Lütfen şifrenizi giriniz?", "", "Buraya şifrenizi yazınız")
If cevap = "555" Then 'Buraya 555 yerine a2.value diyorum ama olmuyor.)
UserForm1.Width = 459
Else
MsgBox "YANLIÞ ÞİFRE...", vbInformation, ""
End If
End Sub
 
"555" olan satırı
worksheets("şifrenin olduğu sayfa adı").Range("şifrenin olduğu hücre adresi") olarak değiştirin.
 
Merhaba

Dediğiniz gibi yaptım ama olmadı.Aşağıdaki şekilde yazdım ama kabul etmiyor.

If cevap = Worksheets("sayfa1").Range("a2") Then


Yinede ilginiz için teşekkürler
 
[vb:1:c68105c67f]....
...
If cevap = Worksheets("sayfa1").Range("a2").Text Then
....
...[/vb:1:c68105c67f]
 
Kod:
Sub CommandButton1_Click()
Dim cevap As String
cevap = InputBox("Lütfen şifrenizi giriniz?", "", "Buraya şifrenizi yazınız")
If cevap = [a2] Then 
UserForm1.Width = 459
Else
MsgBox "YANLIÞ ÞİFRE...", vbInformation, ""
End If
End Sub
Bir de böyle deneyin. (cevap değişkeninin tanımlanmasını istiyor)
 
inputbox string deger ürettiği için cevap değişkenini sayıya çevirerek te işlemi yapabilirsiniz. Sayın raider e saygısızlık olmaz ise .....


If CInt(cevap) = Sheets("Sayfa1").Range("a2").Value Then
 
@tevfiksermet, Hücredeki Þifre stringde olabilir numeric'te her durumda string olarak üretmek daha doğru değilmi?
 
Sn reider,

Ben sizin öneriizi denedim ama yine aynı hatayı verdi.
Acaba bahsettiğim cevap değişkeninin tanımlanmasınamı ihtiyaç var yoksa ben mi bir yerde yanılıyorum.
 
evet sayın danersin string üretmek kesinlikle daha doğru... uyarınıza teşekkürler ..
 
@cako,
@raider'ın yazdığı ile sizin yazdığınız arasında tek fark
sizin kodunuz doğru sayfadan doğru şifreyi okuması için sayfa belirtilmemiş, sn.raider sayfayı belirtmiş. Onun dışında sorunsuz çalışır ikiside, eğer kodlarda değişken tanımlanması gerekiyorsa evet dim cevap as string şeklinde tanımlamak gerekir.
 
Acaba bahsettiğim cevap değişkeninin tanımlanmasınamı ihtiyaç var

Range sınıfının .Text özelliğini kullandığımızda bir sorun olmaması gerekir.... Eğer sizde böyle olmuyorsa, ilginç bir durum.
 
syn raider ;
hoş geldin, :hey: :arkadas:
 
Merhaba,
Biraz uğraştım. Sorun kod sayfasındaki ilk satır olan aşağıdaki satırı kaldırarak çözüldü.
Kod:
Option Explicit
Bir de InputBox penceresinde Cancel tuşu tıklanırsa kodlar hata vermekteydi. Bunun için de şifre değişkenine ön değer tanımladım. En doğrusu bu heralde.
Kod:
Private Sub CommandButton1_Click()
cevap = "Buraya şifrenizi yazınız"
cevap = InputBox("Lütfen şifrenizi giriniz?", "", "Buraya şifrenizi yazınız")
If cevap = Worksheets("sayfa1").Range("a2").Text Then
UserForm1.Width = 459
Else
MsgBox "YANLIÞ ÞİFRE...", vbInformation, ""
End If
End Sub
 
cako' Alıntı:
Bir de InputBox penceresinde Cancel tuşu tıklanırsa kodlar hata vermekteydi. Bunun için de şifre değişkenine ön değer tanımladım. En doğrusu bu heralde.

Ben o kadar kesin konuşamayacağım ama, bana göre aşağıdaki kod biraz daha doğru... :mrgreen:

[vb:1:8e30bb23dc]Private Sub CommandButton1_Click()
Dim MyTitle As String, DefaultInput As String
Dim cevap As Variant
Dim MyQ As VbMsgBoxResult
MyTitle = "Lütfen şifrenizi giriniz?"
DefaultInput = "Buraya şifrenizi yazınız"
ResumeSub:
cevap = InputBox(MyTitle, "", DefaultInput)
If Not cevap = Empty Then
If cevap = DefaultInput Then
MyQ = MsgBox("Hmmm... şifreyi girmeniz gerekirdi !!!" _
& vbCrLf & "Tekrar denemek istermisiniz ?", vbYesNo)
If MyQ = vbYes Then GoTo ResumeSub:
ElseIf cevap = Worksheets("sayfa1").Range("a2").Text Then
UserForm1.Width = 459
Else
MsgBox "YANLIÞ ÞİFRE...", vbInformation, ""
End If
Else
MsgBox "Þifrenizi girmediniz..."
End If
End Sub
[/vb:1:8e30bb23dc]
 
Geri
Üst