Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1312to1316
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

Probleme mit PasteSpecial in VBA 2010 -VBA 2003 ok

Probleme mit PasteSpecial in VBA 2010 -VBA 2003 ok
22.05.2013 10:55:26
Florian
Hallo liebe Excelfreunde,
habe ein Problem mit Pastespecial in Excel 2010. Wenn die gleiche Makro in Excel 2003 aufgerufen wird läuft alles ohne Probleme durch, in 2010 kommt die Fehlermeldung "PasteSpecial Method of Range class failed" - Error type 1004.
Bei der Makro handelt es sich dabei um eine Funktion, die aus einem externen Workbook heraus aufgerufen wird.
Hat jemand von Euch eine Idee, wo der Fehler stecken könnte? Bin dankbar für jede Hilfe ;)
Vielen Dank schonmal im Voraus.
Florian
Hier die Funktion:
Function RangetoHTML(rng As Range)
Dim Fso As Object
Dim ts As Object
Dim TempFile As String
Dim TempWB As Workbook
Dim iTemp As Integer, iLastRowTemp As Integer
TempFile = Environ$("temp") & "\" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
rng.Copy
Set TempWB = Workbooks.Add(1)
rng.Copy
Set TempWB = Workbooks.Add(1)
With TempWB.Sheets(1)
.Cells(1).PasteSpecial Paste:=8    '***HIER DEBUG IN EXCEL 2010!!
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
.Cells(1).SpecialCells(xlCellTypeVisible).Select
.Name = "HTML_ME"
Application.CutCopyMode = False
On Error GoTo 0
End With
With TempWB.PublishObjects.Add(SourceType:=xlSourceRange, Filename:=TempFile, Sheet:="HTML_ME",  _
_
Source:=TempWB.Sheets(1).UsedRange.Address, HtmlType:=xlHtmlStatic)
.Publish (True)
End With
Set Fso = CreateObject("Scripting.FileSystemObject")
Set ts = Fso.GetFile(TempFile).OpenAsTextStream(1, -2)
RangetoHTML = ts.ReadAll
ts.Close
RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", "align=left x:publishsource= _
_
")
TempWB.Close savechanges:=False
Kill TempFile
Set ts = Nothing
Set Fso = Nothing
Set TempWB = Nothing
End Function

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit PasteSpecial in VBA 2010 -VBA 2003 ok
22.05.2013 11:13:25
Klaus
Hi,
was soll Paste:=8 denn bewirken? Kommentier die ganze Zeile aus!
Da "Values" und "Formats" kopiert werden, sollte trotzdem nichts fehlen ...
    REM .Cells(1).PasteSpecial Paste:=8    '***HIER DEBUG IN EXCEL 2010!!
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
Grüße,
Klaus M.vdT

AW: Probleme mit PasteSpecial in VBA 2010 -VBA 2003 ok
22.05.2013 13:07:09
Florian
Hi Klaus,
Danke für Deine Antwort.
Ich habe die Zeile bereits auskommentiert, die Makro hält aber dann unmittelbar bei der nächsten Zeile... Hast Du eine Idee?
Danke, und viele Grüsse
Florian

Anzeige
AW: Probleme mit PasteSpecial in VBA 2010 -VBA 2003 ok
22.05.2013 13:57:35
Klaus
Hi,
versuchs dann mal mit

.Cells(1).PasteSpecial xlPasteValues
.Cells(1).PasteSpecial xlPasteFormats
die komma komma false braucht es in 2010 nicht. Ich bin jetzt auch zu faul nachzusehen, was die damals mal gemacht haben.
Grüße,
Klaus M.vdT.

AW: Probleme mit PasteSpecial in VBA 2010 -VBA 2003 ok
23.05.2013 08:59:37
Florian
Hi Klaus,
habe auch das ausprobiert - leider hilft auch das nicht. In Excel 2003/2007 läuft alles tiptop, in Excel 2010 bekomme ich die Fehlermeldung, und zwar bei ".Cells(1).PasteSpecial xlPasteValues".
Könnte es evt sein dass es schon vorher hakt - evt beim Definieren der Range? Irgendwie weiss ich da nicht weiter..
Danke für Deine Hilfe!
Gruss Florian

Anzeige
AW: Probleme mit PasteSpecial in VBA 2010 -VBA 2003 ok
23.05.2013 09:01:56
Klaus
Hi Florian,
ich mag nicht mehr im blauen rumstochern - lad bitte die Datei hoch!
Grüße,
Klaus M.vdT.

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige