Seite 1 von 1

Die aktive Zelle auf Wahr prüfen mit If Then Else

Verfasst: Sa, 11.03.2006 16:40
von euroandi
Ich möchte in einem Macro die aktive Zelle auf Wahr prüfen.


If ??????? = True Then

bei Excel (Selection)


Gruß Andi

Verfasst: Sa, 11.03.2006 21:55
von Stephan

Verfasst: Di, 14.03.2006 14:34
von euroandi
Ich habe diese Webseite schon ausführlich durchgesehen,
leider hat es mich nicht viel weiter gebracht.

Ich möchte in einem Macro die aktive Zelle auf Wahr prüfen.

Ich habe eine Liste und dazu eine Seite mit Etiketten.
Ich möchte automatisch Etiketten drucken lassen, da aber die Liste unterschiedlich viele Einträge haben kann, müssen auch unterschiedlich viele Seiten geruckt werden.

Mein Ansatz ist in eine Zelle eine Formel zu schreiben
z.B =wenn(Isttext(A1);"Wahr";"")

und im Macro diese Zelle Überprüfen mit

IF ????????=true Then

(Seite Drucken)

else


end if

Vielen Dank im Vorraus

Gruß
Andi

Verfasst: Di, 14.03.2006 18:49
von Stephan
Ich habe diese Webseite schon ausführlich durchgesehen,
leider hat es mich nicht viel weiter gebracht.
Wenn das der Fall ist werde auch ich Dir kaum weiterhelfen können, denn ich kann das Rad nicht neu erfinden und wenn Du die gesamte Webseite durchgesehen hast dürfte es keine Probleme mehr geben, denn Michaels FAQ ist hervorragend.

Trotzdem versuche ich es:
Ich möchte in einem Macro die aktive Zelle auf Wahr prüfen.

Mein Ansatz ist in eine Zelle eine Formel zu schreiben
z.B =wenn(Isttext(A1);"Wahr";"")
Ja, Du kannst Das so machen, allerdings wird dann die Zelle nicht auf Wahr (Boolean) sondern nur auf Vorhandensein des Strings "Wahr" geprüft.

Somit:
*zuerst die aktuelle Zelle finden und auslesen, siehe:
http://www.dannenhoefer.de/faqstarbasic ... nenBe.html
also:

Code: Alles auswählen

odoc=thisComponent
oZelle=oDoc.getCurrentSelection()
*dann den Wert der Zelle auslesen, in Deinem Fall ein String, siehe:
http://www.dannenhoefer.de/faqstarbasic ... elle..html
http://www.dannenhoefer.de/faqstarbasic ... hreib.html
also:

Code: Alles auswählen

wert = oZelle.String
*und das Ganze nun noch in Dein Gerüst:

Code: Alles auswählen

If wert = "Wahr" Then
(Seite Drucken) 

else 


end if 

oder ebend zusammengefasst:

Code: Alles auswählen

if thisComponent.getCurrentSelection().String = "Wahr" Then
(Seite Drucken) 

else 


end if
Aber wie bereits gesagt, Du hast es ja schon gelesen wenn Du:
Ich habe diese Webseite schon ausführlich durchgesehen,

so das es Dir wohl kaum weiterhelfen wird wenn ich es hier nochmal wiederholt habe.



Gruß
Stephan

Verfasst: Di, 14.03.2006 19:57
von euroandi
Vielen Dank Stephan,

so funktioniert es, wenn die Formel das Wort Wahr schreibt z.B:
=WENN(ISTZAHL(A1);"Wahr";"") und die Zelle markiert ist oder im Macro die Zelle zuvor angesprochen wird.
Ich habe noch einmal alles zusammen gestellt .

Code: Alles auswählen

odoc=thisComponent 
oZelle=oDoc.getCurrentSelection()
wert = oZelle.String
if thisComponent.getCurrentSelection().String = "Wahr" Then

rem ----------Drucken-----
dim args34(2) as new com.sun.star.beans.PropertyValue
args34(0).Name = "Copies"
args34(0).Value = 1
args34(1).Name = "Selection"
args34(1).Value = true
args34(2).Name = "Collate"
args34(2).Value = false

dispatcher.executeDispatch(document, ".uno:Print", "", 0, args34())


else 


end if

Danke

Gruss
Andreas

Verfasst: Mi, 15.03.2006 13:23
von ykcim
Entweder:

Code: Alles auswählen

oZelle=oDoc.getCurrentSelection()
wert = oZelle.String
if wert = "Wahr" Then 
oder nur

Code: Alles auswählen

if thisComponent.getCurrentSelection().String = "Wahr" Then 
Beides zusammen ist nicht sonderlich sinnvoll. Da Du Wert nicht weiter abfragst.
:wink:

mfg
Michael