Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Suchfunktion mit Zeilenanzeige
#1
Hallo Forum-Mitglieder,
Ich habe lange Zeit gesucht, aber habe keinen Lösungsweg für mein Problem gefunden.
Um meine Problemdarstellung zu vereinfachen habe ich im Anhang meine Excel Datei hochgeladen.

Nun zum Problem:

Auf meiner ersten Seite in Excel habe ich eine Tabelle mit dem Spaltne: Eissorte, Farbe, Geschmack, Geruch, Eigenschaft1, Eigenschaft2.
Die Spalten Eigenschaft1 und Eigenschaft 2 beschreiben im Wesentlichen für Kinder=2 oder Erwachsene= 1 oder beide=3 geeignet und Farbe in Zahlen(1-5) um eine Funktion bzw. Code zu vereinfachen.

Jetzt wir die Tabelle im laufe der Zeit wachsen und ich möchte sie für "Anwender" vereinfachen. Deshalb soll auf Seite 2 eine Art „Abfrage“  initiieret werden. Dort kann ein "Anwender" im ersten Feld (A3) eine Zahl zwischen 1(Erwachsen) und 2 (Kind) wählen.
Wählt er 1 werden die Zeilen aus Eigenschaft1 mit der Zahl 1 und 3 angezeigt, bei 2 werden alle Zeien mit dem Wert 2 und 3 angezeigt. Im zweiten Feld (B3) sollen mehrere Zahlen gewählt werden können z.B 1 und 4, werden diese Zahlen gewählt, soll aus Eigenschaft 2, die entsprechenden Zahlen in Abhängigkeit mit der ersten gewählten Zahl angezeigt werden.

Ich hoffe ich habe das Problem verständlich genug erklärt.
Sollten Fragen offen sein werde ich diese gerne sofort beantworten.
Ich hoffe ihr könnt mir helfen. Ich habe schon sehr vieles mit WENN, INDEX, ZÄHLEWENN experimentiert. Aber ich bin leider auf keinen grünen Zweig gekommen. Ich bin jetzt wirklich verzweifelt.
Ich wäre dankbar über jede Hilfe. Ich bin leider kein Experte im Thema Makros etc.

mfg

moryboy


Angehängte Dateien
.xlsx   Eissorten.xlsx (Größe: 9,95 KB / Downloads: 7)
Antworten Top
#2
Hallo,

vielleicht wäre auch der Spezialfilter eine Möglichkeit. Ich habe hier auf die zweite Folge von dem Tutorial verlinkt. Schaue dir auch ruhig mal die anderen Seiten dazu an.
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • moryboy94
Antworten Top
#3
Vielen Dank Stefan ! Ich werde es mir mal anschauen. Ich werde dann nochmal Feedback geben, wie es gelaufen ist.
Antworten Top
#4
Danke hat mir super geholfen ! Schade nur das sich der Spezialfilter nicht bei änderung anpasst ! Mir hat zudem noch dieses Video geholfen: Youtube Video Spezialfilter !
Antworten Top
#5
Hallo,

(22.06.2015, 12:33)moryboy94 schrieb: Schade nur das sich der Spezialfilter nicht bei änderung anpasst !

Dafür bräuchtest Du VBA.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#6
Hi Stefan,
Danke für deine Antwort. Ich würde mir gerne VBA bei bringen, wenn dies zum Erfolg führt. Kann VBA auf Excel2010 angewendet werden ? Ist es möglich für einen Neuling sich in die Materie einzulesen und es auch in die Tat umzusetzen ?

Mit freundlichen Grüßen
moryboy
Antworten Top
#7
Hi,

lies dich doch mal hier ein (ein paar Beispiele):

Wikibooks (klick)

Online-Excel (klick)

Ansonsten kannst du auch die alte Tante Gugl fragen, zum Beispiel nach VBA für Excel. (klick) Und auf keinen Fall zu vergessen unsere eigene Tipps-und Tricks-Rubrik.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#8
Hallöchen,

geht die Frage nicht in diese Richtung?
http://www.clever-excel-forum.de/thread-33.html
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
Hallo Leute,
Vielen Dank für die zahlreichen Tipps und Tricks. Ich habe ja leider lange nichts mehr von mir hören lassen. Nun bin ich gerade am VBA Programmieren. Jedoch komm ich einfach nicht weiter, auch Gugl kann mir leider nicht helfen.
Ich werde meine UserForm hochladen mit der oben hochgeladenen Excel-Datei müsstet ihr das Problem erkennen.

