[Excel] Daten aus PDF aufbereiten

tetris²

Lt. Commander
Registriert
Dez. 2007
Beiträge
1.133
Hallo.
Ich habe gerade mal so einiges mit Excel vor.

Erstmal will ich euch erklären was ich habe und was ich haben möchte^^

Ist-Zustand:
12 PDF Dokumente (ein bis dreiseitig) [die Anzahl wird im laufe des Jahres auf 48 ansteigen]
mit eine art Tabelle die so aussieht:

123456 (4321) 2,00 123457 (3421) 1,30 214456 (1991) 4,00
...
das halt die ganzen Seiten durchgehend. Es gehören immer so drei Zahlen zusammen (eine ist 6 stellig, eine 4 stellig in Klammern und eine ist einstellig mit zwei Dezimalstellen).
Wobei manchmal die dritte Zahl fehlt!

Soll-Zustand:
Diese Daten möchte ich jetzt in Excel haben. Am liebsten wenn es automatisch geht, würde manuell aber auch nicht allzu lange dauern. In Excel möchte ich die Daten dann in drei Spalten haben, Beispielsweise in Zelle A1 die 123456 ; in Zelle A2 dann die 4321 ; und in A3 dann die 2,00.

Im Anhang habe ich das mal gezeigt was ich habe und wie ich das haben möchte ;)

Ich hoffe ich habe mich verständlich genug ausgedrückt^^
Vielen Dank schonmal!
 

Anhänge

  • Daten.pdf
    81,5 KB · Aufrufe: 165
  • AufbereiteteDaten.pdf
    5,1 KB · Aufrufe: 151
Die Daten sind wie in deinem Anhang entnehmbar (also kein Scan)?
Dann kopier die Daten in eine Exceltabelle und bau dir ne simple Funktion die die Daten in eine Tabelle zusammenfasst, "nach unten ziehen", fertig.

Grüße
Ralph
 
Danke erstmal!
Ja genau, KEIN Scan.

Das mit der simplen Funktion scheint aber mein Problem zu werden^^

Wenn ich das einfach Kopiere (ich denke du meinst auch manuell) dann sieht meine excel Tabelle so aus:
180259 (1739) 4,00 178842 (1829) 2,30 149293 (1840) 5,00
149493 (1846) 4,00 ................ usw.

wie bekomme ich denn daraus jetzt das so hin wie ich das haben möchte?
 
Wenn ich die Daten nach Excel kopiere erhalte ich eine untereinander stehende Liste.

Wenn es wirklich so aussieht wie bei dir, dann brauchst du doch einfach nur die Funktion Text in Spalten nutzen und dann Blockweise die Dinger untereinander kopieren.

Wenns so aussieht wie bei mir:
180259
(1739)
4,00
usw.

Hätte ich hier ein kleines VB Makro:
Code:
Sub verschiebe_zellen()

Dim i As Integer
Dim counter As Integer
counter = 1
i = 1
Columns(3).NumberFormat = "@"
While Not IsEmpty(Cells(i, 1))
  Select Case Cells(i, 1)
    Case Is < 0
      Cells(counter, 3) = "(" & -1 * Cells(i, 1) & ")"
    Case 0 To 999
      Cells(counter, 4) = Cells(i, 1)
    Case 100000 To 999999
      If Not i < 3 Then
        counter = counter + 1
      End If
      Cells(counter, 2) = Cells(i, 1)
    Case Else
  End Select
i = i + 1
Wend

End Sub
 
Hey,
ne so sieht das leider nicht aus. Also bei mir siehts so aus:

180259 (1739) 4,00 178842 (1829) 2,30 149293 (1840) 5,00

Ich kann leider keine Originalquelle hier hochladen ;) Ich habe das Beispiel mit Word gemacht und dann als PDF^^

Bei mir stehen die Werte nur mit einem Leerzeichen getrennt da. Ich kann mit "Text in Spalten" die auch auseinander bekommen, nur habe ich dann ja zu viele nebeneinander^^
Die müsste ich dann Manuell herunterziehen^^

Problematisch wird es allerdings weil manchmal der Dezimalwert ganz fehlt!!
 
Zuletzt bearbeitet:
Bekommst du alles in eine Zelle?
 
Ja genau:)
Also immer 9 Zahlen sozusagen.
 
Dann probier mal das:
Code:
Sub verschiebe_zellen()
Dim i As Integer
Dim counter As Integer
Dim temp, item
counter = 1
i = 1
Columns(3).NumberFormat = "@"
While Not IsEmpty(Cells(i, 1))
  temp = Split(Cells(i, 1), " ")
  For Each item In temp
    If item > 0 And item < 1000 Then
      Cells(counter, 4) = item
    ElseIf InStr(1, item, "(") > 0 Then
      Cells(counter, 3) = item
    ElseIf IsEmpty(Cells(counter, 2)) Then
      Cells(counter, 2) = item
    Else
      counter = counter + 1
      Cells(counter, 2) = item
    End If
  Next item
  i = i + 1
Wend
End Sub
 
ahh das sieht gut aus;)
Besten dank schonmal.
 
Also das Du alles in eine Zeile bekommst kann ich nicht nachvollziehen.
Wenn ich alle Zahlen markiere und in Excel einfüge bekomme ich alles untereinander.

Aber wenn es jetzt funktioniert bei dir ist es ja gut.

Grüße
Ralph
 
Fein...gerne
 
Der Anhang ist kein Original was ich verwende. Ich kann leider keine Originalquelle online stellen, bei denen verhält sich Excel aber wie ich es beschrieben habe. ;)
Ergänzung ()

Au verdammt:
kann man das VB-Script so anpassen, dass die Klammern verschwinden?;)

Obwohl es geht auch so :)
 
Zuletzt bearbeitet:
sollte funzen ;)

Code:
Sub verschiebe_zellen()
Dim i As Integer
Dim counter As Integer
Dim temp, item
counter = 1
i = 1
Columns(3).NumberFormat = "@"
While Not IsEmpty(Cells(i, 1))
  temp = Split(Cells(i, 1), " ")
  For Each item In temp
    If item > 0 And item < 1000 Then
      Cells(counter, 4) = item
    ElseIf InStr(1, item, "(") > 0 Then
      Cells(counter, 3) = Replace(Replace(item, "(", ""), ")", "")
    ElseIf IsEmpty(Cells(counter, 2)) Then
      Cells(counter, 2) = item
    Else
      counter = counter + 1
      Cells(counter, 2) = item
    End If
  Next item
  i = i + 1
Wend
End Sub
 
Zurück
Oben