Thema Datum  Von Nutzer Rating
Antwort
05.05.2015 14:47:12 rafa_red
NotSolved
05.05.2015 19:03:35 Gast58708
NotSolved
Rot Shape an bestimmter Stelle einfügen
12.05.2015 11:27:37 rafa_red
NotSolved
12.05.2015 16:19:27 Gast58708
NotSolved
13.05.2015 14:55:59 rafa_rede
NotSolved
15.05.2015 13:11:04 Gast17364
NotSolved

Ansicht des Beitrags:
Von:
rafa_red
Datum:
12.05.2015 11:27:37
Views:
1214
Rating: Antwort:
  Ja
Thema:
Shape an bestimmter Stelle einfügen

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



Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
05.05.2015 14:47:12 rafa_red
NotSolved
05.05.2015 19:03:35 Gast58708
NotSolved
Rot Shape an bestimmter Stelle einfügen
12.05.2015 11:27:37 rafa_red
NotSolved
12.05.2015 16:19:27 Gast58708
NotSolved
13.05.2015 14:55:59 rafa_rede
NotSolved
15.05.2015 13:11:04 Gast17364
NotSolved