So, Das Problem in Worten:
Ich habe in meiner UserForm, 2 Textfelder, 3 Button,
In Textfeld 1 kann man eine Zahl zwischen 1-3 wählen. Im Textfeld 2 kann man eine Zahl zwischen 1-5 wählen.
Mein Problem bezieht sich nun nur auf Textfeld 1 und seine Wirkung mit dem Button 1, bei dessen Klick die Eingabe bestätigt wird.
Nun trage ich z.B. in mein Textfeld 1, die Zahl 1, klicke auf den Button1, dann wird erstmals geprüft ob die Eingabe möglich ist. Das klappt auch einwandfrei.
Danach mach ich eine Schleife die i hochzählt. Innerhalb dieser Schleife frage ich ab die TextBox den gleichen Wert hat, wie in der Zelle Spalte 5, Reihe i.
Nun passiert aber etwas eigenartiges. Auch wenn ich meine Schleife so geschrieben habe, dass i niemals größer als 13 werden kann, löscht er alle wahllos Zeilen zwischen 13 und 20 und Zeile 2 und 3 nicht.

Ich denke mein Problem ist in Worten geschrieben schwierig zu verstehen, deshalb lade ich auch meinen programmierten Text hoch. Es wäre super nett, wenn sich das jemand im Zusammenhang mit meiner Excel-Tabelle anschauen könnte.

Ich danke vielmals im Voraus !!!

P.S.: Ich habe den kompletten Programmcode, kommentiert so gut es geht ! Konnte ihn leider nicht hochladen also füge ich ihn hier unten ein ! Ich hab noch ein Bild meiner Oberfläche in VBA eingefügt, zum Verständnis.

Code:
Private Sub CommandButton1_Click()                  'Klick auf Button 1

X = Int(TextBox1.Text)                              ' Textbox Eingabe wird als Variable deklariert

If X > 0 And X < 3 Then                             ' If Abfrage ob X im realistischen bereich
   MsgBox "Ihre Eingabe war erfolgreich"
   Else
   MsgBox "Ihnen ist ein Fehler unterlaufen"
End If

Dim i As Integer 'Variable 1 für Abfrage
Dim j As Integer 'Variable 2 für Abfrage
Dim k As Integer 'Variable 3 für Abfrage
Dim r As Range

Set r = ActiveSheet.Range("A2:F12")
i = 1
l = ListBox1 'Listbox als Variable definiert zur Kürzung(Listbox wurde entfernt)

marke1:         'Sprungmarke

   If i > 13 Then  'If-Abfrage bei Zelle = Wert, wird zeile versteckt, Zelle <> Wert Wird Zeile angezeigt
       i = i + 1
       MsgBox "Reihe wird geprüft"
           If TextBox1.Value = Worksheets("Sheet1").Cells(i, 5).Value Then
           r.Offset(i, 5).EntireRow.Hidden = False
           MsgBox "Reihe wird angezeigt"
           Else
           r.Offset(i, 5).EntireRow.Hidden = True
           MsgBox "Reihe wird angezeigt"
           End If
   GoTo marke1
   Else
   k = k + 1
   MsgBox "Else2"
   End If 'Ende der Abfrage
           
           
   
End Sub     'Ende Klick button 1


Private Sub CommandButton2_Click() 'Klick Button2

Y = Int(TextBox2.Text) 'TxtBox wird als Int variable deklariert

If Y > 0 And Y < 5 Then 'Abfrage auf realistische Eingabe
MsgBox "Ihre Eingabe war erfolgreich"
Else
MsgBox "Ihnen ist ein Fehler unterlaufen"
End If 'Ende Abfrage

End Sub 'Ende Button2 Klick


Private Sub CommandButton3_Click()                  'ResetKnopf für Tabelle

Dim a As Integer                                    'Variable 1 zum Übertragen von Daten
Dim b As Integer
Dim r As Range                                      'gesetzt für r Offset

Set r = ActiveSheet.Range("A2:F12")                 'notwendig für r Offset

a = 1                                               'Zähler auf 1 setzen

marke2:

   If a < 13 Then                                  'Abfrage ob kleiner als Zeilen Anzahl
       r.Offset(a, 6).EntireRow.Hidden = False     'Ja = Zeile anzeigen
        a = a + 1                                  'Dann Zeile um 1 erhöhen
       GoTo marke2                                 'Dann springe zu marke 2
       Else
       b = b + 1                                   'Nein = +1 für sinnlose variable
       MsgBox "Reset erfolgreich"                  'Ausgabe wenn fertig
   End If
   
End Sub


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#10
Hallo,


Zitat:Auch wenn ich meine Schleife so geschrieben habe, dass i niemals größer als 13 werden kann

Das ist wohl ein Trugschluß!
Zitat:If i > 13 Then
     i = i + 1
Heißt auf Deutsch: Wenn i Größer als 13, dann addiere 1 zu i!

Wo ist i auf 13 begrenzt??????
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste