Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Zellenvergleich und Auswahl des passenden Diagrammes
zurück: zusätzlichen Graphen in ein Diagramm weiter: letzte leere zeile Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
beginner123
Gast


Verfasst am:
02. Apr 2010, 10:41
Rufname:

Zellenvergleich und Auswahl des passenden Diagrammes - Zellenvergleich und Auswahl des passenden Diagrammes

Nach oben
       Version: Office 2007

Hallo Zusammen,

ich versuche ein Makro zu machen, welches mir nach Prüfung eines Kriteriums (Zelle B4 = Zelle C6 ein bestimmtes Diagramm (welches in der Arbeitsmappe gespeichert ist) anzeigt.

Das Kriteriumfeld ist ein Dropdown Menü und je nach gewähltem Argument soll das ensprechende Diagramm angezeigt werden.

Mein Versuch ist leider bisher ergebnislos.

Sub Diagrammwahl()
Worksheets("Szenarienüberblick").Activate
If Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B6").Value Then
Run ([Makro1])

End Sub
Sub Makro1()
'
' Makro1 Makro
' Diagramm_Baseline


Sheets("Diagramme").Select
ActiveSheet.ChartObjects("Diagramm_Baseline").Activate
ActiveChart.ChartArea.Copy
Sheets("Szenarienüberblick").Select
ActiveWindow.SmallScroll Down:=18
Range("B19: H40 ").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=3
End Sub
Gast



Verfasst am:
02. Apr 2010, 10:44
Rufname:


AW: Zellenvergleich und Auswahl des passenden Diagrammes - AW: Zellenvergleich und Auswahl des passenden Diagrammes

Nach oben
       Version: Office 2007

Ich bin neu hier im Forum und würde mich sehr über eine Antwort freuen... Sorry, habe vor lauter Konzentration vergessen mich zu bedanken.

lg
Bamberg
Excel/Access mit VBA


Verfasst am:
02. Apr 2010, 11:22
Rufname: Gerd

AW: Zellenvergleich und Auswahl des passenden Diagrammes - AW: Zellenvergleich und Auswahl des passenden Diagrammes

Nach oben
       Version: Office 2007

Hallo ?,

ich würde sowas in der Art machen ....

Option Explicit

Public Sub Diagrammwahl()
    Dim WS1 As Worksheet, WS2 As Worksheet
    Set WS1 = Worksheets("Szenarienüberblick")
    Set WS2 = Worksheets("Basisdaten")
    If WS1.Range("B4").Value = WS2.Range("B6").Value Then
        Call Chart_Darstellen("Diagramm_Baseline")
    End If
    
    Set WS1 = Nothing: Set WS2 = Nothing
End Sub

Public Sub Chart_Darstellen(ByVal ChartName As String)
    Dim Ch As ChartObject
    
    With ThisWorkbook
        Set Ch = .Worksheets("Diagramme").Shapes(ChartName).OLEFormat.Object
        Ch.Copy
        With .Worksheets("Szenarienüberblick")
            .Paste
            Set Ch = .Shapes(.Shapes.Count).OLEFormat.Object
            Ch.Top = .Range("B19").Top
            Ch.Left = .Range("B19").Left
        End With
    End With
    
    Set Ch = Nothing
End Sub
LG Gerd

_________________
NIPSILD = Nicht In Problemen, Sondern In Lösungen Denken
beginner123
Gast


Verfasst am:
02. Apr 2010, 12:14
Rufname:

AW: Zellenvergleich und Auswahl des passenden Diagrammes - AW: Zellenvergleich und Auswahl des passenden Diagrammes

Nach oben
       Version: Office 2007

Vielen Dank für deine Antwort Gerd!

Ich habe es geschafft, dass die richtigen Diagramme dargestellt werden mit:

Sub Diagrammwahl()
Worksheets("Szenarienüberblick").Activate
If Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B6").Value Then
Makro1
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B7").Value Then
Makro1
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B8").Value Then
Makro1
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B10").Value Then
Makro8
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B11").Value Then
Makro9
End If

End Sub

Wobei die Makro's mir jeweils das entsprechende Diagramm auf das Übersichtsblatt kopieren.
Jetzt bräuchte ich einen Befehl um das eingefügte Diagramm (egal welches es ist) wieder zu löschen.

Wie kann ich das Diagramm markieren, ohne dass mir für die anderen möglichen Diagramme ein "Object not found" Error kommt?

Vielen lieben Dank für die Ideen.

MfG
Bamberg
Excel/Access mit VBA


Verfasst am:
02. Apr 2010, 12:35
Rufname: Gerd


AW: Zellenvergleich und Auswahl des passenden Diagrammes - AW: Zellenvergleich und Auswahl des passenden Diagrammes

Nach oben
       Version: Office 2007

Hallo,

nachdem Du meinen Code scheinbar nicht benutzt hast und Du Deinen nicht vollständig postest, wie kann ich Dir helfen?

LG Gerd

_________________
NIPSILD = Nicht In Problemen, Sondern In Lösungen Denken
@office
Im Profil kannst Du frei den Rang ändern


Verfasst am:
06. Apr 2010, 08:53
Rufname:

AW: Zellenvergleich und Auswahl des passenden Diagrammes - AW: Zellenvergleich und Auswahl des passenden Diagrammes

Nach oben
       Version: Office 2007

Hallo Gerd,
entschuldige, dass ich mich vor dem Wochenende nicht nochmal gemeldet habe. Ich habe deinen Code verwendet, aber leider ohne Ergebnis.

Du hast genau verstanden, worauf ich hinaus will. Im Grunde gibt es in der Übersicht 4 Buttons (Schaltflächen) welche in Funktion des ausgewählten Segmentes (drop down Menü) das entsprechende Diagramm wiedergeben sollen.

Es muss also erst ein if sein, welches prüft, welches Segment gewählt ist, dann das entsprechende Diagramm anzeigen.

Ich habe es etwas kompliziert mit den Makros gemacht, aber für die erste Version hat es so prima funktioniert. Nun ist das ganze etwas komplizierter weil aus mehreren Diagrammen ausgewählt werden muss.

Public Sub Diagrammwahl3()
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = Worksheets("Szenarienüberblick")
Set WS2 = Worksheets("Basisdaten")
If WS1.Range("B4").Value = WS2.Range("B6").Value Then
Call Chart_Darstellen("Diagramm_Baseline")
End If

Set WS1 = Nothing: Set WS2 = Nothing
End Sub

Public Sub Chart_Darstellen(ByVal ChartName As String)
Dim Ch As ChartObject

With ThisWorkbook
Set Ch = .Worksheets("Diagramme").Shapes("Diagramm_Baseline").OLEFormat.Object
Ch.Copy
With .Worksheets("Szenarienüberblick")
.Paste
Set Ch = .Shapes(.Shapes.Count).OLEFormat.Object
Ch.Top = .Range("B19").Top
Ch.Left = .Range("B19").Left
End With
End With

Set Ch = Nothing
End Sub

und hier zum Vergleich der alte Code (bei dem ich jetzt die Meldung "das Argument ist nicht optional") erhalte...



Sub Diagrammwahl(Baseline)

If Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B6").Value Then
Makro1
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B7").Value Then
Makro1
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B8").Value Then
Makro1
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B10").Value Then
Makro8
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B11").Value Then
Makro9
End If

End Sub
Sub Makro1()
'
' Makro1 Makro
' Diagramm_Baseline


Sheets("Diagramme").Select
ActiveSheet.ChartObjects("Diagramm_Baseline").Activate
ActiveChart.ChartArea.Copy
Sheets("Szenarienüberblick").Select
ActiveWindow.SmallScroll Down:=18
Range("B19: H40 ").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=3
End Sub
Sub Makro3()
'
' Makro3 Makro
' Delete Diagramm_Baseling


'
ActiveSheet.ChartObjects("Diagramm_Baseline").Activate
ActiveChart.Parent.Delete


End Sub

Sub Diagrammwahl1(Vorbild)
Worksheets("Szenarienüberblick").Activate
If Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B6").Value Then
Makro5
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B7").Value Then
Makro5
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B8").Value Then
Makro5
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B10").Value Then
Makro22
ElseIf Sheets("Szenarienüberblick").Range("B4").Value = Sheets("Basisdaten").Range("B11").Value Then
Makro23
End If

End Sub


Ich würde gerne Deinen Code verwenden um die verschiedenen Diagramme anzuzeigen, bin mir aber nicht sicher, ob meine VBA Fähigkeiten ausreichen um den Code anzupassen.
Nochmals vielen Dank für deine Hilfe.
Schöne Grüße,
Monika
@office
Im Profil kannst Du frei den Rang ändern


Verfasst am:
06. Apr 2010, 09:04
Rufname:

AW: Zellenvergleich und Auswahl des passenden Diagrammes - AW: Zellenvergleich und Auswahl des passenden Diagrammes

Nach oben
       Version: Office 2007

Hallo nochmal,

also mit dem geposteten Code von Gerd habe ich ein Problem im Bereich
Set Ch = .Shapes(.Shapes.Count).OLEFormat.Object
ich erhalte den Laufzeitfehler 13 "Typen unverträglich".
Jemand eine Idee?




Public Sub Chart_Darstellen(ByVal ChartName As String)
Dim Ch As ChartObject

With ThisWorkbook
Set Ch = .Worksheets("Diagramme").Shapes("Diagramm_Baseline").OLEFormat.Object
Ch.Copy
With .Worksheets("Szenarienüberblick")
.Paste
---> ?? Set Ch = .Shapes(.Shapes.Count).OLEFormat.Object
Ch.Top = .Range("B19").Top
Ch.Left = .Range("B19").Left
End With
End With

Set Ch = Nothing
End Sub


Vielen Dank!
@office
Im Profil kannst Du frei den Rang ändern


Verfasst am:
06. Apr 2010, 10:02
Rufname:

AW: Zellenvergleich und Auswahl des passenden Diagrammes - AW: Zellenvergleich und Auswahl des passenden Diagrammes

Nach oben
       Version: Office 2007

Also mit folgendem Code kann ich jetzt das passende Diagramm abrufen, leider wird es jedoch irgendwo im Sheet "Sznearienüberblick" hineinkopiert, nicht wie gewünscht auf B19.

Public Sub Diagrammwahl3()
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = Worksheets("Szenarienüberblick")
Set WS2 = Worksheets("Basisdaten")
If WS1.Range("B4").Value = WS2.Range("B6").Value Then
Call Chart_Darstellen("Diagramm_Baseline")
ElseIf WS1.Range("B4").Value = WS2.Range("B7").Value Then
Call Chart_Darstellen("Diagramm_Baseline")
ElseIf WS1.Range("B4").Value = WS2.Range("B8").Value Then
Call Chart_Darstellen("Diagramm_Baseline")
ElseIf WS1.Range("B4").Value = WS2.Range("B10").Value Then
Call Chart_Darstellen1("Industrie_Base")
ElseIf WS1.Range("B4").Value = WS2.Range("B11").Value Then
Call Chart_Darstellen2("Sonder_Base")
End If

Set WS1 = Nothing: Set WS2 = Nothing
End Sub

Public Sub Chart_Darstellen(ByVal ChartName As String)
Dim Ch As ChartObject

With ThisWorkbook
Set Ch = .Worksheets("Diagramme").Shapes("Diagramm_Baseline").OLEFormat.Object
Ch.Copy
With .Worksheets("Szenarienüberblick")
.Paste
Ch.Top = .Range("B19").Top
Ch.Left = .Range("B19").Left
End With
End With

Set Ch = Nothing
End Sub

Bitte um Hilfe. Hat jemand eine Idee wie ich die Diagramme auf den richtigen "Fleck" bringe? Mit
Ch.Top= .range ("B19").Top funzt das nicht.

Vielen Dank.
Bamberg
Excel/Access mit VBA


Verfasst am:
06. Apr 2010, 19:58
Rufname: Gerd


AW: Zellenvergleich und Auswahl des passenden Diagrammes - AW: Zellenvergleich und Auswahl des passenden Diagrammes

Nach oben
       Version: Office 2007

Hallo Monika,

um zu testen ersetze doch mal folgende Zeile
Code:
            Set Ch = .Shapes(.Shapes.Count).OLEFormat.Object
durch
Code:
            MsgBox TypeName(.Shapes(.Shapes.Count).OLEFormat.Object) & vbCr & _
                   .Shapes(.Shapes.Count).OLEFormat.Object.Name & vbCr & _
                   .Shapes.Count
LG Gerd
_________________
NIPSILD = Nicht In Problemen, Sondern In Lösungen Denken
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Trendlinienformel einen diagrammes in tabelle übertragen 0 mareikeschultz 380 12. Mai 2009, 21:18
mareikeschultz Trendlinienformel einen diagrammes in tabelle übertragen
Keine neuen Beiträge Excel Formeln: Sverweis sucht Text in Spalte und gibt passenden Wert aus 3 Ryan 406 02. Apr 2009, 09:12
shift-del Sverweis sucht Text in Spalte und gibt passenden Wert aus
Keine neuen Beiträge Excel Formeln: Problem mit Auswahl aus einer Liste per Zeilennummer 2 easy2website 188 14. März 2009, 13:57
Jürgen_H Problem mit Auswahl aus einer Liste per Zeilennummer
Keine neuen Beiträge Excel Formeln: Summe mit lediglich den Kriterien passenden Werten bilden 11 Unwissender² 386 19. Jan 2009, 13:39
Unwissender² Summe mit lediglich den Kriterien passenden Werten bilden
Keine neuen Beiträge Excel Formeln: Exceltabelle Auswahl 3 einsbis 588 17. Jan 2009, 16:05
Nepumuk Exceltabelle Auswahl
Keine neuen Beiträge Excel Formeln: Auswahl aus Dropdown und dann zuordnung 2 Kay.... 508 12. Jan 2009, 19:23
Kay.... Auswahl aus Dropdown und dann zuordnung
Keine neuen Beiträge Excel Formeln: Zelle anklicken und auswahl Treffen ??? HILFE ??! 7 yuc 2532 09. Dez 2008, 16:14
yuc Zelle anklicken und auswahl Treffen ??? HILFE ??!
Keine neuen Beiträge Excel Formeln: Bedingte Auswahl von Werten zweier drop down boxen möglich? 1 gewusstwie 3949 05. Nov 2008, 18:06
neopa Bedingte Auswahl von Werten zweier drop down boxen möglich?
Keine neuen Beiträge Excel Formeln: Auswahl bestimmter Zellen Auflisten 2 Sepp85 503 08. Okt 2008, 11:53
Gast Auswahl bestimmter Zellen Auflisten
Keine neuen Beiträge Excel Formeln: Auswahl mit mehreren Kriterien!! 1 Gast1234 393 09. Sep 2008, 17:40
neopa Auswahl mit mehreren Kriterien!!
Keine neuen Beiträge Excel Formeln: Anzeige mehrer Daten durch auswahl Dropdown 5 Molkie 899 25. Aug 2008, 13:39
Alterweg Anzeige mehrer Daten durch auswahl Dropdown
Keine neuen Beiträge Excel Formeln: Nach Auswahl v Dropdownfeld weiteres Feld automatisch füllen 2 Gast 2012 27. Jun 2008, 12:22
Gast Nach Auswahl v Dropdownfeld weiteres Feld automatisch füllen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web