Thema Datum  Von Nutzer Rating
Antwort
Rot Loop für dynamisches Diagramm
03.11.2016 16:33:27 Heinz B.
NotSolved
04.11.2016 09:09:30 BigBen
NotSolved

Ansicht des Beitrags:
Von:
Heinz B.
Datum:
03.11.2016 16:33:27
Views:
1689
Rating: Antwort:
  Ja
Thema:
Loop für dynamisches Diagramm

Hallo zusammen,

ich habe ein kleines Problem mit dem Erstellen eines Loops für ein dynamsiches Diagramm.

Folgendes Szenario:
In Datenblatt 1 ("Effekte") habe ich eine Tabelle (in die der Nutzer Werte einfügen kann) und ein (Wasserfall)Diagramm. In Datenblatt 2 ("Tabelle") befindet sich die Berechnungstabelle für das Diagramm. Die Daten zieht sich Datenblatt 2 aus der Tabelle in Datenblatt 1.
Ich habe es hinbekommen, dass über ein automatisches Makro die Spalten, welche nicht für das Diagramm benötigt werden, in Datenblatt 2 ausgeblendet werden. Jedoch ist das Makro sehr simpel und wiederholt sich einfach. Ich bin mir sicher, dass es sich mit einem Loop lösen lässt, aber stehe auf dem Schlauch.

Für Hilfe bin ich sehr dankbar!

So sieht der Text momentan aus:

Private Sub Worksheet_Change(ByVal Target As Range)
'Ausgangswert
  If IsEmpty(Cells(3, 2)) Then
  Sheets("Tabelle").Columns(2).Hidden = True 'Ausblendung nicht ausgefüllter Effekte
  Sheets("Tabelle").Range("R28") = Sheets("Tabelle").Range("A28") 'Anpassen der Gesamtverä _
nderung
  Else
  Sheets("Tabelle").Columns(2).Hidden = False 'Einblendung ausgefüllter Effekte
  Sheets("Tabelle").Range("R28") = "" 'Die Gesamtveränderung muss nicht angepasst werden
  End If
'Effekt 1
  If IsEmpty(Cells(5, 2)) Then
  Sheets("Tabelle").Columns(3).Hidden = True
  Sheets("Tabelle").Range("R29") = Sheets("Tabelle").Range("B29")
  Else
  Sheets("Tabelle").Columns(3).Hidden = False
  Sheets("Tabelle").Range("R29") = ""
  End If
'Effekt 2
  If IsEmpty(Cells(6, 2)) Then
  Sheets("Tabelle").Columns(4).Hidden = True
  Sheets("Tabelle").Range("R30") = Sheets("Tabelle").Range("C30")
  Else
  Sheets("Tabelle").Columns(4).Hidden = False
  Sheets("Tabelle").Range("R30") = ""
  End If
'Effekt 3
  If IsEmpty(Cells(7, 2)) Then
  Sheets("Tabelle").Columns(5).Hidden = True
  Sheets("Tabelle").Range("R31") = Sheets("Tabelle").Range("D31")
  Else
  Sheets("Tabelle").Columns(5).Hidden = False
  Sheets("Tabelle").Range("R31") = ""
  End If
'Effekt 4
  If IsEmpty(Cells(8, 2)) Then
  Sheets("Tabelle").Columns(6).Hidden = True
  Sheets("Tabelle").Range("R32") = Sheets("Tabelle").Range("E32")
  Else
  Sheets("Tabelle").Columns(6).Hidden = False
  Sheets("Tabelle").Range("R32") = ""
  End If
'Effekt 5
  If IsEmpty(Cells(9, 2)) Then
  Sheets("Tabelle").Columns(7).Hidden = True
  Sheets("Tabelle").Range("R33") = Sheets("Tabelle").Range("F33")
  Else
  Sheets("Tabelle").Columns(7).Hidden = False
  Sheets("Tabelle").Range("R33") = ""
  End If
'Effekt 6
  If IsEmpty(Cells(10, 2)) Then
  Sheets("Tabelle").Columns(8).Hidden = True
  Sheets("Tabelle").Range("R34") = Sheets("Tabelle").Range("G34")
  Else
  Sheets("Tabelle").Columns(8).Hidden = False
  Sheets("Tabelle").Range("R34") = ""
  End If
'Effekt 7
  If IsEmpty(Cells(11, 2)) Then
  Sheets("Tabelle").Columns(9).Hidden = True
  Sheets("Tabelle").Range("R35") = Sheets("Tabelle").Range("H35")
  Else
  Sheets("Tabelle").Columns(9).Hidden = False
  Sheets("Tabelle").Range("R35") = ""
  End If
'Effekt 8
  If IsEmpty(Cells(12, 2)) Then
  Sheets("Tabelle").Columns(10).Hidden = True
  Sheets("Tabelle").Range("R36") = Sheets("Tabelle").Range("I36")
  Else
  Sheets("Tabelle").Columns(10).Hidden = False
  Sheets("Tabelle").Range("R36") = ""
  End If
'Effekt 9
  If IsEmpty(Cells(13, 2)) Then
  Sheets("Tabelle").Columns(11).Hidden = True
  Sheets("Tabelle").Range("R37") = Sheets("Tabelle").Range("J37")
  Else
  Sheets("Tabelle").Columns(11).Hidden = False
  Sheets("Tabelle").Range("R37") = ""
  End If
'Effekt 10
  If IsEmpty(Cells(14, 2)) Then
  Sheets("Tabelle").Columns(12).Hidden = True
  Sheets("Tabelle").Range("R38") = Sheets("Tabelle").Range("K38")
  Else
  Sheets("Tabelle").Columns(12).Hidden = False
  Sheets("Tabelle").Range("R38") = ""
  End If
'Effekt 11
  If IsEmpty(Cells(15, 2)) Then
  Sheets("Tabelle").Columns(13).Hidden = True
  Sheets("Tabelle").Range("R39") = Sheets("Tabelle").Range("L39")
  Else
  Sheets("Tabelle").Columns(13).Hidden = False
  Sheets("Tabelle").Range("R39") = ""
  End If
'Effekt 12
  If IsEmpty(Cells(16, 2)) Then
  Sheets("Tabelle").Columns(14).Hidden = True
  Sheets("Tabelle").Range("R40") = Sheets("Tabelle").Range("M40")
  Else
  Sheets("Tabelle").Columns(14).Hidden = False
  Sheets("Tabelle").Range("R40") = ""
  End If
'Effekt 13
  If IsEmpty(Cells(17, 2)) Then
  Sheets("Tabelle").Columns(15).Hidden = True
  Sheets("Tabelle").Range("R41") = Sheets("Tabelle").Range("N41")
  Else
  Sheets("Tabelle").Columns(15).Hidden = False
  Sheets("Tabelle").Range("R41") = ""
  End If
'Effekt 14
  If IsEmpty(Cells(18, 2)) Then
  Sheets("Tabelle").Columns(16).Hidden = True
  Sheets("Tabelle").Range("R42") = Sheets("Tabelle").Range("O42")
  Else
  Sheets("Tabelle").Columns(16).Hidden = False
  Sheets("Tabelle").Range("R42") = ""
  End If
'Effekt 15
  If IsEmpty(Cells(19, 2)) Then
  Sheets("Tabelle").Columns(17).Hidden = True
  Sheets("Tabelle").Range("R43") = Sheets("Tabelle").Range("P43")
  Else
  Sheets("Tabelle").Columns(17).Hidden = False
  Sheets("Tabelle").Range("R43") = ""
  End If
End Sub

 


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
Rot Loop für dynamisches Diagramm
03.11.2016 16:33:27 Heinz B.
NotSolved
04.11.2016 09:09:30 BigBen
NotSolved