Hallo zusammen,
ich möchte mit dem folgenden Code Daten aus einem Array ins Tabellenblatt schreiben:
Sub Aray()
Dim arr()
Dim Size As Integer
Dim i As Integer
Size = WorksheetFunction.CountA(Worksheets(1).Columns(1))
ReDim arr(Size)
For i = 0 To Size
arr(i) = "=VERGLEICH(RECHTS(F3;6)*1;RECHTS('[Datenbasis.xlsm]Datenbasis'!$B:$B;6)*1;0)"
Next i
Worksheets(1).Range("AB3").Resize(Size).FormulaLocal = arr
End Sub
Dabei kommt es zu einem Fehler - nämlich die Formel wird nicht 1zu1 in die Zelle geschrieben sondern es wird ein @-Zeichen mit eingefügt, wo auch immer dies herkommt.
Also:
=VERGLEICH(RECHTS(F3;6)*1;RECHTS(@'[Datenbasis_RD119 .xlsm]Datenbasis'!$B:$B;6)*1;0)
statt
=VERGLEICH(RECHTS(F3;6)*1;RECHTS('[Datenbasis_RD119 .xlsm]Datenbasis'!$B:$B;6)*1;0)
Es gibt doch sicherlich eine Erklärung wo das @-Zeichen herkommt und wie ich das unterdrücken kann ohne
dass ich jetzt im Nachgang das @-Zeichen durch eine weitere Funktion löschen muss.
Und dann noch generell die Frage, kann ich eigentlich die Formel im Array selbst berechnen lassen/ eintragen lassen, also dass nicht die Formel an sich selbst sondern deren Ergebnis direkt in Excel bzw. ins Array eingetragen wird.
Über eine Hilfestellung wäre ich sehr dankbar.
Gruß Astis