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

Bestellung vervollständigen

Bestellung vervollständigen
15.10.2015 12:16:36
Larissa
Hallo liebe Community,
meine Frage lautet, ob folgendes möglich/theoretisch mit Excel umzusetzen ist:
Eine Bestellung (PDF-Format) kann in den verschiedensten Formen eintreffen. Ich möchte nun aus diesem PDF Kundennummer, Artikelnummer und Menge rauskopieren (automatisiert). Das bekomme ich so hin:
Sub FindenUndKopieren()
Dim rng As Range
Dim loDeinWert As String
Dim sFirstAdress As String
'gesuchter Wert
wert = "Artikel Nr"
Set rng = Worksheets("Bestellung").UsedRange.Find(wert)
If rng Is Nothing Then
MsgBox "Wert " & loDeinWert & " nicht gefunden!"
Else
sfirstaddress = rng.Address
Do
rng.EntireRow.Copy
Worksheets("Tabelle1").Cells(Rows.Count, "A").End(xlUp) _
.Offset(1, 0).PasteSpecial Paste:=xlPasteAll
Set rng = Worksheets("Bestellung").UsedRange.FindNext(rng)
Loop While Not rng Is Nothing And rng.Address  sfirstaddress
End If
End Sub
1. Aus einer PDF-Datei Informationen gewinnen
2. z.B. Artikelnummer, Menge und Kundennummer
3. Diese Informationen in EXCEL speichern
4. Wenn ich den Inhalt der PDF-Datei in Excel kopiere stehen einzelne Zahlen (Menge) ohne Bezug in einer Zelle
Lösungsansatz:
Gibt es die Möglichkeit in VBA es so zu programmieren, dass um ein Schlagwort das in einer Zelle gefunden wird ein Bereich abgesucht wird. Also Beispielsweise steht in Zelle F14 das Wort "Menge". Dann möchte ich gezielt um diese Zelle E14, G14, F12, F13 etc. nach einem Pattern suchen. Ist das möglich?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestellung vervollständigen
19.10.2015 09:19:53
fcs
Hallo Lea,
hier ein Beispiel. Das Makro klappert nach einander die Zellen um die Fundstelle ab,
wird eine Zahl gefunden, dann wird der Wert in Tabelle1 ausgegeben.
Dabei sollte die Zelle in der der nummerische Wert am häufigsten zu finden ist in der 1. If-Zeile stehen.
Gruß
Franz
Sub FindenUndKopieren_2()
Dim rng As Range
Dim loDeinWert As String
Dim sFirstAdress As String
Dim varGefunden
'gesuchter Wert
loDeinWert = "Menge"
Set rng = Worksheets("Bestellung").UsedRange.Find(loDeinWert)
If rng Is Nothing Then
MsgBox "Wert " & loDeinWert & " nicht gefunden!"
Else
sFirstAdress = rng.Address
Do
varGefunden = ""
'Zellen um Fundstelle absuchen
If fncAnalyseZahl(rng.Offset(1, 0).Text, varGefunden) = True Then
'links neben der Fundstelle
ElseIf fncAnalyseZahl(rng.Offset(0, 1).Text, varGefunden) = True Then
'Rechts neben der Fundstelle
ElseIf fncAnalyseZahl(rng.Offset(1, 1).Text, varGefunden) = True Then
'Rechts unterhalb der Fundstelle
ElseIf fncAnalyseZahl(rng.Offset(-1, 0).Text, varGefunden) = True Then
'oberhalb der Fundstelle
ElseIf fncAnalyseZahl(rng.Offset(-2, 0).Text, varGefunden) = True Then
'2 Zeilen oberhalb der Fundstelle
'.... usw.
End If
If varGefunden  "" Then
With Worksheets("Tabelle1").Cells(Rows.Count, "B").End(xlUp)
.Offset(1, 0).Value = varGefunden
.Offset(1, 1).Value = "Menge in " & rng.Address 'Testzeile
End With
Else
MsgBox "um Zelle " & rng.Address(False, False, xlA1) & " keine Zahl gefunden"
End If
Set rng = Worksheets("Bestellung").UsedRange.FindNext(rng)
Loop While Not rng Is Nothing And rng.Address  sFirstAdress
End If
End Sub
Public Function fncAnalyseZahl(strText As String, varErgebnis) As Boolean
Dim strWert As String
varErgebnis = ""
strWert = Trim(strText)
If strWert = "" Then
ElseIf IsNumeric(strWert) Then
varErgebnis = CDbl(strWert)
fncAnalyseZahl = True
End If
End Function

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige