Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Codefehler (What)

Betrifft: Codefehler (What) von: rainix
Geschrieben am: 17.08.2004 08:48:25

Morgen zusammen,

wer kann mir bei einem Code behilflich sein, welche nicht läuft ?

Mit dem nachfolgenden Code sollen die Angaben aus zwei TextBoxen in einer Tabelle gesucht werden.

Set myRange = .Columns(3).Find(What:=TextBox1 & TextBox8, LookIn:=xlValues, LookAt:=xlWhole, After:=.Cells(Rows.Count, 3))


Die Angaben aus den zwei TextBoxen sind allerdings in der zu durchsuchenden Tabelle in einer Zelle zusammengesetzt.
Beispiel: TextBox1 = 15
TextBox8 = 00123456

Wert in zu suchender Zelle = 1500123456

Wie muß ich den Code entsprechend abändern, damit die Daten beider TextBoxen auch gefunden werden ?

Vielen dank bis hierher,

rainix (Rainer)

  


Betrifft: AW: Codefehler (What) von: Hans W. Herber
Geschrieben am: 17.08.2004 09:06:06

Hallo Rainer,

an und für sich sollte das funktionieren. Falls es sich bei den Zellwerten um Zahlen handelt, musst Du allerdings umwandeln:
CLng(TextBox1.Value & TextBox8.Value)

gruss hans


  


Betrifft: AW: Codefehler (What) von: rainix
Geschrieben am: 17.08.2004 09:23:05

Hallo und guten Morgen Hans,

erstmal vielen Dank für den Vorschlag.

Bei den zu suchenden Zahlen handelt es sich ausschließlich wie in meinem Beispiel angegeben um Zahlen.

Mit dem von Dir vorgegebenen Code komm ich noch nicht ganz klar, da ich jetzt nicht genau weiß wo ich diesen einzubauen / ändern habe.

Ich habe zum besseren Verständniss mal den ganzen Code der Suche beigefügt.
Vielleicht kannst Du mir sagen wo nun die Änderung genau hinkommt.

Dim myRange As Range, strAddress As String, bolAbbruch As Boolean
With Worksheets("Daten")
Set myRange = .Columns(3).Find(What:=TextBox1 & TextBox8, LookIn:=xlValues, LookAt:=xlWhole, After:=.Cells(Rows.Count, 3))
If Not myRange Is Nothing Then
strAddress = myRange.Address
Do
If MsgBox("Es ist bereits ein Datensatz mit derselben Mitgliedsnummer" & Chr(13) & "und im gleichen Antragsjahr vorhanden.", 64, Duplikatfinder) = vbNo Then bolAbbruch = True: Exit Do


Ich hoffe es war so verstädlich ?

Gruß rainix (Rainer) aus Wuppertal


  


Betrifft: AW: Codefehler (What) von: Hans W. Herber
Geschrieben am: 17.08.2004 09:28:15

Hallo Rainer,

es geht um diese Sequenz:
What:=TextBox1 & TextBox8

So, wie es da steht, handelt es sich um einen String. Da die Zellwerte aber Zahlen und keine Strings sind, muss umgewandelt werden:
What:=Clng(TextBox1.Value & TextBox8.Value)

Gruss hans


  


Betrifft: AW: Codefehler (What) von: rainix
Geschrieben am: 17.08.2004 09:42:33

Hallo Hans,

jetzt hat's prima geklappt.

Vielen Dank für die Mithilfe. Ich bin immerwieder erstaunt, daß Irgendjemand immer eine Lösung und Antwort weiß. Weiter so.

Gruß aus Wuppertal

rainix (Rainer)