Grüße
Ich bin neu im Forum und auch neu bei LibreOffice und OpenOffice
ist eine Excel-Datei mit einem VBA-Makro angehängt, das ich in die LibreOffice-Codesprache konvertieren muss
Das Makro kopiert die Werte aus Arbeitsblatt 1 der Spalte "A" und Spalte "B" und fügt die Werte aus Arbeitsblatt 2 in Spalte "J" und Spalte "L" nebeneinander ein, wie sie im Original vorhanden sind
Wenn Sie auf die Schaltfläche in Arbeitsblatt 1 klicken, sehen Sie, wie das Makro ausgeführt wird
Können Sie mir bitte helfen, das Makro in LibreOffice zu konvertieren
Umarmungen
[Gelöst] makro kopiert Werte und klebt Nachbarn
Moderator: Moderatoren
[Gelöst] makro kopiert Werte und klebt Nachbarn
- Dateianhänge
-
- Cola Werte.xls
- (37 KiB) 106-mal heruntergeladen
Zuletzt geändert von Deko am So, 25.11.2018 00:53, insgesamt 2-mal geändert.
Re: makro kopiert Werte und klebt Nachbarn
Das konkrete Makro läüft auch ohne Veränderung in OO/LO Calc, wenn man am Anfang die Kompatibilitätsoption (Option VBASupport 1) hinzufügt, also:
ansonsten kann man auch beispielsweise folgenden StarBasic-Code verwenden:
Gruß
Stephan
Code: Alles auswählen
Option VBASupport 1
Sub Schwanzkopie()
Dim UltimaLinha_Plan1 As Long
Dim UltimaLinha_Plan2 As Long
Dim RngACopiarA As Range
Dim RngACopiarB As Range
UltimaLinha_Plan1 = Worksheets("Planilha1").Cells(Rows.Count, 1).End(xlUp).Row
Set RngACopiarA = Worksheets("Planilha1").Range("A2:" & "A" & UltimaLinha_Plan1)
Set RngACopiarB = Worksheets("Planilha1").Range("B2:" & "B" & UltimaLinha_Plan1)
UltimaLinha_Plan2 = Worksheets("Planilha2").Cells(Rows.Count, 10).End(xlUp).Row + 1
RngACopiarA.Copy
Worksheets("Planilha2").Range("J" & UltimaLinha_Plan2).PasteSpecial Paste:=xlPasteValues
RngACopiarB.Copy
Worksheets("Planilha2").Range("L" & UltimaLinha_Plan2).PasteSpecial Paste:=xlPasteValues
Worksheets("Planilha2").Select
Range("A1").Select
Application.CutCopyMode = False
End Sub
ansonsten kann man auch beispielsweise folgenden StarBasic-Code verwenden:
Code: Alles auswählen
Sub Kopieren_OO()
With Thiscomponent.Sheets
With.getByName("Planilha1")
oleer = .Columns(0).queryemptycells
oletzter=oleer(oleer.count-1).rangeaddress.startrow-1
werte = .getCellRangeByPosition(0,1,0,oletzter).getDataArray
werte2 = .getCellRangeByPosition(1,1,1,oletzter).getDataArray
End With
With .getByName("Planilha2")
oleer2 = .Columns(9).queryemptycells
oletzter2=oleer2(oleer2.count-1).rangeaddress.startrow-1
.getCellRangeByPosition(9,oletzter2+1,9,oletzter2+oletzter).setDataArray(werte)
.getCellRangeByPosition(11,oletzter2+1,11,oletzter2+oletzter).setDataArray(werte2)
End With
End With
End Sub
Gruß
Stephan
Re: makro kopiert Werte und klebt Nachbarn
[Gelöst]
sr. Stephan
Beide Makros haben für dieses Thema sehr gut funktioniert
das erste Makro funktionierte mit Kompatibilität (Option VBASupport 1)
Das zweite Makro, das Sie erstellt haben, hat auch sehr gut funktioniert
Vielen Dank, dass Sie meinem Freund geholfen haben.
Beobachtung
in meinen anderen Threads funktionierte nicht perfekt
im Thema> viewtopic.php?f=18&t=70986&sid=42efc0c3 ... 3a302884ec Fehler im Befehl Set Rng = Target.SpecialCells (xlCellTypeVisible)
Vielen Dank für Ihre Aufmerksamkeit, mein Freund.
Umarmungen
sr. Stephan
Beide Makros haben für dieses Thema sehr gut funktioniert
das erste Makro funktionierte mit Kompatibilität (Option VBASupport 1)
Das zweite Makro, das Sie erstellt haben, hat auch sehr gut funktioniert
Vielen Dank, dass Sie meinem Freund geholfen haben.
Beobachtung
in meinen anderen Threads funktionierte nicht perfekt
im Thema> viewtopic.php?f=18&t=70986&sid=42efc0c3 ... 3a302884ec Fehler im Befehl Set Rng = Target.SpecialCells (xlCellTypeVisible)
Vielen Dank für Ihre Aufmerksamkeit, mein Freund.
Umarmungen
Re: [Gelöst] makro kopiert Werte und klebt Nachbarn
Das weiß ich, weshalb ich dieselbe Lösung (Option VBASupport 1) auch nicht für die anderen zwei Fragen/Makros empfohlen habe.Beobachtung
in meinen anderen Threads funktionierte nicht perfekt
Der Grund das es nicht funktioniert ist das OO mit manchem VBA-Code nicht klarkommt, weil es nicht 100%ig zu VBA kompatibel ist.
Gruß
Stephan