Hi Karl,
und Reinhards Beitrag gelesen?
Ja habe ich. Nur löst es leider nicht ganz mein Problem.
und warum sagst du das mir nicht? *grmmpf*
Das Diagramm das ich in die Arbeitsmappen einfügen möchte hat
keine zusammenhängenden Bezüge.
Na und, kommt vor.
Und leider bin ich mit VB
überhaupt nicht vertraut
Kommt auch vor 
Alles nix schlimmes, schlimm ist einzig die fehlende Rückmeldung…
Die Tabellen sind wie folgt aufgebaut (Sie sind aller gleich.
Sie haben nur unterschiedliche Bezeichnungen wegen anderem
Produkt):
A1 B1 C1 D1
Name Umsatz % Umsatz %
Müller 100 10 400 20
Maier 200 30 500 20
Schmidt 300 60 600 60
Ich erstelle nun ein Diagramm mit den Prozentangaben.
Schau mal hier, Vba mag zwar kompliziert sein zu entwickeln, aber die Benuzung ist denkbar einfach, brauchst nur auf einen Knopf drücken, naja vorher im Code die Bereiche und die Anzahl der Blätter anpassen.
Aber auch als Laie siehst du im Code daß du
For 2 to 3
in
For 2 to 21
abändern mußt um von Blatt 1 nach Blatt 2- Blatt 21 zu kopieren, da ich nur mit insg. 3 Blätern getestet habe.
Und die Bereiche A1:A5, C:C5 usw sind auch find/änderbar.
Her ist die fertige Datei , ihr Code steht nachstehend.
http://www.hostarea.de/server-04/April-995dddb437.xls
Wichtig ist daß die Tabellen alle gleich aufgebaut sind und die Werte vor dem Makroaufruf drin stehen sonst pfuschst da Excel ungefragt rum 
Gruß
Reinhard
Option Explicit
'
Sub test()
Dim b As Byte
For b = 2 To 3
Call diagramme\_kopieren(Worksheets(b))
Next b
End Sub
'
Sub diagramme\_kopieren(wks As Worksheet)
'\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
'\* 24.08.06, 01.07.06, 01.04.07 \*
'\* erstellt von Karin, http://beverly.excelhost.de\*
'\* [email protected] \*
'\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
Dim shDiagramm As Shape ' Variable für Diagramm als Shape
' Bildschirmaktualisierung aus
Application.ScreenUpdating = False
' Diagramm1 der Tabelle1 kopieren
Worksheets("Tabelle1").ChartObjects(1).Copy
' in Tabelle2 einfügen
wks.Paste
' das zuletzt eingefügte Diagramm aktivieren
wks.ChartObjects(wks.ChartObjects.Count).Activate
' Datenquelle als Datenbereich zuweisen
ActiveChart.SetSourceData Source:=wks.Range("A1:A5,C1:C5,E1:E5")
' aktives Diagramm abwählen
ActiveChart.Deselect
With ActiveSheet
' zuletzt eingefügtes Diagramm der Variablen zuweisen
Set shDiagramm = .Shapes(.ChartObjects.Count)
' Position der linken oberen Ecke des Diagramms auf Zelle E8
shDiagramm.Top = .Cells(8, 5).Top
shDiagramm.Left = .Cells(8, 5).Left
' Zelle A1 selektieren, da andernfalls das Diagramm aktiviert bleibt
End With
' Bildschirmaktualisierung ein
Application.ScreenUpdating = True
End Sub