Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dynamischce Range bei Diagrammerstellung

Dynamischce Range bei Diagrammerstellung
06.02.2018 13:54:37
Dennis
Hallo zusammen,
ich bin relativ neu im VBA-Bereich und habe eine Frage bzgl. einer dynamischen Range für ein Diagramm.
Ich habe in einer Tabelle Daten. Diese werden per Makro in den Reiter "Produktivität" kopiert (geht wahrscheinlich auch schöner).
Aus diesen Daten möchte ich Diagramme erstellen. Da sich die Tabelle bei jedem Übertrag verlängert, soll auch das Diagramm angepasst werden. Bei der Makro-Erstellung klappt etwas nicht. Unten stehen die beiden Code.
Ich hoffe ihr könnt mir helfen. Vielen Dank im Voraus!!!
Makro-Datenübertrag:
Sub Datenuebertrag()
Dim Zelle As Long
Dim Ze As Long
Dim Zel As Long
Dim Zell As Long
Sheets("Eingabe").Range("C7:E12").Copy
With Sheets("Produktivität")
Zelle = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Range("A" & Zelle).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End With
Sheets("Eingabe").Range("C7:D12").Copy
With Sheets("Produktivität")
Zell = .Cells(.Rows.Count, 13).End(xlUp).Row + 1
.Range("M" & Zell).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End With
Sheets("Forecast").Range("L17:O22").Copy
With Sheets("Produktivität")
Ze = .Cells(.Rows.Count, 4).End(xlUp).Row + 1
.Range("D" & Ze).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End With
Sheets("Forecast").Range("L5:O10").Copy
With Sheets("Produktivität")
Zel = .Cells(.Rows.Count, 8).End(xlUp).Row + 1
.Range("H" & Zel).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End With
End Sub
Makro-Diagramm
Sub Diagramm()
Dim Zelle As Long
With Sheets("Produktivität")
Zelle = .Cells(.Rows.Count, 8).End(xlUp).Row
.Range("H4:Zelle").Select
ActiveSheet.Shapes.AddChart2(227, xlLine).Select
ActiveChart.SetSourceData Source:=Range("Produktivität!$H$4:Zelle")
End With
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Source:=
06.02.2018 14:03:51
Fennek
Hallo,
versuche es zuerst mit einer "intelligenten" Tabelle (strg-T). Falls das nicht klappt, kann man mit VBA den Source:=Range() setzen.
Versuche es mit dem Rekorder aufzuzeichnen.
mfg
AW: VBA Source:=
06.02.2018 14:12:09
Dennis
Hallo Fennek,
ja das habe ich schon versucht. Leider geht es nicht, weil die Daten dann nicht richtig kopiert werden.
AW: VBA Source:=
06.02.2018 15:26:57
Luschi
Hallo Dennis,
dann zeige doch mal eine Demodatei, damit man Dir helfen kann.
Mit den 'formatierten Tabellen' läßt es sich hervorragend programmieren, da sie viele
Eigenschaften/Methoden haben, die man per Vba abgreifen kann.
Gruß von Luschi
aus klein-Paris
Anzeige
VBA: Diagramm Datenbereich zuweisen
06.02.2018 16:55:43
Beverly
Hi Dennis,
deine Variable Zelle ermittelt nur einen numerischen Wert, sodass dein Zellbereich so aussieht: SpalteZeile1:Zeile2, der Zellbereich muss aber immer so aussehen: SpalteZeile1:SpalteZeile2 - bei dir fehlt also der Spaltenbuchstabe.
Sub Diagramm()
Dim Zelle As Long
With Sheets("Produktivität")
Zelle = .Cells(.Rows.Count, 8).End(xlUp).Row
With ActiveSheet.Shapes.AddChart2(227, xlLine).Chart
.SetSourceData Source:=Worksheets("Produktivität").Range("H4:H" & Zelle)
End With
End With
End Sub



Anzeige
AW: VBA: Diagramm Datenbereich zuweisen
08.02.2018 14:14:18
Dennis
Hallo Beverly,
vielen Dank für deine Hilfe (den anderen natürlich auch!). So funktioniert es. Ich habe noch eine weitere Frage. Ich möchte eine dynamische Formel einfügen. Die Formel lautet:
Cells(i, 7).FormulaLocal = "=D4&LEFT(B4;3)&LEFT(A4;2)"
die "4" soll durch das i ersetzt werden, allerdings komme ich nicht auf die richtige Schreibweise.

30 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige