• DİKKAT

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

command buttona her tıklama farklı bir işlev

zulfuernek

Altın Üye
Katılım
24 Haziran 2017
Mesajlar
761
Excel Vers. ve Dili
türkçe
userform üzerinde 40 tane textbox var.
-userform açıldığında textbox 1. visible true diğer 39 textbox visible false durumda

butona tıklayınca 2. textboxu true yapsın
2. tıklamamda 3. textboxu true yapsın4böyle devam etmeli sırayla. son 40. textboxu aktif edincede buton pasif olsun.
 
textboxlar sıralı. olursa nasıl bir formül olur
textboxlar sıralı olmadığı takdirde nasıl bir formül olur acaba
 
textboxlar sıralı. olursa nasıl bir formül olur
textboxlar sıralı olmadığı takdirde nasıl bir formül olur acaba
Merhaba
Aşağıdaki şekillerde olabilir;
Kod:
[SIZE="2"]Private Sub CommandButton1_Click()
For Each j In Me.Controls
If TypeName(j) = "TextBox" Then
s = s + 1
If j.Visible = False Then
j.Visible = True
Exit For
End If: End If
Next
[COLOR="Blue"]If s = 40 Then CommandButton1.Visible = False[/COLOR]
End Sub [/SIZE]

"TextBox" 'lar sıralı değilse;
Kod:
Private Sub CommandButton1_Click()
ReDim List(0)
Set dc = CreateObject("Scripting.Dictionary")
For Each j In Me.Controls
If TypeName(j) = "TextBox" Then
List(n) = j.Top * j.Left
dc.Add j.Top * j.Left, j.Name
n = n + 1
ReDim Preserve List(n)
End If
Next
For i = 0 To UBound(List) - 1
v = WorksheetFunction.Small(List, i + 1)
If Controls(dc.Item(v)).Visible = False Then
Controls(dc.Item(v)).Visible = True
Controls(dc.Item(v)).SetFocus
Exit For
End If
Next
If i = UBound(List) - 1 Then CommandButton1.Visible = False
End Sub
 
Son düzenleme:
plint hocam mesajınız cevap yazdıktan sonra gördüm özür dilerim bu kodları da deneyeceğim. emeğinize sağlık hocam.

yeri gelmişken butona bu şekilde farklı işlevler atayabiliriz mantığı iş görürmü peki plint hocam. her tıklamada
 
butona bu şekilde farklı işlevler atayabiliriz mantığı iş görürmü peki plint hocam. her tıklamada
İstediğiniz aşağıdaki örnekteki gibi bir şeymi?
Kod:
[SIZE="2"]
Dim ss As Integer

Private Sub CommandButton1_Click()
ss = ss + 1
If ss = 1 Then Call mesaj1
If ss = 2 Then Call mesaj2
End Sub

Sub mesaj1()
MsgBox "mesaj1 ss Değeri" & " " & ss
End Sub

Sub mesaj2()
MsgBox "mesaj2: ss Değeri" & " " & ss
End Sub [/SIZE]
 
hocam bu kodu yarın uygulayacağım. ne işe yaradığını okuyunca pek anlamadım açıkcası. her tıklama ile bişeyler yapılması üzerineolduğunu anladım +1 ile. fakat mesaj 1 mesaj 2 yi anlamadım bunuda yarın uygulayıp göreceğim.
 
Geri
Üst