Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
260to264
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
260to264
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe: Konflikt bei Makros

Hilfe: Konflikt bei Makros
28.05.2003 21:01:43
Daniel
Hallo Zusammen,
ich weiß nicth genau wie ich mein Problem richtig erklären soll.
Ich habe in meiner Excel Datei zwei Makros. Das eine ist dazu da, das sich die Charts in verschiedenen Tabellenblättern aktualisieren. Das sieht so aus:

Sub DiaAkt()
'
Dim chrtObj As ChartObject
Dim chrt As Chart
Dim ws As Worksheet
Set ws = ActiveSheet
Dim lCRow As Long
Dim srcRange As Range

' Anzahl Zeilen in Spalte B ermitteln
lCRow = 65536
If ws.Cells(65536, 2).Value = "" Then lCRow = Cells(65536, 2).End(xlUp).Row
' SourceRange-Definition - Der SourceRange wird auf die abgegebenen Werte gesetzt
' momentan: Cells(1,1) - Zelle in Spalte 1, Zeile 1 oder auch A1
' Cells(lCRow, 2) - Zelle in Spalte B, Zeile lCRow, z.B. B200
' dieser Bereich wird für ALLE nachfolgenden Zuweisungen verwendet, KEIN Diagramm
' erhält andere Quellwerte ! Wenn dies gewünscht ist, muss vor jeder weiter unten
' vorgenommenen Zuweisung ( SetSourceData Source:=srcRange) der srcRange verändert werden
Set srcRange = ws.Range(Cells(1, 1), Cells(lCRow, 2))
' durchlaufen aller evtl. vorhandenen ChartObjekte aller
' worksheets, Abgleich mit worksheetnamen und Chartnamen
' um das betreffende ChartObjekt zu identifizieren
For Each ws In ActiveWorkbook.Worksheets
For Each chrtObj In ws.ChartObjects
' Vergleich jedes ChartObjektes mit dem entsprechenden Namen
' über select ... end select, erweiterbar wenn mehrere Blätter / Charts Charts vorhanden sind
Select Case ws.Name
Case "Tabelle1"
Select Case chrtObj.Name
' Standardmässig erhält jedes Diagramm den Namen 'Chart 1' oder 'Diagramm 1'
' sofern es einen anderen Namen erhält, diesen entsprechend hier berücksichtigen
Case "Chart 1"
' Zuweisung der SourceData
chrtObj.Chart.SetSourceData Source:=srcRange
' .... ggfls.weitere Charts
End Select
' .... ggfls. weitere worksheets
End Select
Next chrtObj
Next ws
End Sub

So. Dies geht bei allen Charts bis ich folgendes Makro ausführe.
Dabie geht es darum Zeilen zu kopieren. Dann aktualisieren sich alle Charts, außer diejenigen die sich auf die zwei Tabellenblätter beziehen, in denen die Zeilen hineinkopiert werden. Hier das Makro:

Sub Zeilen_kopieren()
Dim ws As Worksheet
Dim wb As Workbook
Dim i As Long, j As Long, y As Long
Dim rng As Range, r As Range

Set wb = ActiveWorkbook
' Tab2 und 3 leeren
Set ws = wb.Worksheets("Winning Trades Data")
ws.Rows.Clear
Set ws = wb.Worksheets("Losing Trades Data")
ws.Rows.Clear

Set ws = wb.Worksheets("Data")
y = 65536
With ws
' korrekte Spalte verwenden - war vorher 9, jetzt 11 !
' Ursache ? - evtl. ausgeblendete Spalten nicht mitgezählt ?
If .Cells(.Rows.Count, 9) = "" Then y = .Cells(.Rows.Count, 9).End(xlUp).Row
Set rng = .Range(.Cells(1, 9), .Cells(y, 9))
End With
i = 1
j = 1
For Each r In rng
Select Case r.Value
Case Is > 0
r.EntireRow.Copy (wb.Worksheets("Winning Trades Data").Cells(i, 1))
i = i + 1
Case Is <= 0
r.EntireRow.Copy (wb.Worksheets("Losing Trades Data").Cells(j, 1))
j = j + 1
Case Else
' do nothing
End Select

Next r
End Sub

Wie muss ich vorgehen, damit sich ALLE Charts aktualisieren?
Was löst diesen Konflikt aus?

Ich hoffe ihr könnt mir helfen,
Daniel

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Hilfe: Konflikt bei Makros
28.05.2003 23:55:18
xxx

Hallo Daniel,
die gleiche Frage hattest du heute Vormittag schon gestellt. Anscheinend kann keiner was damit anfangen, sonst hättest du bestimmt eine Antwort erhalten. Wenn man die genaue Struktur deiner Mappe nicht kennt, ist es sehr schwer, wenn nicht unmöglich, nachzuvollziehen was da passiert. Es liegt bestimmt nicht am mangelhaften Willen der Antworter, dass du noch keine Antwort erhalten hast. Versuche, deine Frage neu zu formulieren.

Gruß aus'm Pott
Udo

Re: Hilfe: Konflikt bei Makros
29.05.2003 09:39:10
andre

hallo daniel,
habe den code nur mal kurz überflogen. die ursache könnte darin liegen, dass du am anfang clearst. diagramme mögen es nicht, wenn du ihnen den quellbereich bzw. die daten entziehst. prüfe mal nach dem makro, ob die beiden diagramme noch den ursprünglichen quellbereich haben - wenn nicht, stimmt meine vermutung. wenn sich die größe des quellbereichs nicht ändert, solltest du nur überschreiben, ansonsten musst du im makro noch den bereich ändern.
gruss andre

Anzeige
Re: Hilfe: Konflikt bei Makros
30.05.2003 14:43:28
Daniel

Hallo Andre,

der datenbereicht der Diagramme ändert sich nicht!
Was muss ich nun genau ändern?

Danke für Deine Hilfe,
Daniel

Re: Hilfe: Konflikt bei Makros
30.05.2003 18:47:12
andre

hallo daniel,
meinst du mit datenbereich ändert sich nicht, dass wenn du die diagrammeigenschaft datenquelle anschaust alles i.o. ist oder dass du mit deinem code nichts änderst?
gruss andre

Re: Hilfe: Konflikt bei Makros
30.05.2003 23:41:15
Daniel

Hi Andre,

ich meine damit, dass sich die Datenquelle unter Diagrammeigenschaft nicht ändert!

Gruss
Daniel

Re: Hilfe: Konflikt bei Makros
31.05.2003 07:51:27
andre

hallo daniel,
kann ich gar nicht glauben. excel berechnet ja nach dem motto entweder alle oder gemeinsam, dass da ein paar mitmachen und ein paar nicht ??? schicke mir mal die datei, da muss ich mal rein schauen - sofern es geht, habe "nur" 2000.
gruss andre

Anzeige
Re: Hilfe: Konflikt bei Makros
31.05.2003 07:53:00
andre

... ich komme erst morgen abend dazu.

Re: Hilfe: Konflikt bei Makros
31.05.2003 09:06:53
Daniel

Hallo Andre,

du hast Post!
Gruß
Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige