Zellüberwachung und ändern einer anderen Zelle

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zellüberwachung und ändern einer anderen Zelle

Re: Zellüberwachung und ändern einer anderen Zelle

von dusdet » Do, 23.07.2015 12:29

Hallo clag,

herzlichen Dank für die Info. Diese Info brauchte ich noch. jetzt läuft das Makro.

Mit dem Druckbereich weiß ich nicht genau wie Du das meinst?
Ich möchte ja abhängig von der Veränderung einer Zelle (Zelle = Inhalt = 2-Seiten; Zelle = keinen Inhalt = 1-Seite) diese Seite/n dann komplett drucken.
Ich weiß nicht ob der Druckbereich so variabel ist. Bestimmt geht das auch per Makro und der Abfrage auf den Zellinhalt.
Aber ohne??

Gruß
dusdet

Re: Zellüberwachung und ändern einer anderen Zelle

von clag » Do, 23.07.2015 10:03

Hallo dusdet,
dusdet hat geschrieben:Muss man in der Tabelle noch irgend etwas tun um das Makro zu aktivieren oder es der Tabelle zuzuordnen?
ja, vermutlich hast du in deiner Tabelle das Makro noch nicht mit dem Tabellenereignis Inhalt geändert verknüpft,
dazu ein Rechtsklick mit der Maus im Tabellenblattregister auf den Reiter mit dem Tabellenblattnamen und im aufkommenden
Kontextmenü > Tabellenereignisse.. -Inhalt geändert > Zuweisen: [Makro] .... das gewünscht Makro zuordnen.

Hast du dir mal einen Druchbereich eingerichtet?
Damit kann man dein Anliegen doch eigentlich viel einfacher erzielen!

Re: Zellüberwachung und ändern einer anderen Zelle

von dusdet » Do, 23.07.2015 09:15

Hallo clag,
sorry, dass ich mich erst jetzt melde. Aber ich war kurzfristig ein paar Tage nicht im Lande.

Ich habe Deine Tabelle mit dem Makro jetzt noch mal getestet und auch die Sicherheit richtig eingestellt und schon funktioniert es.
Hierfür veilen dank. Ich habe Dein Makro auch verstanden wie es funktioniert.
Wenn ich es in Deiner Tabelle modifiziere geht es auch.
Wenn ich es dann in meine Tabelle einbaue und es entsprechend ändere funktioniert es aber nicht.
Muss man in der Tabelle noch irgend etwas tun um das Makro zu aktivieren oder es der Tabelle zuzuordnen?
Für einen kurzen Tipp wäre ich dankbar.

Gruß
dusdet

Re: Zellüberwachung und ändern einer anderen Zelle

von clag » Do, 16.07.2015 15:51

Hallo dusdet
dusdet hat geschrieben:dies ist doch auch eine Excel Tabelle oder? Ich habe hierin keine Veränderung erzeugen könne.
nein, das Beispiel ist ganz bestimmt keine excel Datei steht doch eigentlich deutlich dran Zelle_ueberwachen.ods
Die ausführung von Makros mußt du aber schon erlauben sonst kann das eingebaute Makro nicht tun was es soll.

Re: Zellüberwachung und ändern einer anderen Zelle

von clag » Do, 16.07.2015 15:41

Hallo dusdet,

wenn ich dich richtig verstehe kannst du dein Problem durch festlegen eines Druchbereich lösen.
Druckbereich.ods
(17.46 KiB) 168-mal heruntergeladen

Re: Zellüberwachung und ändern einer anderen Zelle

von dusdet » Do, 16.07.2015 15:22

P.S. Hallo clag,
dies ist doch auch eine Excel Tabelle oder? Ich habe hierin keine Veränderung erzeugen könne.
Gruß
dusdet

Re: Zellüberwachung und ändern einer anderen Zelle

von dusdet » Do, 16.07.2015 15:20

Hallo zusammen,
ich glaube ich muss mein Problem doch genauer erläutern damit Ihr versteht, dass ich keine Formel nutzen kann.
Ich habe eine OO Tabelle, die per Text Inhalte einfügen befüllt wrd und dann ausgedruckt werden soll.
Die Anzahl Zeilen ist immer unterschiedlich lang. Mal passen die Zeilen auf eine Seite und mal auf zwei Seiten.
Die Zeilen sind auf der ersten Seite per Format umrandet. Auf der zweiten Seite habe ich in allen Zellen eine
"Bedingte Formatierung" mit Formel, das in Abhängigkeit der ersten Zelle auf der zweiten Seite auch alle Zelle
der zweiten Seite gefüllt werden.
Jetzt kommt das Problem. Ich möchte alle Zeilen auf der zweiten Seite drucken auch wenn Sie nicht gefüllt sind, sondern auch
wenn nur eine oder mehrere Zeilen befüllt sind.
Deshalb möchte ich die erste Zelle der zweiten Seite überwachen und in Abhängigkeit ob sie leer oder befüllt ist die letzte Zelle der zweiten Seite mit einem Text beschreiben, den ich dann in der Farbe weiß einfärbe.

So soll die zweite Seite vollständig (mit Rahmen) nur gedruckt werden wenn Text auf der Seite steht.
Alle meine Bemühungen dies über Druckoptionen zu regeln sind fehlgeschlagen. Auch kann man in der letzten Zelle der zweiten Seite keine Formel rein machen, dann wird sie immer gedruckt.

Ich hoffe ich habe mich so ausgedrückt, dass es verständlich ist.
Mit dem Makro in VBA funktionert das wunderbar. Deshalb dachte ich mir, es kann mir jemand helfen es im OO Makro umzuwandeln.
Vielen Dank und Gruß
dusdet

Re: Zellüberwachung und ändern einer anderen Zelle

von clag » Do, 16.07.2015 12:47

Hallo dusdet,

habe dir mal eine Beispieldatei erstellt, wie man die direkter Eingabe in einer Zelle überwachen kann.
Zelle_ueberwachen.ods
(10.45 KiB) 484-mal heruntergeladen
hilft dir das ?

Re: Zellüberwachung und ändern einer anderen Zelle

von Karolus » Do, 16.07.2015 09:55

dein Problem lässt sich trotzdem, wie von Komma4 bereits vorgeschlagen, mit der Formel in A10 erschlagen:

Code: Alles auswählen

=WENN(A1="";"";"2. Seite")
Dein VBA-code tut nach meinem Verständniss exakt das gleiche wie die Formel

Re: Zellüberwachung und ändern einer anderen Zelle

von clag » Do, 16.07.2015 08:11

Hallo dusdet,

man kann Tabellblatt-Ereignisse mit Makros verknüpfen zB "Inhalt geändet" ,
wie man das konkret umsetzt hängt etwas von der Aufgabenstellung ab.

Was soll überwacht werden
ein geändertes Formelergebnis
der Zugriff generel zur überwachten Zelle (man kann den gleichen Inhalt erneut eingeben oder rein kopieren)
ein tatsächlich abweichender Eintrag

was soll in der anderen Zell passieren
beliebige Zugriffe auf die überwachte Zelle zählen
vorher nachher Inhalt verarbeiten
????

Re: Zellüberwachung und ändern einer anderen Zelle

von dusdet » Do, 16.07.2015 07:43

Hallo Komma4,
vielen Dank für Deine Wünsche.

Gibt es vielleicht hier im deutschen Forum jemanden der mir helfen kann das VBA Makro für OO zu übersetzen?
Hier noch mal meine kleine Codestrecke:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a1")) Is Nothing Then meinmakro
End Sub

Sub meinmakro()
Dim zeichen As String
Dim leer As String
leer = ""
zeichen = "2.seite"
If Range("a1") = "" Then
Range("a10") = leer
Else
Range("A10") = zeichen
End If
End Sub

Viele Dank und Gruß
dusdet

Re: Zellüberwachung und ändern einer anderen Zelle

von komma4 » Mi, 15.07.2015 23:46

OK, das ist nicht so einfach wie bei MS, dafür braucht es einen Listener...

Dein Suchbegriff ist com.sun.star.chart.XChartDataChangeEventListener

Im englischen AOO Community Forum findest Du Beispiele.


Viel Erfolg!

Re: Zellüberwachung und ändern einer anderen Zelle

von dusdet » Mi, 15.07.2015 22:46

Hallo Komma4,
Danke für Deine Antwort.
Mir ist die Möglichkeit der Formel die Du mir vorschlägst bekannt.
Ich brauche aber eine Möglichkeit per Makro in Abhängigkeit der Veränderung einer Zelle
eine andere Zelle zu verändern.
Vielleicht hat jemand eine Idee wie ich das Excel Makro in OO umschreiben kann.
Gruß detdus

Re: Zellüberwachung und ändern einer anderen Zelle

von komma4 » Mi, 15.07.2015 17:35

Willkommen im Forum.

Dafür braucht es kein Makro, die Formel
=WENN(A1="";"";"2. Seite") in A10 genügt.

Wenn Du Dich in StarBasic einarbeiten willst:

StarBasic FAQ

Andrews Makro-Dokument

und ein Objekt-Inspektions-Tool, wie
MRI

Zellüberwachung und ändern einer anderen Zelle

von dusdet » Mi, 15.07.2015 17:27

Hallo zusammen,
da ich hier neu im Forum bin hoffe ich keinen Fehler zu machen. Sollte dies der Fall sein, dann unterstützt mich bitte. Danke.

Ich habe folgendes Problem:
Ich möchte die Veränderung einer Zelle überwachen und bei Änderung (Einfügung durch Eingabe oder Kopierung) einer anderen Zelle einen Wert zuweisen.
Für Excel habe ich hierzu folgendes Makro geschrieben:

Code: Alles auswählen

  Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("a1")) Is Nothing Then meinmakro
  End Sub

  Sub meinmakro()
   Dim zeichen As String
   Dim leer As String
   leer = ""
   zeichen = "2.seite"
   If Range("a1") = "" Then
      Range("a10") = leer
   Else
     Range("A10") = zeichen
   End If
  End Sub
Kann mir jemand helfen wie ich das in OO übersetzen kann?
Vielen Dank im Voraus
dusdet


Moderation,4: CODE tags gesetzt

Nach oben