Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: Michel2508 am Mai 07, 2019, 09:50:47 Vormittag

Titel: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: Michel2508 am Mai 07, 2019, 09:50:47 Vormittag
Moinsen Community,

ich benötige euer Schwarmwissen. Ich bin gar nicht bewandert in VBA. Ich bekomme es gerade so hin, mit ner Checkbox Zeilen einzublenden.
Das war es abe dann auch.

Nun mein Problem. In "Tabelle1" in Zelle D4 kann per Dropdown "Erledigt" ausgewählt werden. Wenn in D4 Erledigt steht, soll in "Tabelle2" Zeile 4 eingeblendet werden.

Ich habe schon versucht das selbst zu lösen und bin hart gescheitert, konnte aber auch nichts passendes im Internet finden.
Please help! ;-)

LG
Michel
Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: EbyAS am Mai 12, 2019, 08:01:55 Vormittag
Hallo Michel,
diesen Code in  Tabelle1 (Klassenseite)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$4" And Target.Value = "Erledigt" Then
   Tabelle2.Rows(4).EntireRow.Hidden = False
End If
End Sub

Gruß Armin
Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: Michel2508 am Mai 14, 2019, 10:44:56 Vormittag
Hallo EbyAS,

erstmal "Danke schön" das du mir unter die Arme greifst!!!  :)

Könntest du mir sagen, was mit "Klassenseite" gemeint ist?
Wird der VBA-Code permanent ausgeführt oder muss ich ihn manuell starten?
Ich habe meine Tabellen umbenannt. Tabelle1 = Checkliste  Tabelle2 = Details, kann
ich die Benneng einfach eins zu eins ersetzen?

Ich bin ein echetr Anfänger oder auch VBA-Dumpfbacke! ;)
Vielen Dank!

Gruß Michel
Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: EbyAS am Mai 22, 2019, 13:55:08 Nachmittag
Hallo Michel,
ich habe leider keine Nachricht aus diesem Forum bekommen das Du geantwortest hast. Jetzt durch Zufall gesehen.
Ich habe Dir eine Beispielmappe angefügt.
Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: Michel2508 am Mai 22, 2019, 15:35:39 Nachmittag
Hallo Armin,

danke für deine Hilfe und auch der Zeitversatz stört mich nicht.

Irgendwie glaube ich, ich bin zu duselig.

Habe dein Beispiel geöffnet und alles aktiviert. Nur passiert nichts.
Was könnte ich vergessen oder falsch gemacht haben?

LG
Michel
Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: EbyAS am Mai 23, 2019, 16:00:44 Nachmittag
Hallo Michel,
also wenn garnichts passiert wird wohl das Ausführen von Makros nicht erlaubt sein. Dann musst Du natürlich diese Freigabe erst ausführen. In Tabelle1 habe ich Dir einige Bilder eingefügt Optionen - Trust center Makroeinstellungen.

Dann müsste nach eingabe in D4 (gelbe Zelle) von "Erledigt" wird in Tabelle2 die Zeile 4 eingeblendet. Die muss natürlich vorher ausgeblendet sein!
Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: Michel2508 am Mai 24, 2019, 09:59:02 Vormittag
Hey Armin,

ich hatte vergessen die Zeile auszublenden... Ich Depp...
Jetzt habe ich einen guten Startpunkt, damit probiere ich mal ein wenig um.

Vielen, Vielen DANK!
Ich update dich, nach meiner Feldforschung...

LG
Michel
Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: Michel2508 am Mai 24, 2019, 10:06:44 Vormittag
Hallo Armin,

und schon bin ich überfordert...
 :-\

Ich habe folgendes probiert:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$4" And Target.Value = "Erledigt" Then
   Tabelle2.Rows(4).EntireRow.Hidden = False
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$4" And Target.Value = "Offen" Then
   Tabelle2.Rows(4).EntireRow.Hidden = True
End If
End Sub

Funktioniert leider nicht, da er mir dann immer sagt:

Fehler beim Kompilieren
Mehrdeitiger Name: Worksheet_change

Ist ein Benennungsproblem oder?!

LG
Michel
Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: EbyAS am Mai 25, 2019, 15:05:59 Nachmittag
Hallo Michel,
Diese Aufrufe dürfen nur einmal in jeder Tabelle sehen! Man verbindet das in einem Aufruf:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$4" And Target.Value = "Erledigt" Then
   Tabelle2.Rows(4).EntireRow.Hidden = False
elseIf
  Target.Address = "$D$4" And Target.Value = "Offen" Then
  Tabelle2.Rows(4).EntireRow.Hidden = True
End If
End Sub



Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: Michel2508 am Mai 27, 2019, 08:56:44 Vormittag
Hallo Armin,

wieder was gelernt!

Ich habe jetzt 5 dieser Erledigt/Offen-Abfragen, um bei deinem Beispiel zu bleiben --> D4, D5, D6, D7, D8.

Wie würde das aussehen?
Habe gerade ein wenig rumprobiert, mit mäßigem Erfolg.

LG
Michel
Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: EbyAS am Mai 27, 2019, 10:58:26 Vormittag
Hallo Michel,
aber so ganz langsam solltest Du Dein ganzes Vorhaben hier erklären, damit wir nicht am Ende mehrere Wochen/Monate hier Statement's tauschen müssen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D4:D8")) Is Nothing And Target.Value = "Erledigt" Then
   Tabelle2.Rows(4).EntireRow.Hidden = False
ElseIf Not Intersect(Target, Range("D4:D8")) Is Nothing And Target.Value = "Offen" Then
   Tabelle2.Rows(4).EntireRow.Hidden = True
End If
End Sub

ODER könnte es sein das Du auch noch verschiedene Zeilen aus- einblenden willst?

Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: Michel2508 am Mai 27, 2019, 11:22:21 Vormittag
Hallo Armin,

danke für deine Geduld, ich versuche es nur zu lernen und zu verstehen...
Das fällt mir leider Schritt für Schritt am leichtesten. Entschuldige. Ich erkläre es
mal voll umfänglich. Die fünf Zellen mit dem Inhalt Erledigt oder Offen befinden sich
in Tabelle 1.

Zu jeder Zelle gehört eine Zeile die ein oder Ausgeblendet wird in Tabelle 2.

Heißt also:

D4 (Tabelle1) -> Zeile 4 (Tabelle2)
D5 (Tabelle1) -> Zeile 5 (Tabelle2)
D6 (Tabelle1) -> Zeile 6 (Tabelle2)
D7 (Tabelle1) -> Zeile 7 (Tabelle2)

Wenn du mir dabei helfen könntest, hätten wir es. Aber wahrscheinlich hätte ich
dann eventuell noch Verständnisfragen. Sorry!

ICH BIN DIR WIRKLICH DANKBAR!!!!

Ich habe versucht, überdeinen Imput mir was herzuleiten, daher die schrittweise
Abarbeitung. Dazu, haben sich aus deinen Eingaben bei mir neue Fragen ergeben.
Wie gesagt, haben noch einen weiten Weg vor mir!


Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: EbyAS am Mai 27, 2019, 11:44:58 Vormittag
Hallo Michel,
also jetzt kannst Du verschiedene Zeilen in Tabelle2 ein- bzw. ausblenden.
Ich habe dieses mal Kommentare rein geschrieben. 

Code: Visual Basic
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Dim X As Boolean
  3. If Not Intersect(Target, Range("D4:D8")) Is Nothing Then 'zunächst prüfen ob die Eingabe in Zelle D4 bis D8 erfolgte
  4.   If Target.Value = "Erledigt" Then   'wurde Erledigt oder Offen eingegeben?
  5.      X = False                        'wenn Erledigt dann sollen Zeilen eigeblendet werden
  6.   ElseIf Target.Value = "Offen" Then
  7.           X = True                      'wenn Offen dann sollen Zeilen ausgeblendet werden
  8.   End If
  9.    Select Case Target.Row 'in welcher Zeile erolgte Eingabe
  10.        Case 4  'in Zeile 4                     ' Hier muss noch die Zeile die aus/eingeblendet werden soll angegeben werden!
  11.          Tabelle2.Rows(4).EntireRow.Hidden = X ' die Rows(4) Angabe muss evtl. noch angepasst werden!
  12.        Case 5  'in Zeile 5
  13.          Tabelle2.Rows(5).EntireRow.Hidden = X ' die Rows(5) Angabe muss evtl. noch angepasst werden!
  14.        Case 6  'in Zeile 6
  15.          Tabelle2.Rows(6).EntireRow.Hidden = X ' die Rows(6) Angabe muss evtl. noch angepasst werden!
  16.        Case 7  'in Zeile 7
  17.          Tabelle2.Rows(7).EntireRow.Hidden = X ' die Rows(7) Angabe muss evtl. noch angepasst werden!
  18.        Case 8  'in Zeile 8
  19.          Tabelle2.Rows (8).EntireRow.Hidden = X ' die Rows (8) Angabe muss evtl. noch angepasst werden!
  20.   End Select
  21. End If
  22. End Sub

Falls Du etwas nicht verstehst dann frage halt. Ist ja ok.
Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: Michel2508 am Mai 27, 2019, 11:59:20 Vormittag
Hallo Armin,

funktioniert super!!!!
Und sogar ich habe verstanden, wie das funktioniert!!!

Vielen, vielen Dank!!!

LG
Michel
Titel: Antw: Bei Wort in Zelle, Zeile in anderer Tabelle einblenden
Beitrag von: maninweb am Mai 27, 2019, 13:27:28 Nachmittag
Hallo,

für EbyAS: ich habe mal in Deinem Beitrag den Code als Code markiert. Dann interpretiert das Forum den Inhalt richtig
und macht auch keine Smileys mehr draus.

Um Code als Code zu markieren, den Code erstmal in den Editor reinkopieren. Danach den Codeabschnitt markieren und
rechts oben im Editor (neben Farbe ändern), einen Eintrag zu Code wählen. Die Liste dort beinhaltet jedoch leider keinen
expliziten Eintrag zu VBA, PHP tut's auch. VBA in das Forum reinprogrammieren geht leider nicht.

Allerdings ist VB auch möglich, was nur manuell geht (und ich bei Dir gemacht habe). Dazu im Code-Tag die Kennzeichnung
manuell ändern, von z.B. [ code=php ] nach [ code=vb ].

Gruß