Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1288to1292
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform über commandbutton starten, aber nur wenn

Userform über commandbutton starten, aber nur wenn
18.12.2012 10:54:36
p5
hi,
ich brauche eine lösung zu meinem problem. ich möchte eine userform über einen commandbutton starten, aber nur wenn in der zelle d9 ein bestimmter text steht. dieser text ist zum beispiel "sail 10" oder "sail 12" usw. sonst soll der commandbutton versteckt sein. bei excel kann man ja über zählenwenn(d9;"sail*") oder ("sail?")gehen, aber das funktioniert nicht in VBA. wie können mehrere textmöglichkeiten in VBA abgefragt werden?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Like "sail ##"
18.12.2012 11:02:34
ransi
Hallo
In VBA könntets du so darangehen:
Option Explicit

Sub machs()
    If Sheets("Tabelle1").Range("D9") Like "sail ##" Then
        MsgBox "mach was"
    End If
End Sub


Sub machs2()
    Select Case Sheets("Tabelle1").Range("D9")
        Case "sail 10", "sail 12"
            MsgBox "mach was"
    End Select
End Sub


ransi

Anzeige
AW: Userform über commandbutton starten, aber nur wenn
18.12.2012 11:02:38
Mäxl
Hi,
z.B mit Instr, oder like oder... worksheetfunction.countif(..
Test1 = "aBBBa" Like "a*a" ' Liefert True.
Test1 = "F" Like "[A-Z]" ' Liefert True.
Test1 = "F" Like "[!A-Z]" ' Liefert False.
Test1 = "a2a" Like "a#a" ' Liefert True.
Test1 = "aM5b" Like "a[L-P]#[!c-e]" ' Liefert True.
Test1 = "BAT123khg" Like "B?T*" ' Liefert True.
Test1 = "CAT123khg" Like "B?T*" ' Liefert False.
Dim SuchText, SuchZeichen, Pos1
Suchtext ="XXpXXpXXPXXP" ' Zu durchsuchende
' Zeichenfolge.
SuchZeichen = "P" ' Nach "P" suchen.
' Reiner Textvergleich ab Position 4. Das Ergebnis ist 6.
Pos1 = Instr(4, Suchtext, SuchZeichen, 1)
' Binärer Vergleich ab Position 1. Das Ergebnis ist 9.
Pos1 = Instr(1, Suchtext, SuchZeichen, 0)
' Standardmäßig wird der Vergleich binär durchgeführt
' (wenn das letzte Argument nicht angegeben wird).
Pos1 = Instr(Suchtext, SuchZeichen) ' Liefert 9.
Pos1 = Instr(1, Suchtext, "W") ' Liefert 0.
Syntax
Ausdruck.CountIf(Arg1, Arg2)
Ausdruck Eine Variable, die ein WorksheetFunction-Objekt darstellt.
Parameter
Name Erforderlich/Optional Datentyp Beschreibung
Arg1 Erforderlich Range Der Zellbereich, in dem Zellen gezählt werden sollen.
Arg2 Erforderlich Variant Das Kriterium in Form einer Zahl, eines Ausdrucks, eines Zellbezugs oder Texts, mit dem definiert wird, welche Zellen gezählt werden. Beispiele für Kriterien sind 32, "32", ">32", "Äpfel" oder B4.
gruß
Mäxl

Anzeige
AW: Userform über commandbutton starten, aber nur wenn
18.12.2012 11:06:25
Klaus
Hallo P5,
hier reden wir uns gerne mit Vornamen an, meiner ist "Klaus".
Um in deinem Level zu bleiben: Dann mach den Test doch mit Excel-Formeln! schreib irgendwohin (zb in X1)
=WENN(zählenwenn(d9;"sail*");TRUE;FALSE)
das fette ersetzt du natürlich gegen deine funktionierende Formel.
Dann machst du eine Selection Change Sub, die den Status der Zelle X1 abfrag und demnach deinen Button zeigt oder nicht:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'CommandButton1.hidden =  not Sheets("Tabelle1").Range("X1").value
CommandButton1.enabled = Sheets("Tabelle1").Range("X1").value
End Sub

(du hast nach "sichtbar / unsichtbar" gefragt, ich halte "enabled" hier für die bessere option)
Das ganze könnte man jetzt noch sauberer und ressourcenschonender machen, aber dafür müsste man deine Datei kennen.
Grüße,
Klaus M.vdT.
(Buttonnamen, Tabellenblätter und Zellen bekommst du selbst angepasst, ja?)
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige