Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
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

Abbrechen bei Inputbox funktioniert nicht

Abbrechen bei Inputbox funktioniert nicht
13.11.2018 13:56:49
Katja
Hallo liebes Forum,
ich komme hier gerade leider mit ausprobieren und Forumsbeiträgen nicht mehr weiter.
Ich habe einen Code der folgendes Bewirken soll (und auch tut)
1. es soll auf der Seite "Übersicht" über eine Schaltfläche eine Inputbox geöffnet werden
2. Bei Eingabe einer richtigen Nummer, soll diese in einer weiteren Tabelle gesucht und die Zeile markiert werden
3. Bei Eingabe keiner oder falschen Nummer wird nur die weitere Tabelle geöffnet
(bis hier läuft es...)
4.Bei Abbruch soll auf die Seite "Übersicht" verblieben werden... und genau hier liegt mein Problem... er springt auch bei Abbruch in die weitere Tabelle.
Hier mein Code
Sub DatenÄndern()
Dim i As Integer
Dim Eingabe As String
Eingabe = InputBox("Welcher Datensatz soll geändert werden? (z.B. 1/1029)", "Datensatz auswä _
hlen", 1)
Sheets("Bewerbungen Gesamt").Visible = True
Sheets("Bewerbungen Gesamt").Select
For i = 1 To ActiveSheet.UsedRange.Columns(18).Cells.Count
If Cells(i, 18).Value = Eingabe Then
Rows(i).Activate
End If
Next i
End Sub

Wo liegt mein Gedankenfehler? Vielen Dank schonmal im Voraus!
Gruß Katja

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abbrechen bei Inputbox funktioniert nicht
13.11.2018 14:31:28
EtoPHG
Hallo Katja,
Dein Gedanke fehlt (also kein Fehler, sondern was Fehlendes)
Nach der Eingabe testen ob überhaupt was eingegeben wurde!
So:
If Eingabe  "" Then
   Sheets("Bewerb...
...und restlicher Code
Next i
End If

Darin, dass ein Pgm nur das tun kann, was ...
13.11.2018 14:33:11
Luc:-?
…der Pgmmierer auch vorgesehen hat, Katja; ;-]
ich sehe keine Sonderbehandlung von leeren Eingaben*!
* Falls mit Default-Angaben zur Vorgabe der EingabeForm gearbeitet würde, müsste auch noch Eingabe=Default analog behandelt wdn.
🙈 🙉 🙊 🐵 Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
Noch mehr Ungereimtheiten...
13.11.2018 14:48:50
EtoPHG
Hallo Katja,
Dein Code markiert die Zeile mit der letzten zutreffenden Fundstelle (wenn es denn solche hat). Ist das gewollt?
Oder gestatte bitte die Frage:
Wieso macht man sowas mit Anfängerkenntnissen?
Warum benutzt du nicht einfach einen Autofilter auf der Spalte?
Benutzer können schneller, gewohnter und fehlerfreier mit Standardfunktionen (und dazu gehört Autofilter) umgehen, wie mit selbstgestriktem, halbgaren Makro-Gedöns.
Gruess Hansueli
AW: Noch mehr Ungereimtheiten...
13.11.2018 15:07:04
Katja
Hallo, Luc, hallo EtoPHG,
danke für eure Rückmeldungen. Ich hatte schon einiges mit
IF Eingabe= "" Then etc.
an verschiedenen Stellen versucht und nicht hat zum Erfolg geführt...meistens machte er gar nichts mehr :-(
Habe jetzt den Code von EtoPHG und ein weiteres "End If" ergänzt und es macht was es soll :-)
Vielen Dank!
...und ja es soll der letzte zutreffende Wert gefunden werden, da jeder Wert nur einmal vorkommen wird!
...und den Autofilter kann der Nutzer auch weiterhin benutzen, soll nur die Suche zum Wert erleichtern!
Anzeige
AW: Noch mehr Ungereimtheiten...
13.11.2018 15:07:05
Katja
Hallo, Luc, hallo EtoPHG,
danke für eure Rückmeldungen. Ich hatte schon einiges mit
IF Eingabe= "" Then etc.
an verschiedenen Stellen versucht und nicht hat zum Erfolg geführt...meistens machte er gar nichts mehr :-(
Habe jetzt den Code von EtoPHG und ein weiteres "End If" ergänzt und es macht was es soll :-)
Vielen Dank!
...und ja es soll der letzte zutreffende Wert gefunden werden, da jeder Wert nur einmal vorkommen wird!
...und den Autofilter kann der Nutzer auch weiterhin benutzen, soll nur die Suche zum Wert erleichtern!
Besser mit .Find, Schleife ist unnötig
13.11.2018 15:45:01
Daniel
Hi
warum nutzt du nicht die Suchfunktion von Excel?
wenn man die in VBA einsetzt, kann man auch angeben, dass nicht der erste Eintrag, sondern der letzte gefunden wird (durch umkehren der Suchrichtung)
Dim Zelle as Range
dim Eingabe as string
Eingabe = Inputbox("...")
If Eingabe  "" then
Set Zelle = Sheets("Bewerbungen").Columns(18).Find(what:=Eingabe, _
lookat:=xlwhole, LookIn:=xlvalues, _
Searchdirection:=xlprevious
in Zelle is Nothing then
Msgbox Eingabe & " konnte nicht gefunden werden"
else
Sheets("Bewerbungen Gesamt").Visible = True
Application.Goto Zelle.EntireRow
end if
end if
Gruß Daniel
Anzeige
AW: Besser mit .Find, Schleife ist unnötig
13.11.2018 16:36:44
Katja
Danke Daniel, das werde ich testen... macht es einen Unterschied? Jede Bewerbung bekommt nach dem eintragen in die Tabelle eine eindeutige Nummer zugewiesen... ist es da nicht egal wie Excel den Wert sucht?
AW: Besser mit .Find, Schleife ist unnötig
13.11.2018 16:44:20
Daniel
wenns ne eindeutige Nummer ist, ist es egal ob du von oben nach unten oder von unten nach oben suchst (außer du weißt, ob sich der Wert in der oberen oder untern Datenhälfte befindet und könntest über die Suchrichtung die Suchzeit optimieren)
aber du hattest ja geschrieben: "...und ja es soll der letzte zutreffende Wert gefunden werden"
das ergibt dann das Searchdirection:=xlprevious
Gruß Daniel
Anzeige
AW: Besser mit .Find, Schleife ist unnötig
13.11.2018 16:45:40
Katja
Dann habe ich mich da etwas missverständlich ausgedrückt ;-)
Vielen Dank aber für Deine Unterstützung!
AW: Besser mit .Find, Schleife ist unnötig
13.11.2018 16:45:41
Katja
Dann habe ich mich da etwas missverständlich ausgedrückt ;-)
Vielen Dank aber für Deine Unterstützung!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige