PDA

Vollständige Version anzeigen : Probleme mit NETWORKDAYS


nur_45
14.09.2011, 10:30
Hallo,
ich müßte in eine Tabelle an verschiedenen Stellen (versch. Schleifen) die entsprechende Formel einfügen.
Ich bin leider zu doof dafür drum wende ich mich an euch:
das funktioniert:
Cells(zz, x_end + 1).FormulaLocal = "=NETWORKDAYS(H" & zz & ";" & "i3)"
JEOCH wie schreibt man es, wenn man für H, i und 3 ebenfalls Variable einsetzen möchte:
???????

Cells(zz, x_end + 1).FormulaLocal = "=NETWORKDAYS(Cells(y_H, zz) ";"Cells(y_i, zz;Range(Cells(y_Ftag_ab, x_Ftag) Cells(y_Ftag_bis, x_Ftag)"

???????

HILFE - ich kann diese Nuss nicht knacken - DANKE für die Lösung

only Coding
14.09.2011, 19:34
Hallo, nur_45,

Du solltest Dir bei Gelegenheit die Grundlagen zu den Cells- und Range-Eigenschaften ansehen und darauf achten, dass die Verknüpfung dieser Angaben durch ein kaufmännisches Und (&) geschehen sollte.

Da Du selbst nur die Zellbezeichnungen verwendest hast, gehe ich davon aus, dass sich in diesen Zeilen Zahlenwerte für die Befüllung der Wertepaare befinden (bei Buchstaben gibt´s einen Laufzeitfehler für den Zeilenwert, der Spaltenwert wird bei Cells auch als Text akzeptiert). Dann könnte die Anweisung wie folgt aussehen:

Cells(zz, x_end + 1).FormulaLocal = "=NETWORKDAYS(" & Cells(y_H, zz).Value & zz & ";" & Range(Cells(y_Ftag_ab, x_Ftag).Value, Cells(y_Ftag_bis, x_Ftag).Value) & ")"
Die Angaben Value hinter den Zellangaben sind die Standardeigenschaft für Cells und könnten weggelassen werden.

HTH
only Coding

nur_45
15.09.2011, 07:58
danke dass du dich meines Problems angenommen hast...
Leider bin nicht nur schwach beim VBA-Programmieren sondern auch noch schlecht beim Beschreiben meines Problems.....
Neuer Versuch:

Cells(zz, x_end + 1).FormulaLocal = "=NETWORKDAYS(I3:H3)" --> ist OK
Cells(zz, x_end + 1).FormulaLocal = "=NETWORKDAYS(I" & zz & ":" & "H3)" --> das funktioniert auch noch...variable zz steht für 3

dieser Zellenbezug
"(I3:H3)" *)
ändert sich innerhalb der Scheifen (for - next) mal auf z.B.
"(I3:F3)", "(I4:H4)", "(I4:F4)", "(J5:F5)" usw.

*) d.h. ich möchte für den Spaltenbezug (I) und (H) und für (3) im Makro durch "Schleifen"Variablen (oder wie man so etwas nennt) ersetzen und diese Variablen sollten dann in der Tabelle so zurückgeschrieben werden, dass dann wieder wie folgt stehen:
Cells(zz, x_end + 2).FormulaLocal = "=NETWORKDAYS(I3:F3)"
Cells(zz + 1, x_end + 3).FormulaLocal = "=NETWORKDAYS(I4:H4)"
Cells(zz + 2, x_end).FormulaLocal = "=NETWORKDAYS(I4:F4)"
Cells(zz, x_end + 1).FormulaLocal = "=NETWORKDAYS(J5:F5)"

Vielleicht kannst du mir nochmals helfen - VIIIIIELEN DANK

hary
15.09.2011, 08:44
Hallo
ungetestet!
"=NETWORKDAYS(" & Cells(zz, a).Address(False, False) & ";" & Cells(zz, b).Address(False, False) & ")"
gruss hary

only coding
15.09.2011, 08:50
Hallo, nur_45,

im Gegensatz zu hary fehlt mir der Bezug, in welche Spalte und Zeile welche Formel zu einem Zellenpaar eingetragen werden soll.

zz steht wohl für Zeilenzähler, aber warum einmal ein Bezug zu Zeile 3 (erste Angabe) und einmal ein Bezug zu Zeile 5 (letzter Eintrag) vorkommt, kann ich aus den gemachten Angaben nicht entnehmen.

Gruß
only Coding

nur_45
15.09.2011, 14:01
du bist Spitze - funktioniert zu 100%

Hast mir jede Menge Zeit eingespart - VIIIIIEEEELEN DANK