|  
                                             
	Das ist nicht genau das, was ich suche. Also ich weiß, wie ich ein Shape einfüge und kann so in etwa die erste Position bestimmen, aber leider nicht genau. Ich möchte mehrere Kreise in Abhängigkeit von ihrem Datum (abhängig vom ersten Tabellenblatt) einfügen. Wenn ich den ersten Kreis auf Position 0 setze, dann klappt das. Er befindet sich dann ganz am Anfang, wo er auch hin soll. 
	  
	Ich glaube der Fehler liegt in der Umrechnung von Pixel auf den Maßstab in VBA. Kann mir da jemand helfen 
	  
	            jahr = Mid(Sheets("Übersicht").Cells(b, a), 7, 4) 
	             
	            If jahr <> "" Then 
	             
	             
	            'If jahr = "2010" Then 
	                 
	                'Cells(d, c).Select 
	                 
	                Set start_cell = ActiveSheet.Cells(d, c) 
	      
	                isum = (jahr - 2010) * 12 
	                jsum = 5 'isum = X-Achse, jsum = Y-Achse 
	                 
	                'Set dshape = ActiveSheet.Shapes.AddShape(msoShapeDiamond, 12, 12, 12, 12)       ' BeginX,BeginY,EndX,EndY, 
	                 
	                Set dshape = ActiveSheet.Shapes.AddShape(msoShapeOval, 12, 12, 12, 12) 
	                 
	                With dshape 
	                .Name = "Termin" 
	                .Fill.Visible = msoTrue 
	                .Fill.Solid 
	                .Fill.Transparency = 0# 
	                .Fill.ForeColor.RGB = RGB(0, 0, 0) 
	                .Line.Visible = msoTrue 
	                .Line.Weight = 0.5 
	                .Line.ForeColor.RGB = RGB(0, 0, 0) 
	         
	        'dshape.Select 
	            'Selection.ShapeRange.IncrementLeft 48 
	            'Selection.ShapeRange.IncrementTop 7.5 
	         
	        'Hier erfolgt Berechnung der Position 
	        'Kumulieren der Spaltenbreiten/Zeilenhoehen bis einschl. 
	        'der aktiven Zelle 
	                For i = 1 To start_cell.Column 
	                isum = isum + Columns(i).Width 
	                Next i 
	                For j = 1 To start_cell.Row 
	                jsum = jsum + Rows(j).Height 
	                Next j 
	        'Setzen der berechneten Position 
	                .left = isum 
	                .top = jsum 
	                .left = .left - start_cell.Width ' + (1 / 34 * CDbl(Cells(b, a)) * start_cell.Width) 
	                .top = .top - start_cell.Height 
	                 
	                End With 
	                
	  
	Gruß 
	rafa 
 
     |