Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Umschreiben von Open Office Makro in Excel Makro

Umschreiben von Open Office Makro in Excel Makro
09.03.2015 08:26:46
Open
Hallo!
Ich habe folgenden VBA Code für ein Makro in Open Office, welches bestimmte Teile der Tabellen eines Excel Dokuments in bestimmte Teile der Tabellen eines anderen Dokuments kopieren soll.
Leider kann Excel das Makro so nicht ausführen, da unterschiede in der Programmiersprache bestehen (habe z.B statt thisComponent Workbook.Worksheets gefunden)
Könnt ihr mir Helfen den Befehl umzuschreiben?
Sub kopieren()
doc = thisComponent
Sheets = doc.Sheets
apath = Split(doc.Location, "/")
apath(UBound(apath)) = "Mappe1.ods"
quellpath = Join(apath, "/")
Formula = "='" & quellpaht & "'#"
For Each sheetname In Sheets.ElementNames
target = Sheets.getByName(sheetname).getCellRangeByName("A1:B4")
target.ArrayFormula = Formula & sheetname & ".B8:C11"
Next
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Umschreiben von Open Office Makro in Excel Makro
09.03.2015 10:30:27
Open
Hallo!
Wenn Du in Excel von einer Zelle in die andere (in der selben Datei) kopieren möchtest ist das mit einer Zeile erledigt.
Sheets("Tabelle1").Range("B8:C11"). Copy Sheets ("Tabelle1").Range("A1:B4")
Aber erklär doch mal genauer was Du erreichen möchtest. Wenn ich den Code richtig interpretiere sollen da Formeln (Formula) in die Zellen geschrieben werden, von kopieren steht da nichts.
Gruß, René

AW: Umschreiben von Open Office Makro in Excel Makro
09.03.2015 10:40:36
Open
Hallo Max,
wenn ich das Makro richtig gelesen haben, dann möchtest du aus den Zellbereichen einer anderen Datei per Array-Formel die Werte in einen Zellbereich einlesen. Dabei sind in der aktiven Datei und in der Externen Datei Tabellen mit den gleichen Blattnamen vorhanden.
Das Excel-Makro unte Windows müßte dann etwa wie folgt aussehen. Ich kann aber nicht überblicken, ob "\" oder "/" als Trennzeichen im Pfad der Dateien eine Rolle spielen können. Ich hab das deshalb durch den allgemeinen Ausdruck Application.PathSeparator ersetzt.
Gruß
Franz
Sub kopieren()
Dim wkb As Workbook
Dim wks As Worksheet
Dim rngTarget As Range
Dim apath As Variant, quellpath As Variant
Dim Formula As String
'doc = thisComponent
Set wkb = ThisWorkbook 'oder evtl. ActiveWorkbook
'Sheets = doc.Sheets
'apath = Split(doc.Location, "/")
apath = Split(wkb.FullName, Application.PathSeparator)
apath(UBound(apath)) = "Mappe1.xlsx"
'quellpath = Join(apath, "/")
quellpath = Join(apath, Application.PathSeparator)
If Dir(Pathname:=quellpath) = "" Then
MsgBox "Quelldatei """ & quellpath & """ nicht gefunden"
Else
'Formula = "='" & quellpaht & "'#"
Formula = "='" & wkb.Path & Application.PathSeparator & "[Mappe1.xlsx]"
'For Each sheetname In Sheets.ElementNames
For Each wks In wkb.Worksheets
'target = Sheets.getByName(sheetname).getCellRangeByName("A1:B4")
Set rngTarget = wks.Range("A1:B4")
' target.ArrayFormula = Formula & sheetname & ".B8:C11"
rngTarget.FormulaArray = Formula & wks.Name & "'!$B$8:$C$11"
Next
End If
End Sub

Anzeige

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige