Office: (Office 2013) VBA-Code über 2 Tabellenblätter wirksam machen

Helfe beim Thema VBA-Code über 2 Tabellenblätter wirksam machen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe ein Excel-Dokument mit 3 verschiedenen Tabellenblättern, im ersten Blatt befindet sich ein Bericht auf Deutsch, im 2. der... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von SebbiChef, 29. März 2016.

  1. VBA-Code über 2 Tabellenblätter wirksam machen


    Hallo zusammen,

    ich habe ein Excel-Dokument mit 3 verschiedenen Tabellenblättern, im ersten Blatt befindet sich ein Bericht auf Deutsch, im 2. der exakt gleiche Bericht in Englisch übersetzt. im 3. Blatt befindet sich eine Art Wörterbuch.

    Ich habe nun einen Code im Tabellenblatt 1. geschrieben, der falls in bestimmten Zellen der Wert "X" steht, dadurch bestimmte Zeilen eingeblendet werden. Dieser lautet wie folgt:


    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Address = "$D$3" Then
    Cancel = True
    Select Case Target
    Case Is = "": Target = "X"
    Case Is = "X": Target = ""
    Case Else: Cancel = False
    End Select
    End If

    Dim varAusblend As Range
    Dim varSchalter As Range

    Set varAusblend = ActiveSheet.Rows("33:44")
    Set varSchalter = ActiveSheet.Cells(3, 4)

    If varSchalter.Value = "X" And varAusblend.Hidden = True Then
    varAusblend.Hidden = False
    Else
    If varSchalter.Value "X" And varAusblend.Hidden = False Then
    varAusblend.Hidden = True
    End If
    End If
    End Sub

    Davor befindet sich eine Code der bestimmte Zellen festlegt die durch Doppelklick mit X markiert werden können.

    Jetzt hätte ich es gerne, dass sich dieser Code auch auf mein 2. Tabellenblatt bezieht und auch hier die gleichen Zeilen durch ankreuzen ein/ausblendet.

    Da ich mir die Formel durch googlen zusammengeschustert habe, hoffe ich ihr könnt mir weiterhelfen.*tongue.gif*

    MFG Sebbi

    :)
     
    SebbiChef, 29. März 2016
    #1
  2. Moin
    meinst du so?
    Code:
    gruss hary
     
  3. Hallo und danke schonmal hary,

    leider funktioniert es so nicht.

    Ich füge hier einmal den kompletten Code aus meinem ersten Tabellenblatt "Befundungsbericht Deutsch" ein:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'Festlegen in welche Zellen durch Doppelklick X gemacht werden kann
    If Target.Address = "$D$3" Or Target.Address = "$D$4" Or Target.Address = "$D$5" Or Target.Address = "$D$6" Or Target.Address = "$D$7" _
    Or Target.Address = "$G$3" Or Target.Address = "$G$4" Or Target.Address = "$G$5" _
    Or Target.Address = "$H$39" Or Target.Address = "$H$40" Or Target.Address = "$H$41" Or Target.Address = "$H$42" Or Target.Address = "$H$43" Or Target.Address = "$H$44" Or Target.Address = "$H$45" Or Target.Address = "$H$46" Or Target.Address = "$H$47" Or Target.Address = "$H$50" Or Target.Address = "$H$52" Or Target.Address = "$H$53" Or Target.Address = "$H$54" Or Target.Address = "$H$55" Or Target.Address = "$H$58" Or Target.Address = "$H$61" Or Target.Address = "$H$62" Or Target.Address = "$H$63" _
    Or Target.Address = "$L$39" Or Target.Address = "$L$40" Or Target.Address = "$L$41" Or Target.Address = "$L$42" Or Target.Address = "$L$43" Or Target.Address = "$L$44" Or Target.Address = "$L$45" Or Target.Address = "$L$46" Or Target.Address = "$L$47" Or Target.Address = "$L$50" Or Target.Address = "$L$52" Or Target.Address = "$L$53" Or Target.Address = "$L$54" Or Target.Address = "$L$55" Or Target.Address = "$L$58" Or Target.Address = "$L$61" Or Target.Address = "$L$62" Or Target.Address = "$L$63" _
    Or Target.Address = "$P$39" Or Target.Address = "$P$40" Or Target.Address = "$P$41" Or Target.Address = "$P$42" Or Target.Address = "$P$43" Or Target.Address = "$P$44" Or Target.Address = "$P$45" Or Target.Address = "$P$46" Or Target.Address = "$P$47" Or Target.Address = "$P$50" Or Target.Address = "$P$52" Or Target.Address = "$P$53" Or Target.Address = "$P$54" Or Target.Address = "$P$55" Or Target.Address = "$P$58" Or Target.Address = "$P$61" Or Target.Address = "$P$62" Or Target.Address = "$P$63" Then
    Cancel = True
    Select Case Target
    Case Is = "": Target = "X"
    Case Is = "X": Target = ""
    Case Else: Cancel = False
    End Select
    End If

    Dim varAusblend As Range 'Wenn D3 mit X markiert, dann Zeilen 33 bis 44 einblenden (Vorsteuerteil)
    Dim varSchalter As Range

    Set varAusblend = ActiveSheet.Rows("37:48")
    Set varSchalter = ActiveSheet.Cells(3, 4)

    If varSchalter.Value = "X" And varAusblend.Hidden = True Then
    varAusblend.Hidden = False
    Else
    If varSchalter.Value "X" And varAusblend.Hidden = False Then
    varAusblend.Hidden = True
    End If
    End If

    Dim varAusblend1 As Range 'Wenn D4 mit X markiert, dann Zeile 41 einblenden (mit integrierte Elektronik)
    Dim varSchalter1 As Range

    Set varAusblend = ActiveSheet.Rows("45:45")
    Set varSchalter = ActiveSheet.Cells(4, 4)

    If varSchalter.Value = "X" And varAusblend.Hidden = True Then
    varAusblend.Hidden = False
    Else
    If varSchalter.Value "X" And varAusblend.Hidden = False Then
    varAusblend.Hidden = True
    End If
    End If

    Dim varAusblend2 As Range 'Wenn D5 mit X markiert, dann Zeile 42 einblenden (Druckabsicherung)
    Dim varSchalter2 As Range

    Set varAusblend = ActiveSheet.Rows("46:46")
    Set varSchalter = ActiveSheet.Cells(5, 4)

    If varSchalter.Value = "X" And varAusblend.Hidden = True Then
    varAusblend.Hidden = False
    Else
    If varSchalter.Value "X" And varAusblend.Hidden = False Then
    varAusblend.Hidden = True
    End If
    End If

    Dim varAusblend3 As Range 'Wenn D6 mit X markiert, dann Zeile 43 einblenden (Stromregler)
    Dim varSchalter3 As Range

    Set varAusblend = ActiveSheet.Rows("47:47")
    Set varSchalter = ActiveSheet.Cells(6, 4)

    If varSchalter.Value = "X" And varAusblend.Hidden = True Then
    varAusblend.Hidden = False
    Else
    If varSchalter.Value "X" And varAusblend.Hidden = False Then
    varAusblend.Hidden = True
    End If
    End If

    Dim varAusblend4 As Range 'Wenn D7 mit X markiert, dann Zeile 40 einblenden (Kolben/Steuerschieber)
    Dim varSchalter4 As Range

    Set varAusblend = ActiveSheet.Rows("44:44")
    Set varSchalter = ActiveSheet.Cells(7, 4)

    If varSchalter.Value = "X" And varAusblend.Hidden = True Then
    varAusblend.Hidden = False
    Else
    If varSchalter.Value "X" And varAusblend.Hidden = False Then
    varAusblend.Hidden = True
    End If
    End If

    Dim varAusblend5 As Range 'Wenn G3 mit X markiert, dann Zeilen 46 bis 52 einblenden (Hauptstufe)
    Dim varSchalter5 As Range

    Set varAusblend = ActiveSheet.Rows("50:56")
    Set varSchalter = ActiveSheet.Cells(3, 7)

    If varSchalter.Value = "X" And varAusblend.Hidden = True Then
    varAusblend.Hidden = False
    Else
    If varSchalter.Value "X" And varAusblend.Hidden = False Then
    varAusblend.Hidden = True
    End If
    End If

    Dim varAusblend6 As Range 'Wenn G4 mit X markiert, dann Zeilen 50 einblenden (Rückschlagventil)
    Dim varSchalter6 As Range

    Set varAusblend = ActiveSheet.Rows("54:54")
    Set varSchalter = ActiveSheet.Cells(4, 7)

    If varSchalter.Value = "X" And varAusblend.Hidden = True Then
    varAusblend.Hidden = False
    Else
    If varSchalter.Value "X" And varAusblend.Hidden = False Then
    varAusblend.Hidden = True
    End If
    End If

    Dim varAusblend7 As Range 'Wenn G5 mit X markiert, dann Zeilen 51 einblenden (Düsen)
    Dim varSchalter7 As Range

    Set varAusblend = ActiveSheet.Rows("55:55")
    Set varSchalter = ActiveSheet.Cells(5, 7)

    If varSchalter.Value = "X" And varAusblend.Hidden = True Then
    varAusblend.Hidden = False
    Else
    If varSchalter.Value "X" And varAusblend.Hidden = False Then
    varAusblend.Hidden = True
    End If
    End If

    End Sub



    Ich hoffe es ist so verständlicher *eek.gif*

    Nun möchte ich einfach nur das dieser exakt gleiche Code auch auf das 2. Tabellenblatt "Befundungsbericht Englisch" angewendet wird.

    Ich hoffe ihr könnt mir weiterhelfen.

    Liebe Grüße
     
    SebbiChef, 30. März 2016
    #3
  4. VBA-Code über 2 Tabellenblätter wirksam machen

    Hallo Sebbi,

    du hast ja kein Beispiel deines Berichts eingestellt. Insofern die Frage, wäre es nicht einfacher, die Beschriftungszellen, per WENN-Bedingung mit deutschen oder englischen Texten zu versehen. Mittels einer Taste könntest du dann immer zwischen den Sprchen wechseln und müsstest den Bericht nicht doppelt halten.
     
  5. Hallo und ebenfalls vielen Dank für die Antwort,

    habe den Bericht als Datei angefügt.

    Lg
     
    SebbiChef, 30. März 2016
    #5
  6. Oben klickt man sich praktisch durch die Auswahl der Bauteile einen individuellen Bericht zusammen.
    Der Code befindet sich im Tabellenblatt "Befundungsbericht Deutsch"
     
    SebbiChef, 30. März 2016
    #6
  7. Moin
    Du kannst doch den den Code einfach in das andere Blatt kopieren!???
    oder
    du nutz gleich das Workbookereigniss.
    Code:
    Dein Code kann aber noch uebersichtlicher gestaltet werden.
    edit als Ansatz:
    Code:
    gruss hary
     
  8. VBA-Code über 2 Tabellenblätter wirksam machen

    Hallo hary,

    vielen Dank schonmal, habe die Vereinfachung übernommen, echt super! Mein gesamter Code lautet jetzt nurnoch:

    Code:
    Das einzige was noch fehlt, ist dass ich wenn ich das Kreuzchen zB bei D3 setze und damit zeilen 37-48 eingeblendet werden, dies auch automatisch im Englischen Bericht geschieht.
    Sonst funktioniert wie gesagt alles.

    Sorry für die Unübersichtlichkeit des Codes aber ich bin wie gesagt kompletter Anfänger und arbeite mich gerade erst hinein.*frown.gif*

    Danke für deine Geduld und Hilfe!

    LG
     
    SebbiChef, 30. März 2016
    #8
  9. Moin
    Dann bleibt der Code da wo er ist.
    Range musst die restlichen noch eintragen. Und Case entsprechend erweitern und aufbauen.
    Code:
    gruss hary
     
  10. Hallo Sebbi,

    Anbei die Variante, bei der du die Sprache oben rechts auswählst und dafür nur noch einen Bericht benötigst.
     
  11. Wow, vielen vielen Dank euch beiden!
    Es funktioniert perfekt! *biggrin.gif* *biggrin.gif* *biggrin.gif* *biggrin.gif* *mrcool
     
    SebbiChef, 30. März 2016
    #11
Thema:

VBA-Code über 2 Tabellenblätter wirksam machen

Die Seite wird geladen...
  1. VBA-Code über 2 Tabellenblätter wirksam machen - Similar Threads - VBA Code Tabellenblätter

  2. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  3. VBA Code für Zeilen ausblenden einblenden mit JA/Nein

    in Microsoft Excel Hilfe
    VBA Code für Zeilen ausblenden einblenden mit JA/Nein: Hallo, habe eine Exceltabelle, bei der ich bei einer Zelle eine Ja/Nein abfrage mache, wenn in der Zelle Nein steht, dann soll ein bestimmter Zeilenbereich, den ich definieren möchte, ausgeblendet...
  4. VBA Code Tabellenblatt kopieren und UserForm

    in Microsoft Excel Hilfe
    VBA Code Tabellenblatt kopieren und UserForm: Hallo, ich hoffe mir kann jemand helfen. Schon mal vielen Dank für die Unterstützung. Folgende Thematik: In dem Blatt 1 ist ein ComandButton. Mit Klick soll über VBA folgendes abgefragt...
  5. Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben

    in Microsoft Excel Hilfe
    Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben: Hallo, ich suche gerade eine Möglichkeit mittels VBA mehrere Tabellenblätter auf einmal zu generieren (ca. 40), die auf einem Vorlage-Tabellenblatt (TB2) basieren. Das kopieren/ Vervielfachen an...
  6. VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen

    in Microsoft Excel Hilfe
    VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen: Hallo liebe Excel-Kommunity, nach ewigen Stunden des Suchens und Rumprobierens bin ich an dem Punkt angekommen an dem ich verzweifelt um eure Hilfe fragen muss. Da ich leider keinerlei...
  7. Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln

    in Microsoft Excel Hilfe
    Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln: Hallihalllo, Ich sitze gerade an meine Bachelorarbeit und muss mittels VBA ein Auswertungsprogramm für erhobene Daten erarbeiten. Ich suche schon ewig im Internet nach dem passenden Code und...
  8. Excel Steuerelement und VBA-Code für Auswahl zum Druck mehrerer Tabellenblätter

    in Microsoft Excel Hilfe
    Excel Steuerelement und VBA-Code für Auswahl zum Druck mehrerer Tabellenblätter: Hallo zusammen, ich bin blutiger Anfänger und vermutlich eine harte Nuss. Aber, nachdem ich mich jetzt viele Stunden durch die Foren gewühlt habe, versuche ich es jetzt auf diesem Weg. Ich...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden