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
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 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • zmichael27
Top
#3
Herzlichen Dank, Uwe!   :98:

ich werde es nachher in Ruhe analysieren.

Gute Nacht.

LG Michael
Top


Gehe zu:


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