Umsetzung: Makroaufzeichnung in VBA-Code
#1
Hallo an alle,

stehe kräftig auf dem Schlauch und habe keinen Plan, was ich tun kann: Huh

Folgende Zeile stammt von der Makroaufzeichnung für die Formel "Vergleich".

'ActiveCell.FormulaR1C1 = "=MATCH(R[-1]C[-12],R[2]C[-12]:R[22]C[-12],1)"


Wie bekomme ich es gebacken, dass das Ergebnis, statt in eine Zelle, in eine Variable geschrieben wird.

Ich würde mich sehr freuen, wenn Ihr mir den Weg zeigen könntet. 19

LG Michael
Antwortento top
#2
Hallo Michael,

Code:
Sub aaa()
 Dim C(1 To 3) As Long, R(1 To 3) As Long
 Dim varErgebnis As Variant
 
 'ActiveCell.FormulaR1C1 = "=MATCH(R[-1]C[-12],R[2]C[-12]:R[22]C[-12],1)" entspricht
 C(1) = -12
 C(2) = -12
 C(3) = -12
 R(1) = -1
 R(2) = 2
 R(3) = 22
 With ActiveCell
   varErgebnis = Application.WorksheetFunction.Match( _
           Cells((.Row + R(1)) - (.Row + R(1) <= 0) * Rows.Count, (.Column + C(1)) - (.Column + C(1) <= 0) * Columns.Count), _
     Range(Cells((.Row + R(2)) - (.Row + R(2) <= 0) * Rows.Count, (.Column + C(2)) - (.Column + C(2) <= 0) * Columns.Count), _
           Cells((.Row + R(3)) - (.Row + R(3) <= 0) * Rows.Count, (.Column + C(3)) - (.Column + C(3) <= 0) * Columns.Count)), 1)
 End With
 MsgBox varErgebnis
End Sub

Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
  • zmichael27
Antwortento top
#3
Herzlichen Dank, Uwe!   98

ich werde es nachher in Ruhe analysieren.

Gute Nacht.

LG Michael
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste