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

PasteSpecial Methode funktioniert nicht

PasteSpecial Methode funktioniert nicht
24.06.2016 12:49:14
Nils
Hallo zusammen,
zunächst, danke für eure Zeit und Mühen.
Ich habe ein Problem mit meinem VBA Code, und zwar bekomme ich immer diese Fehlermeldung:
"Die PasteSpecial Methode des Range Objektes konnte nicht ausgeführt werden"
Die Idee des Codes ist die folgende:
Öffne eine PDF Dabei, kopiere den Inhalt der PDF Datei, Füge den Inhalt in das Excel Sheet ein und wähle dann nur spezielle Daten aus und füge diese in andere Excel sheets ein.
Danach wird der Inhalt des Sheets geleert und die Schleife sollte dann die nächste PDF Datei öffnen und wieder das gleiche machen.
-- Der erste Schleifendurchlauf funktioniert hier wunderbar, allerdings beim Öffnen der zweiten PDF erscheint die obige Fehlermeldung. Ich denke es liegt an der Pastespecial Methode im Sendkeys Befehl, allerdings sehe ich den Fehler nicht.
Dim i As Long, j As Integer
Dim zeile As Long
Dim zeilemax As Long
Dim t As Integer
Dim Pfad As String
Dim strPDFFile As String
Dim strFolder As String
For t = 1 To 2
Pfad = ActiveWorkbook.Worksheets("Tabelle2").Range("A" & t).Value
strFolder = "C:\Users\Win7ADM\Desktop\"
strPDFFile = strFolder & Pfad
ActiveWorkbook.FollowHyperlink Address:=strPDFFile, NewWindow:=True
SendKeys "^a", True
SendKeys "^c", True
Range("A60").PasteSpecial
Pfad = ActiveWorkbook.Worksheets("Tabelle2").Range("A" & t).Value
strFolder = "C:\Users\Win7ADM\Desktop\"
strPDFFile = strFolder & Pfad
ActiveWorkbook.FollowHyperlink Address:=strPDFFile, NewWindow:=True
SendKeys "^{DOWN}"
SendKeys "^a", True
SendKeys "^c", True
Range("A3").PasteSpecial
Pfad = ActiveWorkbook.Worksheets("Tabelle2").Range("A" & t).Value
strFolder = "C:\Users\Win7ADM\Desktop\"
strPDFFile = strFolder & Pfad
ActiveWorkbook.FollowHyperlink Address:=strPDFFile, NewWindow:=True
SendKeys "^{DOWN}"
SendKeys "^{DOWN}"
SendKeys "^a", True
SendKeys "^c", True
SendKeys "%{F4}"
Range("A120").PasteSpecial
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
zeilemax = .Cells(Rows.Count, 1).End(xlUp).Row
For zeile = zeilemax To 1 Step -1
If .Cells(zeile, 1).Value Like "AA*" Or _
.Cells(zeile, 1).Value Like "Money*" Then
Else
.Rows(zeile).Delete
End If
Next zeile
End With
Application.ScreenUpdating = True
Range("A2:A150").Select ''Schreibt Text in Spalten nach Leerzeichen
Selection.TextToColumns Destination:=Range("A2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _
Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _
33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1)), _
TrailingMinusNumbers:=True
Range("B1").Select
Selection.Copy
Workbooks.Open "C:\Users\Win7ADM\Desktop\Alle Ordner\ordner\Reports End\AA.xlsx"
Sheets("Money Manager").Select
Cells(65000, 1).End(xlUp).Offset(1, 0).Select ''sucht in Spalte A die nächste freie Zelle
ActiveSheet.Paste
Windows("Startdatei.xlsm").Activate '
Set RangeObj = Cells.Find(What:="AA", After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If RangeObj Is Nothing Then MsgBox "AA nicht gefunden" Else RangeObj.Select ''sucht sich was er kopieren soll
ActiveCell.Offset(1, 5).Select
ActiveCell.Resize(1, 10).Cut
Windows("AA.xlsx").Activate
Sheets("Money Manager").Select
Cells(65000, 1).End(xlUp).Offset(0, 1).Select ''sucht in Spalte A die nächste freie Zelle und geht einen nach rechts
ActiveSheet.Paste
ActiveWorkbook.Save
ActiveWorkbook.Close
Windows("Startdatei.xlsm").Activate
.
.
.
.
.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PasteSpecial Methode funktioniert nicht
24.06.2016 17:25:46
ChrisL
Hi Nils
Ich lasse die Frage offen.
Grössere Abläufe mittels SendKeys funktionieren selten. Vielleicht hat Excel nicht den Fokus (prüfe mal ob z.B. "Range("A1") = 1" funktionieren würde, dann kannst du PasteSpecial als Ursache ausschliessen.
Ich würde dir aber wärmstens empfehlen nach Alternativen zu suchen. Einfach mal Googlen z.B.
https://www.administrator.de/frage/pdf-auslesen-excel-schreiben-183617.html
Da wird u.a. auf ein kleines Tool pdftotext.exe verwiesen.
cu
Chris
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige