MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft PowerPoint
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 17.03.2018, 14:15   #1
OsvW
Neuer Benutzer
Neuer Benutzer
Standard VBA - Eingabe einer Inputbox mit dem String einer Zelle vergleichen

Hallo Ihr lieben!

Leider komme ich mit meinem Programmcode nicht weiter, daher habe ich eine Frage an euch.

Code:

Sub Auswertung()
    Dim Zeile As Integer
    Dim Zeile2 As Integer
    Dim Spalte As Integer
    Dim Eingabe As String
    
    Eingabe = InputBox("Bitte geben Sie das gesuchte Wort ein.")
    
    Zeile = 5
    Spalte = 1
    
    Zeile2 = 17
  
    Do While Cells(5, Spalte) <> ""
        Do While Cells(Zeile, 7) <> ""
            If (Eingabe = Cells(Zeile, 7)) Then     
                Cells(Zeile2, 1) = Cells(Zeile, 1) 
                Cells(Zeile2, 2) = Cells(Zeile, 2) 
                Cells(Zeile2, 3) = Cells(Zeile, 3)
                Cells(Zeile2, 4) = Cells(Zeile, 7)
                Zeile2 = Zeile2 + 1
            End If
            Zeile = Zeile + 1
        Loop
    Spalte = Spalte + 1
    Loop
End Sub

Ich habe eine Inputbox, in welches ein beliebiges Wort eingetragen wird. Dieses Wort vergleiche ich nun mit einem beliebigen Zellinhalt. Mein Problem ist, dass ich zu 80% aller Fälle einen ganzen Satz in der Zelle haben werde. Kommt in diesem Satz dieses Wort vor, soll die Bedingung erfüllt sein.

Welche Vorgehensweise würdet ihr mir empfehlen. Ich habe da etwas mit Split / Arrays im Kopf.

Lg
OsvW ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.03.2018, 16:16   #2
vbuser007
MOF User
MOF User
Standard

hi,
mir fallen da 2 varianten ein.
1. buchstabe für buchstabe vergleichen (hier evtl. mit LCase arbeiten...)
oder etwas schneller zu realisieren:
2. InStr-Funktion verwenden

mal so on the fly getippt die 2. Variante:
muss halt sehr stark angepasst werden...

Code:

Dim Eingabe As String
Eingabe = InputBox("Bitte geben Sie das gesuchte Wort ein.")
Dim Zelle as As String
do... / for... whatever...
'dann deine schleife... evtl for next?!
if InStr(1, LCase(Ergebnis), LCase(Suchstring), vbBinaryCompare) <> 0 then 'ungleich null dann habe ich das wort gefunden (Ergebnis ist die erstvorkommende stelle)
'mach etwas...
endif
loop... / next... whatever...
[ich benutze bewusst lcase im instr wegen dieser problematik das e mit diesen sonderzeichen die einem e ähneln nicht berücksichtigt werden.]
vbuser007 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.03.2018, 01:41   #3
vbuser007
MOF User
MOF User
Standard

Ein bisschen Offtopic:

Zitat: von vbuser007 Beitrag anzeigen

[ich benutze bewusst lcase im instr wegen dieser problematik das e mit diesen sonderzeichen die einem e ähneln nicht berücksichtigt werden.]

Das Sonderzeichen welches ich meinte war "Æ" welches beim Vergleich innerhalb eines einer InStr Funktion mit dem Parameter "vbTextCompare" und dem Suchwert "e" dennoch gefunden wird... "e" = "Æ".

Hier ist der Link für die jenigen, die das Thema interessiert
https://www.exceltrick.com/formulas_...nstr-function/
vbuser007 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.04.2018, 16:48   #4
OsvW
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo, danke für den Code.

Das werde ich mir heute Abend mal ansehen, inwiefern ich das Nutzen kann.

Was meinst du mit "For next evtl."? Ich bin eher hobbymäßig im Bereich VBA unterwegs. Meiner Meinung nach sollte man For / Next nutzen, wenn im Vorhinein die Anzahl der Durchläufe bereits feststeht. Ich gehe aber in der Praxis von Sheets mit unterschiedlichen längen aus - daher Do while

Lg
OsvW ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.