Hallo Dave,
auf Basis Deines letzten Posts:
Dave hat geschrieben:Übertragen brauche ich die Daten aus:
C4; normales Eingabefeld Inhalt ist eine Zahl (Ziel Tabelle2 A2)
F4; Sverweisfeld, Inhalt den ich brauche ist der Text (Ziel Tabelle2 B2)
E4; Wenn/Zeit Feld Inhalt zum Übertragen Datum und Zeit (Ziel Tabelle2 C2)
C7; Sverweisfeld, Inhalt den ich brauche ist der Text (Ziel Tabelle2 D2)
I4; Wenn/Zeit Feld Inhalt zum Übertragen Datum und Zeit (Ziel Tabelle2 E2)
Anschließend sollte in Tabelle2 eine Zeile oberhalb von Zeile 2 eingefügt werden, damit Zeile 2 wieder frei ist für die nächsten Einträge.
Und dann sollten in Tabelle 1 die Einträge von C4, H5, H8 und A10 gelöscht werden und zum Schluss der Cursor wieder in C4 zurückspringen.
habe ich das Makro etwas ausgedünnt.
Code: Alles auswählen
REM  *****  BASIC  *****
Sub Datenliste2
	oDoc = ThisComponent
	oCC = oDoc.CurrentController
		' Hier ggf. die Tabellenblattnamen anpassen
		oSheet1 = oDoc.Sheets.getByName("Tabelle1")
		oSheet2 = oDoc.Sheets.getByName("Tabelle2")
   
REM ------------------------------------------------------------------
REM C4; normales Eingabefeld Inhalt ist eine Zahl (Ziel Tabelle2 A2)
REM C4 --> A2
REM Zahl kopieren
	oSheet2.getCellRangeByName("A2").Value=oSheet1.getCellRangeByName("C4").Value
REM ------------------------------------------------------------------
REM E4; Wenn/Zeit Feld Inhalt zum Übertragen Datum und Zeit (Ziel Tabelle2 C2)
REM E4 --> C2
REM 	Nur Werte (Datum und Uhrzeit) kopieren
	With oSheet2
		.getCellRangeByName("C2").Value = oSheet1.getCellRangeByName("E4").Value
REM Zelle formatieren (Datum und Uhrzeit)
	' 50 = TT.MM.JJ HH:MM
	' 107 = TT.MM.JJJJ HH:MM
		.getCellRangeByName("C2").NumberFormat=50
REM Zell-Hintergrundfarbe
'		.getCellRangeByName("C2").CellBackColor=16777126			' Farbangabe per long
'		.getCellRangeByName("C2").CellBackColor=RGB(255,255,166)	' Farbangabe per RGB(n,n,n)
	End With
	
REM ------------------------------------------------------------------
REM F4; Sverweisfeld, Inhalt den ich brauche ist der Text (Ziel Tabelle2 B2)
REM F4 --> B2
REM Text kopieren
	oSheet2.getCellRangeByName("B2").String=oSheet1.getCellRangeByName("F4").String
REM ------------------------------------------------------------------
REM C7; Sverweisfeld, Inhalt den ich brauche ist der Text (Ziel Tabelle2 D2)
REM Text --> C7 --> D2
REM Text kopieren
	oSheet2.getCellRangeByName("D2").String=oSheet1.getCellRangeByName("C7").String
	
REM ------------------------------------------------------------------
REM I4; Wenn/Zeit Feld Inhalt zum Übertragen Datum und Zeit (Ziel Tabelle2 E2)
REM I4 --> E2
REM 	Nur Werte (Datum und Uhrzeit) kopieren
	With oSheet2
		.getCellRangeByName("E2").Value = oSheet1.getCellRangeByName("I4").Value
REM Zelle formatieren (Datum und Uhrzeit)
	' 50 = TT.MM.JJ HH:MM
	' 107 = TT.MM.JJJJ HH:MM
		.getCellRangeByName("E2").NumberFormat=50
REM Zell-Hintergrundfarbe
'		.getCellRangeByName("E2").CellBackColor=16777126			' Farbangabe per long
'		.getCellRangeByName("E2").CellBackColor=RGB(255,255,166)	' Farbangabe per RGB(n,n,n)
	End With
REM ------------------------------------------------------------------
REM Eine Zeile innerhalb Tabelle2 oberhalb Zeile 2 einfügen
  oRows=oSheet2.getRows
' Zeile einfügen
'	0 = Spalte A
' 	1 = Zeile 2
  oRows.insertbyindex(0,1)
REM ------------------------------------------------------------------
REM Zellinhalte leeren. 
REM 	Betrifft Formeln, Zahlen und Strings, keine Formate.
' Tabelle1 Zellen C4;H5;H8 und A10 leeren
	oZiel = oSheet1.getCellRangeByName("A10")
	oZiel.String=""
	oZiel = oSheet1.getCellRangeByName("C4")
	oZiel.String=""	
	oZiel = oSheet1.getCellRangeByName("H5")
	oZiel.String=""	
	oZiel = oSheet1.getCellRangeByName("H8")
	oZiel.String=""	
	
REM ------------------------------------------------------------------
REM Cursor positionieren
REM Position (2,3) =
REM 2 = Spalte C
REM 3 = Zeile 4
	oCell =  oSheet1.getCellByPosition(2,3)
	oCC.Select(oCell)
REM ------------------------------------------------------------------
REM Programmende
Msgbox "Aktion abgeschlossen!" & CHR(10) & _
			"Das Programm wird beendet", 64, "Programmende"
End Sub
Es werden nur Zahlen, Text und Datum/Uhrzeit in Tabelle2 geschrieben.
Ausser für die Zellen (Ziel Tabelle2 C2) und (Ziel Tabelle2 E2), beides Datum/ Uhrzeit,
werden keine Zellformatierungen durchgeführt.
Letzteres ist erforderlich, da ein Datum immer eine Dezimalzahl ist und per Value-Anweisung in Tabelle2 geschrieben wird.
43950,5733394097 = 29.04.20 13:45
Vor dem Komma = 43950 Tage nach dem Datum 30.12.1899 ist das heutige Datum
Nach dem Komma die Uhrzeit --> 0,5733394097
Wenn Du die Jahreszahl lieber 4-stellig augegeben hättest, dann muss im Makro Numberformat wie folgt geändert werden:
Dieses ändern:
Code: Alles auswählen
REM Zelle formatieren (Datum und Uhrzeit)
	' 50 = TT.MM.JJ HH:MM
	' 107 = TT.MM.JJJJ HH:MM
		.getCellRangeByName("E2").NumberFormat=50
in:
Code: Alles auswählen
REM Zelle formatieren (Datum und Uhrzeit)
	' 50 = TT.MM.JJ HH:MM
	' 107 = TT.MM.JJJJ HH:MM
		.getCellRangeByName("E2").NumberFormat=107
Also Formatcode 50, in 107 ändern.