Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1032to1036
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
Wert aus aktiver Zelle in InputBox übertragen
13.12.2008 07:44:52
Axel
Hi ihr fleißigen Helferlein :)
Ich habe hier eine Suchfunfunktion mit InputBox.
Ist es irgendwie möglich beim Start des Makros den Wert der aktiven Zelle in die Inputbox automatisch zu übertragen, so das ich ihn nicht selbst hineintippen/kopieren brauch?
Die Suche soll trotzdem über die Inputbox laufen, da ich den Wert (meistens nur Text) manchmal doch noch abändern muss, sonst könnte man sich die Inputbox ja auch komplett sparen ;)
Mfg Axel
hier mal die ganze Funktion:

Sub Suche()
Dim Meldung As Byte
Dim Suchen As Variant
Dim n%, x%, xZelle%, yZelle%
Dim Bereich$, Text$, Adresse$(), Akte$()
Bereich = "D20:D10000"
'Suchbegriff eingeben
Suchen = InputBox("Bitte den zu suchenden Begriff eingeben." & vbCrLf & _
"ENTER ohne Wert = Abbruch", "Suche")
If Suchen = "" Then Exit Sub
' letzte Zelle im Bereich ermitteln
With ActiveSheet.Range(Bereich)
xZelle = .Columns(.Columns.Count).Column
yZelle = .Rows(.Rows.Count).Row
End With
' Eigentlicher Suchvorgang
x = 1
With ActiveSheet.Range(Bereich)
Set c = .Find(Suchen, After:=Cells(yZelle, xZelle), LookIn:=xlValues)
If Not c Is Nothing Then
ErsteAdresse = c.Address
Do
ReDim Preserve Adresse(x)
Adresse(x) = c.Address(RowAbsolute:=False, ColumnAbsolute:=False)
Set c = .FindNext(c)
x = x + 1
Loop While Not c Is Nothing And c.Address  ErsteAdresse
End If
End With
' Anzeige der Suchergebnisse
Text = vbCrLf
' Die Anzahl der gefundenen Werte ist (x - 1), wenn keiner
' gefunden wurde dann ist x = 1
Select Case x
Case 1
Meldung = MsgBox("Leider nichts gefunden", _
vbOKOnly, "Suche")
Case 2
ActiveSheet.Select
ActiveSheet.Range(Adresse(1)).Select
ActiveWindow.ScrollRow = ActiveWindow.ActiveCell.Row
ActiveWindow.SmallScroll Up:=2
Exit Sub
Case Else
For n = 1 To x - 1
ActiveSheet.Select
ActiveSheet.Range(Adresse(n)).Select
ActiveWindow.ScrollRow = ActiveWindow.ActiveCell.Row
ActiveWindow.SmallScroll Up:=2
Meldung = MsgBox("Suchergebnis " & n & _
" von " & (x - 1) & _
". Weitersuchen?", vbYesNo, "Suche")
If Meldung = vbNo Then Exit Sub
Next n
End Select
End Sub


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert aus aktiver Zelle in InputBox übertragen
13.12.2008 08:11:56
Gerd
Hi Axel !
Indem Du das Default-Argument nutzt.
suchen = InputBox("Bitte den zu suchenden Begriff eingeben." & vbCrLf & _
"ENTER ohne Wert = Abbruch", "Suche", ActiveCell.Value)
Gruß Gerd
AW: Wert aus aktiver Zelle in InputBox übertragen
13.12.2008 09:01:29
Axel
oh man, das ist ja fast peinlich, so leicht ist das (wenn mans denn weiß...)
vielen dank, du hast mir sehr weitergeholfen ;)
MfG
Anzeige

333 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige