🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

VBA anstelle von händischen Makro, Hilfe bitte.

Alles zur Programmierung im LibreOffice.
Librenoob81
Beiträge: 11
Registriert: Mi 22. Apr 2020, 20:21

VBA anstelle von händischen Makro, Hilfe bitte.

Beitrag von Librenoob81 » Mi 22. Apr 2020, 21:23

Hallo,

möchte gerne in einer Calcdatei per Click auf einen Button mehrere Daten in ein weiteres Tabellenblatt übertragen und anschließend mehrere Zellen leeren.
Derzeit funktioniert das über ein aufgenommenes Makro, dieses orrientiert sich aber leider an Position X.Y und nicht an den Zellen selbst, weshalb jede kleine Verschiebung zu völligem Chaos führt^^

Würde gern eine VBA Lösung dafür haben, jedoch fehlen mir was VBA angeht jegliche Vorkenntnisse :(
Funktion des Buttons soll ungefähr so aussehen:
>Text in Tabelle1 C4 kopieren und in Tabelle2 A2 einfügen
>Text in Tabelle1 F4 kopieren und nach Tabelle2 B2 einfügen
>Text in Tabelle1 E4 (darin ist auch eine Formel) kopieren und in Tabelle2 C2 einfügen
>Text in Tabelle1 I4 (auch mit Formel) kopieren und in Tabelle2 D2 einfügen
>Text in Tabelle1 C7 kopieren und nach Tabelle2 F2 einfügen
>Tabelle2 Zeile oberhalb von Zeile 2 einfügen
>Tabelle1 Zellen C4;H5;H8 und A10 leeren
>Cursor zurück auf C4

Wie gesagt derzeit läuft das über ein handgeführtes Makro aber die Lösung ist leider nur Semi schön.

Vielen Dank für jeden der Helfen mag :)

Mfg Dave

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: VBA anstelle von händischen Makro, Hilfe bitte.

Beitrag von craig » Do 23. Apr 2020, 20:26

Hallo Dave,

kurze Anmerkung:
Unter AOO und LibreOffice wird z.B. mit Starbasic programmiert.
VBA ist ein MS-Produkt.

Hier gibt es mehrere Beispiele.

ErsteSchritte_Handbuch_Kapitel_13_MakrosEinfuehrung_V62

------------------------
Dave hat geschrieben:>Text in Tabelle1 E4 (darin ist auch eine Formel) kopieren und in Tabelle2 C2 einfügen
>Text in Tabelle1 I4 (auch mit Formel) kopieren und in Tabelle2 D2 einfügen
Dies kann u.U. zu einem Beuzugsfehler (#Ref) führen.
Statt die Formel zu kopieren, kann man diese per Makro direkt in die Zielzelle schreiben.
  1. Wie lauten die Formeln?
  2. Sollen Zellformate auch kopiert werden?
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Librenoob81
Beiträge: 11
Registriert: Mi 22. Apr 2020, 20:21

Re: VBA anstelle von händischen Makro, Hilfe bitte.

Beitrag von Librenoob81 » So 26. Apr 2020, 00:12

Hallo Craig,

sorry für die späte Antwort, ging etwas drunter und drüber^^

Code: Alles auswählen

=WENN(H5="";"";WENN(ZELLE("TYPE";E4)="v";E4;JETZT()))

Code: Alles auswählen

=WENN(C4="";"";SVERWEIS(C4;$Materialliste.$A$2:$E$601;4;0))
Das sind Beispiele für die Zellen mit Formeln.
In der ersten wird das aktuelle Datum eingetragen mit Uhrzeit und geblockt, so das keine Veränderung bei aktualisieren mehr ensteht.

In der zweiten werden blos Daten aus einer Liste importiert, die Sverweis geschichte kommt in dem Dokument insagesamt 16 mal vor und das mit dem Datum 8 mal.

Es sind 4 identische Blöcke mit gleicher Funktion, beschrieben habe ich den ersten Block.

Heisst jeder Block hat 2x das mit dem Datum, was auch übertragen werden muss (mit Format wäre wünschenswert, brauche jedoch nur den Text und nicht die Formel im Übertrag).
Des weiteren hat jeder Block 4 mal die Geschichte mit dem Sverweis wovon allerdings nur jeweils 2 übertagen werden.
Das letzte was übertragen wird ist dann die von Hand eingegebene Zahl die einen Teil der Sverweise auslöst, in dem Feld ist keine Formel.

Mfg Dave

und danke für den Hinweis mit Starbasic, kannte das nur von besagtem Microsoft Produkt und habe mich damit noch nie wirklich auseinandersetzen können^^

mikele
* LO-Experte *
Beiträge: 1930
Registriert: Mo 1. Aug 2011, 20:51

Re: VBA anstelle von händischen Makro, Hilfe bitte.

Beitrag von mikele » So 26. Apr 2020, 15:24

Hallo,
stehen in C4, F4, E4, I4 und C7 wirklich Texte? In manchen steht ein Datum. In welchen?
Gruß,
mikele

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: VBA anstelle von händischen Makro, Hilfe bitte.

Beitrag von craig » Mo 27. Apr 2020, 17:32

Hallo Dave,

erstelle von Deiner Originaldatei eine Kopie.

Dann kopiere nachfolgenden Code in diese Datei und teste ihn.

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Datenliste
	oDoc = ThisComponent
	oCC = oDoc.CurrentController
		' Hier ggf. die Tabellenblattnamen anpassen
		oSheet1 = oDoc.Sheets.getByName("Tabelle1")
		oSheet2 = oDoc.Sheets.getByName("Tabelle2")
   
REM ------------------------------------------------------------------
REM C4 --> A2
REM 	Quellbereich festlegen
	oQuelleRange=oSheet1.getCellRangeByName("C4")
	oQuellRangeAddresse = oQuelleRange.getRangeAddress

REM Ziel festlegen
	oZiel = oSheet2.getCellRangeByName("A2")
	oZielCellAdresse=oZiel.getCellAddress

REM kopieren
	oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)

