zelleninhalt bei makro verwenden

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: zelleninhalt bei makro verwenden

Re: zelleninhalt bei makro verwenden

von Soge » Di, 20.10.2009 18:03

ok nach ein wenig tüfteln hats funktioniert

Danke an alle die gehlofen haben


mfg
Soge

thema kann geschlossen werden

Re: zelleninhalt bei makro verwenden

von Soge » Di, 20.10.2009 17:54

hmmm habs zwar wegbekommen
gibt auch keinen fehler mehr aus aber

der wechselt die tabelle nicht

mfg
Soge

Re: zelleninhalt bei makro verwenden

von Soge » Di, 20.10.2009 17:30

ok

und wie genau stell ich des an?
kann ich da einfach eine if schleife nehmen?
oder ein case switch verfahren wie bei c++?


mfg
Soge

Re: zelleninhalt bei makro verwenden

von turtle47 » Di, 20.10.2009 16:42

Hallo Soge,

genau so habe ich mir das gedacht. :?

Das kann so nicht funktionieren weil Du eine falsche Angabe gemacht hast:
Soge hat geschrieben:kleines bsp:
Tabelle1 A1 inhalt: Tabelle2.$C$5
Dort steht aber: $Tabelle2.$C$5, respektive bei Deiner Datei "$alpha.$B$3" und das ist eben das Entscheidende.
Dann kann die Tabelle nicht gefunden werden weil es eben keine Tabelle "$alpha.$B$3" gibt. 8)
Zuerst muss Du noch das Dollarzeichen eliminieren, dann funktioniert auch

Code: Alles auswählen

blatt2=ThisComponent.sheets.getbyName(a(1))
Jürgen

Re: zelleninhalt bei makro verwenden

von Soge » Di, 20.10.2009 15:22

ok also ich hab jetzt schon ein wenig rumgebalstelt weil das oben genannte nicht funktioniert hat
nun häng ich noch am tabellenwechsel fest

makro ist im bsp eingebettet.... aber an der stelle

Code: Alles auswählen

dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Nr"
args3(0).Value= bziel
'msgbox """" & args3(0).Value & """"

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3())
muss noch ein fehler sein. wenn ich z.b

Code: Alles auswählen

dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Nr"
args3(0).Value= 5
'msgbox """" & args3(0).Value & """"

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3())
schreib funktioniert es. bziel ist der zelleninhalt von einer zelle die mir die tabellennummer liefert.
das scheint mir nun das leztzte problem zu sein ^^

mfg
Soge
Dateianhänge
bsp.ods
(12.87 KiB) 268-mal heruntergeladen

Re: zelleninhalt bei makro verwenden

von turtle47 » Di, 20.10.2009 14:52

Hi,
Soge hat geschrieben:bei dem unteren hab ich jetzt schon wieder einen neuen fehler bei

Code: Alles auswählen
blatt2=ThisComponent.sheets.getbyName(LTRIM(a(0))) 'neue Tabelle anwählen
Dann wird der Name für die Tabelle nicht richtig übergeben.

Am besten ladest Du eine Beispieldatei hier mal hoch, damit man sich das mal anschauen kann was da nicht funktioniert.
Bei mir ist der Code einwandfrei durchgelaufen.

Jürgen

Re: zelleninhalt bei makro verwenden

von Soge » Di, 20.10.2009 14:20

hi

also das mit der msgbox hat funktioniert und es wird auch das richtige angezeigt ohne irgenwelchen leerzeichen.

bei dem unteren hab ich jetzt schon wieder einen neuen fehler bei

Code: Alles auswählen

blatt2=ThisComponent.sheets.getbyName(LTRIM(a(0))) 'neue Tabelle anwählen
BASIC-Laufzeitfehler
Es ist eine Exception aufgetreten
Type: com.sun.star.container.NoSuchElementExpection
Message: .

mfg
Soge

Re: zelleninhalt bei makro verwenden

von turtle47 » Mo, 19.10.2009 23:08

Hi Soge,

kann es sein, dass sich vor oder hinter "Tabelle2.$C$5" vielleicht noch ein Leerzeichen ist, also " Tabelle2.$C$5 "?
Dann wird die Tabellenangabe " Tabelle2" oder die Zellangabe "falsch" ausgeben und somit nicht erkannt.

Schau Dir das Ganze mal mittels

Code: Alles auswählen

sub zelle
Dim aResult as variant
blatt=ThisComponent.sheets.getbyName("Tabelle1") 'erste Tabelle
azelle=blatt.getcellrangebyname("A1") 'Zelle aus der Du auslesen willst
ziel=azelle.string 'Inhalt der Zelle
a()=split(ziel,".") 'Zelle aufteilen in Tabelle und Zelle
msgbox """" & (a(0)) & """"
msgbox """" & (a(1)) & """"
End Sub
an oder versuche mal folgenden ganzen Code:

Code: Alles auswählen

sub zelle
Dim aResult as variant
blatt=ThisComponent.sheets.getbyName("Tabelle1") 'erste Tabelle
azelle=blatt.getcellrangebyname("A1") 'Zelle aus der Du auslesen willst
ziel=azelle.string 'Inhalt der Zelle
a()=split(ziel,".") 'Zelle aufteilen in Tabelle und Zelle
blatt2=ThisComponent.sheets.getbyName(LTRIM(a(0))) 'neue Tabelle anwählen
zZelle=blatt2.getCellRangeByName(RTRIM(a(1))) 'neue Zelle anwählen
zZelle.formula="vollkommen egal was" 'Inhalt setzen
end sub
Viel Erfolg.

Jürgen

Re: zelleninhalt bei makro verwenden

von Soge » Mo, 19.10.2009 22:21

kann mir sonst irgendwer helfen bin schon fast am verzweifeln

würde mich freuen ^^

mfg

Re: zelleninhalt bei makro verwenden

von Soge » Fr, 16.10.2009 12:30

gleiches problem bei a(0)
daran lags also nicht

mfg

Re: zelleninhalt bei makro verwenden

von Karolus » Fr, 16.10.2009 12:26

Hallo
Normalerweise sollte a(0) den Tabllennamen liefern und a(1) die Zelladresse...

Gruß Karo

Re: zelleninhalt bei makro verwenden

von Soge » Fr, 16.10.2009 12:15

hi ich nochmal ^^

also irgendwas stimmt noch nicht ganz bei der zeile
blatt2=ThisComponent.sheets.getbyName(a(1)) 'neue Tabelle anwählen
bekomm ich die fehlermeldung:

Unzulässiger Wert oder Datentyp
Index außerhalb des definierten Bereichs

....was sagt mir das jetzt?

mfg
Soge

Re: zelleninhalt bei makro verwenden

von Soge » Fr, 16.10.2009 11:42

vielen dank werd ich gleich mal testen :)

mfg
Soge

zelleninhalt bei makro verwenden

von Soge » Fr, 16.10.2009 00:21

Hi,

ich brauch ein makro mit dem ich eine zelle auslesen kann in der eine adresse einer anderen zelle steht und auf die zelle zugreif die die die adresse angibt damit ich dort etwas reinspeichern oder auslesen kann.

kleines bsp:
Tabelle1 A1 inhalt: Tabelle2.$C$5
jetzt brauch ich ein makro dass auf Tabelle2.$C$5 zugreift, aber der inhalt in A1 ändert sich, also später ist es vielleicht "Tabelle2.$B$3", denn die adresse wird über mehrere ausschlussverfahren geschrieben.

hoffe es war verständlich geschrieben ^^

danke schonmal im vorraus

mfg
Soge

Nach oben