Ich arbeite an einer Liste und alle Berechnungen auf VBA, aber wenn ich meine Liste in den vordefinierten Bereich schreiben möchte, bekomme ich nichts. Das Folgende ist ein Beispiel für den Code, den ich verwende. Ich poste nicht den tatsächlichen Code, weil es lang ist, aber dieses Beispiel hat das gleiche Problem.Schreiben von einem Array in einen Bereich
Option Explicit
Sub readArray()
Dim CoGrade() As Variant
Dim LastRow As Integer
Dim NPSeQuedan() As Variant
Dim SeQuedanRng As Range
'erases information from arrays if there was any
Erase CoGrade
Erase NPSeQuedan
'-------------------------------------------------------------------------
'find the last row on the data i want to read
LastRow = Range("b10000").End(xlUp).Row
'the relevant data starts on row 34
ArrayRows = LastRow - 34 + 1
'redifines the variables with the total numbers of stocks in the portfolio
ReDim CoGrade(ArrayRows, 1)
ReDim NPSeQuedan(ArrayRows, 1)
'reads each relevant number into its proper variable
CoGrade = Range(Cells(34, 2), Cells(LastRow, 2))
'' test
Set SeQuedanRng = Range(Cells(34, 13), Cells(34 + ArrayRows - 1,
13))
For a = 1 To ArrayRows
NPSeQuedan(a, 1) = CoGrade(a, 1)
Next
SeQuedanRng.Value = NPSeQuedan
'''
end sub
Bitte geben Sie eine [MCVE]. Sie haben zahlreiche nicht deklarierte und scheinbar nicht initialisierte Variablen (selbst keine gute Programmierpraxis) zusammen mit einer Tabelle, deren Inhalt nicht beschrieben ist. Es ist unmöglich herauszufinden, was hier passiert. –
Danke John, Entschuldigung faul von meinem Teil nicht das ganze Ding kopieren und (Überraschung) Ich bin kein Programmierer selbst, also muss ich alle schlechten Coding Gewohnheiten in der Welt haben. – Frank
Sie müssen nicht alles kopieren - geben Sie nur ein einzelnes * in sich abgeschlossenes * Sub, das das Problem veranschaulicht. Als Vermutung hat das Problem etwas damit zu tun, wie Sie die Variablen deklarieren und initialisieren - was genau Sie nicht zeigen. –