Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1484to1488
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
mittels VBA "msgbox eingabe" eine Zahl suchen
30.03.2016 15:53:48
Michel
Hallo liebe Excel Freunde
Ich habe hier eine Routine Aufgabe und möchte diese gerne automatisieren.
vielen Dank vorab für euer Feedback
Hier das File um was es geht:
https://www.herber.de/bbs/user/104662.xlsm
Dies ist ein Auszug aus dem SAP und kann je nach dem von der Datenmenge variieren.
In diesem File möchte ich folgende Schritte durchführen:
Blatt "Rohdaten"
1. Spalte B aufsteigend sortieren
2. Spalte E aufsteigen sortieren
3. msgbox soll erscheinen wobei ich eine Zahl eingeben will
4. Nach dieser Zahl soll nun in der Spalte A gesucht werden um folgende Aktion durchführen "diese Zahl kommt mehrmals vor"
5. Die Zahl wurde nun in der Spalte A gefunden, nun sollen die 10 Reihen oben und unten markiert (siehe im Excel bsp.1) und in das Blatt "Übersicht kopiert werden.
Die Daten in Spalten A im Blatt "Übersicht" sollten auch gleich geschrieben werden.
6. Dieses Vorgehen soll das Makro nun solange wiederholen, bis keine Zahl mehr gefunden wird.
ist das möglich?
vielen Dank
Gruss
Michel

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

Betreff
Datum
Anwender
Anzeige
AW: mittels VBA "msgbox eingabe" eine Zahl suchen
30.03.2016 16:42:19
UweD
Hallo Michel
so?

Sub Makro2()
Dim Suche$, TB2, c, firstAddress, LR2&
Set TB2 = Sheets("Übersicht")
With ActiveWorkbook.Worksheets("Rohdaten")
With .Sort
.SortFields.Clear
.SortFields.Add Key:=Range("B:B"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortTextAsNumbers
.SortFields.Add Key:=Range("E:E"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortTextAsNumbers
.SetRange Range("A:I")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Suche = InputBox("Auftragsnummer ?", "Suchen")
Set c = .Range("A:A").Find(Suche, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c.Row  firstAddress
End If
End With
End Sub
Gruss UweD

Anzeige
AW: mittels VBA "msgbox eingabe" eine Zahl suchen
30.03.2016 16:46:46
ChrisL
Hi Michel
Und noch eine Variante:
Sub Mach()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long, letzteZeile As Long, tempZeile As Long
Dim vInput As Variant, minZeile As Long
Set WS1 = Worksheets("Rohdaten")
Set WS2 = Worksheets("Übersicht")
WS2.Cells.Delete  'optional Übersicht vorher leeren
With WS1.AutoFilter.Sort
.SortFields.Clear
.SortFields.Add Key:=WS1.Columns(2), SortOn:=xlSortOnValues, Order:=xlAscending
.SortFields.Clear
.SortFields.Add Key:=WS1.Columns(5), SortOn:=xlSortOnValues, Order:=xlAscending
End With
vInput = Application.InputBox("Bitte Zahl eingeben:", "Suche")
If vInput = False Then Exit Sub
If IsNumeric(vInput) Then
If WorksheetFunction.CountIf(WS1.Columns(1), vInput) = 0 Then
MsgBox "Zahl ist nicht vorhanden"
Else
WS1.Rows(1).Copy WS2.Rows(1) ' optional Überschriften kopieren
letzteZeile = WS1.Cells(WS1.Rows.Count, 1).End(xlUp).Row
For iZeile = 2 To letzteZeile
If WorksheetFunction.CountIf(WS1.Range(WS1.Cells(iZeile, 1), _
WS1.Cells(letzteZeile, 1)), vInput) = 0 Then Exit For
tempZeile = Application.Match(vInput, WS1.Range(WS1.Cells(iZeile, 1), _
WS1.Cells(letzteZeile, 1)), 0) + iZeile - 1
If tempZeile 

cu
Chris

Anzeige
und noch eine...
30.03.2016 17:38:49
Michael
Hi zusammen,
eigentlich überflüssig, aber weil ich mich schon damit beschäftigt habe:
https://www.herber.de/bbs/user/104668.xlsm
Ich habe mir erlaubt, die Zahlenabfrage anders zu gestalten:
a) Eingabefeld in Übersicht und
b) Doppelklick auf Wert in Blatt "Rohdaten", Spalte A
Schöne Grüße,
Michael

328 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige