1
Ich frage mich, warum mein Code nichtautomatisch aktualisiert Diagramm in VBA
Sheets("Chart").Activate
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("A" & Rows.Count).End(xlUp).Offset(1).Value = Date
For i = 2 To FinalRow
If Cells(i, 1).Value = Date Then
Cells(i, 2).Value = Sheets("Main Sheet").Range("D2").Value
Cells(i, 4).Value = Sheets("Main Sheet").Range("D3").Value
End If
Next i
Die Schleife erscheint Arbeits den Datumswert in Spalte A platziert zu ignorieren bin ich etwas fehlt?
Sie sollten alle Ihre 'Zellen()' mit einem Arbeitsblatt-Objekt qualifizieren, da sie sich auf die aktive Standard Blatt. –
Auch Qualität der 'Rows.Count' mit dem Blatt, auf dem die Zeilenanzahl erwartet wird. – BruceWayne
Genau genommen brauchen Sie die Verweise auf Zellen und Zeilen nicht zu qualifizieren, nachdem Sie das Blatt, an dem Sie gerade arbeiten, aktiviert haben. Es wird keinen Unterschied machen, wie Ihr Code funktioniert. Es ist jedoch eine bessere Vorgehensweise, da Code einfacher zu lesen und sicherer ist, da Sie nicht immer sicherstellen müssen, dass das richtige Blatt aktiv ist, wenn Sie Änderungen am Code vornehmen. Wenn Sie die Blätter nicht aktivieren müssen, wird auch die Leistung verbessert. – Michael