Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1612to1616
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Probleme bei FormulaR1C1 für variablen Bereich

Probleme bei FormulaR1C1 für variablen Bereich
15.03.2018 11:53:27
ThoScho
Hallo Zusammen
Habe da mal wieder ein kleines Problem.
Ich will mit einem Makro auf einem Arbeitsblatt im Bereich H2 bis zu einer variablen Tabellengröße eine Formel eintragen.
Ich haba mir diese Formel zusammengebaut:

Dim wks As Worksheet
Dim Zeile_T As Long, Zeile_1 As Long, Zeile_L As Long, Spalte As Long, Spa_L As Long
Dim abst As Long
abst = DateDiff("m", CDate(frmSprintabfrage.txtStartDate.Value), CDate(frmSprintabfrage. _
txtEndDate.Value)) + 8
letzte = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Set wks = Worksheets("Monat_auf_Sprint")
Spalte = 8
Zeile_T = 1
Zeile_1 = Zeile_T + 1
With wks
Spa_L = abst
Zeile_L = .Cells(.Rows.Count, Spalte).End(xlUp).Row
If Zeile_L >= Zeile_T Then
.Range(.Cells(2, 8), .Cells(letzte, abst)).FormulaR1C1 = _
"=MAX(NETWORKDAYS(MAX(R1C;RC2);MIN(R1C[1]-1;RC3))/NETWORKDAYS(R1C;R1C[1]-1);0)"
Else
MsgBox "Keine Daten ab Zeile " & Zeile_1, vbOKOnly, "Formeln einfŸgen"
End If
End With

Bekomme dabei allerdings immer einen Laufzeitfehler
Habe mir die Formel für den FormulaR1C1 Bereich aus der vorhandenen aber händische eingegebenen Formeln anzeigen lassen
Diese lautet:
=MAX(NETTOARBEITSTAGE(MAX(Z1S;ZS2);MIN(Z1S(1)-1;ZS3))/NETTOARBEITSTAGE(Z1S;Z1S(1)-1);0)
In der normalen Einstellung würde diese in einer Zelle so aussehen :
=MAX(NETTOARBEITSTAGE(MAX(H$1;$B2);MIN(I$1-1;$C2))/NETTOARBEITSTAGE(H$1;I$1-1);0)

Kann mir da vielleicht jemand weiterhelfen ?
Beste Grüße und schon einmal vielen Dank !

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme bei FormulaR1C1 für variablen Bereich
15.03.2018 12:30:38
Daniel
Hi
wenn du nicht Forumla..Local einsetzt, musst du die Formel durchgängig in der englischen Schreibweise schreiben, und dass heißt dann auch neben den englischen Funktionsnamen, R1C1 statt Z1S1 und Punkt als Dezimalzeichen dann auch Komma als Parametertrennzeichen anstelle des Semikolons.
ich empfehle, wenn man eine funktionierende Formel hat und diese per VBA in die Zelle schreiben will, sich den Formeltext im Direktfenster anzeigen zu lassen mit:
?Replace(Selection.FormulaR1C1, """", """""")
dann hat man nicht nur die korrekte Schreibweise, sondern hat auch gleich die Anführungszeichen gedoppelt und kann die Formel aus dem Direktfenster in den Code kopieren.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige