2017-01-31 4 views
1

Ich habe folgende Formel in Excel, wo ich Countif mit dynamischen Bereich anwenden. Wenn ich diese Formel im Makro anwende, ergibt dies keinen Wert, stattdessen wird der Bereich von einem einfachen Anführungszeichen (') abgedeckt.Excel VBA Formel mit Dynamikbereich funktioniert nicht

Cells(XRow, 3).Formula = "=COUNTIF(" & Range(Cells(6, 5), Cells(YRow - 1, 5)).Address(0, 0) & " ,RC[-1])" 

Dies ist, was ich in der Zelle erhalten

=COUNTIF('E6':'E212',B6) 

Ich bin nicht sicher, warum Apostroph die Zelle ‚E6‘ besetzen, wenn ich 'manuell aus der Zelle zu entfernen, funktioniert es. Jede Hilfe würde sehr geschätzt werden.

+0

Ich werde es erraten, weil Sie beide A1 Referenz Stil und R1C1 in der gleichen Formel zu verwenden versuchen, . – Dave

+0

@Dave Danke! – Manish

Antwort

2

Sie mischen Arten von Referenzen xlA1 und xlR1C1:

verwenden:

Dim Rg As Range 
Set Rg = Cells(XRow, 3) 
Rg.Formula = "=COUNTIF(" & Range(Cells(6, 5), Cells(YRow - 1, 5)).Address(0, 0) & "," & Rg.Offset(0, -1).Address(0, 0) & ")" 
+1

Vielen Dank, es funktioniert, wie Sie vorgeschlagen haben! – Manish