REM ------------------------------------------------------------------
REM F4 --> B2
REM 	Quellbereich festlegen
	oQuelleRange=oSheet1.getCellRangeByName("F4")
	oQuellRangeAddresse = oQuelleRange.getRangeAddress

REM Ziel festlegen
	oZiel = oSheet2.getCellRangeByName("B2")
	oZielCellAdresse=oZiel.getCellAddress

REM kopieren
	oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)

REM ------------------------------------------------------------------
REM E4 --> C2
REM 	Nur Werte (Datum und Uhrzeit) kopieren
	With oSheet2
		.getCellRangeByName("C2").Value = oSheet1.getCellRangeByName("E4").Value
	' Zelle formatieren (Datum und Uhrzeit)
	' 50 = TT.MM.JJ HH:MM
	' 107 = TT.MM.JJJJ HH:MM
		.getCellRangeByName("C2").NumberFormat=50
		.getCellRangeByName("C2").CellBackColor=16777126			' Farbangabe per long
'		.getCellRangeByName("C2").CellBackColor=RGB(255,255,166)	' Farbangabe per RGB(n,n,n)
		' Zelle zum zeichnen des Rahmens selektieren
	 	oCC.Select(.getCellRangeByName("C2"))
	End With
	' Rahmen um selektierte Zelle zeichnen
	' Code dafür befindet sich weiter unten...
	DrawBorderInSelection

REM ------------------------------------------------------------------
REM I4 --> D2
REM 	Quellbereich festlegen
	oQuelleRange=oSheet1.getCellRangeByName("I4")
	oQuellRangeAddresse = oQuelleRange.getRangeAddress

REM Ziel festlegen
	oZiel = oSheet2.getCellRangeByName("D2")
	oZielCellAdresse=oZiel.getCellAddress

REM kopieren
	oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)

REM ------------------------------------------------------------------
REM Text --> C4 --> F2
REM 	Quellbereich festlegen
	' Text in String-Variable
	sStr=oSheet1.getCellRangeByName("C7").String
REM Ziel festlegen
	oZiel = oSheet2.getCellRangeByName("F2")
	oZiel.String = sStr

REM kopieren
	oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)	

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

REM ******************************************************************
REM Rahmen um selektierte Zelle zeichnen
Sub DrawBorderInSelection()
Dim aBorder
Dim oSel as Object

' aktuelle Selektion erfassen
oSel=thisComponent.currentSelection()

' für den äusseren Rahmen
Dim aTableBorder As New com.sun.star.table.TableBorder


' Es kommt hier auf die Reichenfolge an. 
' Line1 zeichnet erst einen äusseren und einen inneren Rahmen.
' Der äussere Rahmen wird später durch aTableborder ersetzt.
Dim Line1 As New com.sun.star.table.BorderLine

' innerer und äusserer Rahmen
  with Line1
      .Color = rgb(0,0,0)	'Farbe = schwarz
      .InnerLineWidth = 0
      .OuterlineWidth = 10	'Strichstärke
      .LineDistance = 0
  end with
  
' aktuell äusseren Rahmen ersetzen; innerer Rahmen bleibt bestehen
   aBorder = createUnoStruct("com.sun.star.table.BorderLine")
   With aBorder
       .Color = rgb(0,0,0)	' Farbe= schwarz
       .InnerLineWidth = 0
       .OuterLineWidth = 10		'Strichstärke
       .LineDistance = 0
   End With

' Konfig des äusseren Rahmens
   With aTableBorder
      .TopLine = aBorder
      .RightLine = aBorder
      .BottomLine = aBorder
      .LeftLine = aBorder
      .Distance = 0
      .IsTopLineValid = True
      .IsRightLineValid = True
      .IsBottomLineValid = True
      .IsLeftLineValid = True
   End With 
 
  with oSel
	' innerer und äusserer Rahmen der Selektion zuweisen 
	.BottomBorder = Line1
	.LeftBorder = Line1
	.RightBorder = Line1
	.TopBorder = Line1

	'äusseren Rahmen zuweisen
	.TableBorder = aTableBorder
  end with 

End Sub

Sollte irgendetwas nicht in Ordnung sein, erbitte ich eine möglichst exakte Beschreibung des Problems.
Ich gehe mal davon aus, dass es Probleme mit den Zellen gibt, in denen die Sverweis-Formeln stehen.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Librenoob81
Beiträge: 11
Registriert: Mi 22. Apr 2020, 20:21

Re: VBA anstelle von händischen Makro, Hilfe bitte.

Beitrag von Librenoob81 » Di 28. Apr 2020, 15:55

mikele hat geschrieben:
So 26. Apr 2020, 15:24
Hallo,
stehen in C4, F4, E4, I4 und C7 wirklich Texte? In manchen steht ein Datum. In welchen?
In E4 und I4 wird das Datum eingetragen und Festgeschrieben mittels der Formel:

Code: Alles auswählen

=WENN(H5="";"";WENN(ZELLE("TYPE";E4)="v";E4;JETZT()))
In F4, C7, E7 und I9 stehen jeweils ein Sverweis der sich auf jeweils eine andere Spalte aus dem Datenblatt, hier nenne ich sie mal Tabelle3^^

Ü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.

__________________________________________________________

Das wäre die komplette Funktion die der Button haben sollte, das Ganzen habe ich 4 mal untereinander, geht beim 2ten mal dann mit C13 los anstelle von C4 und ich würde mir auch dem C4 Model dann 3 weitere basteln für die 3 weiteren.
craig hat geschrieben:
Mo 27. Apr 2020, 17:32
Hallo Dave,

erstelle von Deiner Originaldatei eine Kopie.

Dann kopiere nachfolgenden Code in diese Datei und teste ihn.

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Datenliste
	oDoc = ThisComponent
	oCC = oDoc.CurrentController
	..................................................

Sollte irgendetwas nicht in Ordnung sein, erbitte ich eine möglichst exakte Beschreibung des Problems.
Ich gehe mal davon aus, dass es Probleme mit den Zellen gibt, in denen die Sverweis-Formeln stehen.
Werde ich heute Abend mal Testen, vielen Dank für die Mühe und sorry das ich beim ersten Mal nicht ganz ausführlich war mit dem Button, sollte nur als Beispiel dienen und du machst gleich nen Code draus :)

Vielen lieben Dank euch :)

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: VBA anstelle von händischen Makro, Hilfe bitte.

Beitrag von craig » Mi 29. Apr 2020, 14:06

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.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Librenoob81
Beiträge: 11
Registriert: Mi 22. Apr 2020, 20:21

Re: VBA anstelle von händischen Makro, Hilfe bitte.

Beitrag von Librenoob81 » Sa 2. Mai 2020, 14:21

Hallo Craig,

großen großen Dank schon mal, das ist fast perfekt :)

Es gibt eine Kleinigkeit die nicht so funktioniert wie ich mir das dachte und zwar wenn du in Tabelle 2 die Zeile 2 wieder frei machst, dann schiebt er mir Zeile 1 nach unten und das sollte nicht so sein denn in Zeile 1 Stehen die Spaltenbezeichnungen und die müssten dort auch fest stehen bleiben.
Es sollte so sein als ob er auf die frisch beschriebene Zeile 2 klickt und sagt Zeile oberhalb einfügen.
Und die Fertigmeldung am Ende bräuchte ich auch nicht, die ist im Ablauf eher störend.

Sonst ist es perfekt, vielen lieben Dank :)

MfG Dave

P.S. ich habe noch eine weitere Frage aber kann dafür gern ein neues Thema auf machen^^

Und Zwar habe ich einen Echtzeittimer eingebaut, in Tabelle 5 (Die ist für Hintergrundberechnungen) läuft nun also die Echtzeit mit die sich im 2 Sekundentakt aktualisiert.
Die Zeiten die sich dort vorne Eintragen verrechne ich mit der Ectzeit und erhalte einen Countdown der in Zelle A2 runterläuft.
Habe über bedingte Formatierung schon dafür gesorgt das sich die Zelle A2 im Hintergrund rot verfärbt und die Schrift weiß wird um darauf aufmerksam zu machen das der Countdown 0 erreicht hat.
Leider bringt mir das nicht viel wenn das Dokument minimiert ist.
Deshalb suche ich noch eine Möglichkeit das Libre bei Ablauf des Countdowns auf sich aufmerksam macht, PopUp oder Blinken in der Taskleiste z.B.
Gibt es da vielleicht eine Möglichkeit?

Librenoob81
Beiträge: 11
Registriert: Mi 22. Apr 2020, 20:21

Re: VBA anstelle von händischen Makro, Hilfe bitte.

Beitrag von Librenoob81 » Sa 2. Mai 2020, 16:18

Librenoob81 hat geschrieben:
Sa 2. Mai 2020, 14:21

P.S. ich habe noch eine weitere Frage aber kann dafür gern ein neues Thema auf machen^^

Und Zwar habe ich einen Echtzeittimer eingebaut, in Tabelle 5 (Die ist für Hintergrundberechnungen) läuft nun also die Echtzeit mit die sich im 2 Sekundentakt aktualisiert.
Die Zeiten die sich dort vorne Eintragen verrechne ich mit der Ectzeit und erhalte einen Countdown der in Zelle A2 runterläuft.
Habe über bedingte Formatierung schon dafür gesorgt das sich die Zelle A2 im Hintergrund rot verfärbt und die Schrift weiß wird um darauf aufmerksam zu machen das der Countdown 0 erreicht hat.
Leider bringt mir das nicht viel wenn das Dokument minimiert ist.
Deshalb suche ich noch eine Möglichkeit das Libre bei Ablauf des Countdowns auf sich aufmerksam macht, PopUp oder Blinken in der Taskleiste z.B.
Gibt es da vielleicht eine Möglichkeit?
Habe dazu eine Excellösung gefunden, geht das vielleicht mit Libre ähnlich mit einem Umweg über eine Funktion?

https://www.excel-inside.de/beispiele_v ... nn-starten

Mfg Dave

Librenoob81
Beiträge: 11
Registriert: Mi 22. Apr 2020, 20:21

Re: VBA anstelle von händischen Makro, Hilfe bitte.

Beitrag von Librenoob81 » Sa 2. Mai 2020, 16:52

Auch habe ich von der Aktivierung eines Markos Mithilfe eines Listeners gelesen.
Bei mir wäre der Wert nicht 1 sondern kleiner oder =0 aber das sollte ja eigentlich auch klappen oder?

Mfg Dave


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten