Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
264to268
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
264to268
264to268
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

suchen

suchen
06.06.2003 14:20:29
EL
Hallo!
ich heb folgendes:
ich schreibe in arbeitsmappe1,Tabelle1,range H9 ein such wort ein
Gesucht soll in Arbeitsmappe2,Tabelle1 , Spalte D:D
Ausgelistet in user form alle gefundene werte in spalte D und da neben das wert von spalte C so wie die zeilen Nr.
und in user form bei klick auf die gewunste wert sollte die ganze zeile von arbeitsmappe2 copiert in ceile1 arbeits mappe1.
Kann mir jemand helfen.
Danke in voraus!
el

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: suchen
06.06.2003 18:20:52
Nepumuk

Hallo El,
in was sollen die Daten aufgelistet werden? In einer Listbox z.B.. Soll neben jedem gefundenen Wert der Suchbegiff stehen oder nur einmal in z.B. einer Textbox? Da die Einträge der Listbox sowieso dem Suchbegriff entsprechen. Willst du die Zeilennummer in der Listbox sehen? Willst du die selektierte Zeile immer in Zeile 1 kopiert haben? Sprich bei der nächsten Suche die Zeile wieder überschreiben.
Gruß
Nepumuk

Re: suchen
07.06.2003 22:12:59
el

Hallo Nepumuk!
es solte nur die erste 20 gefundene werte aus spaltte D der arbeitsmappe 2 gelistet and wenn mehr als 20 gefunden sind dan sollte ein zusatlich meldung das das die such begriff erweitert eingeben!
so die so ein liste mit mit den wert aus spalte D und gleich da neben wert von spalte C soll in userform scheine und bei 1xklick oder 2xklick aus den wert von C oder D in Userform
sollte die ganze zeile aus der arbeitsmape2 immer copiert auf zeile 1 in der arbeitsmappe1.
Danke in voraus.
el

Anzeige
Re: suchen
08.06.2003 11:21:34
Nepumuk

Hallo El,
folgenden Code in ein normales Modul:


Option Explicit

Public feld(1 To 20, 1 To 3) As String

Public Sub start()
    Dim zelle As Range, adresse As String, zaehler As Integer, tabelle As Worksheet
    Set tabelle = Workbooks("Mappe1.xls").Sheets(1)
    With tabelle.Range("D1:D65536")
        Set zelle = .Find(Cells(9, 8), LookIn:=xlValues, LookAt:=xlWhole)
        If Not zelle Is Nothing Then
            adresse = zelle.Address
            Do
                zaehler = zaehler + 1
                If zaehler <= 20 Then
                    feld(zaehler, 1) = tabelle.Cells(zelle.Row, zelle.Column)
                    feld(zaehler, 2) = tabelle.Cells(zelle.Row, zelle.Column - 1)
                    feld(zaehler, 3) = zelle.Row
                Else
                    Erase feld
                    MsgBox "Mehr als zwanzig Einträge gefunden." & vbNewLine & "Bitte Suchbegriff einschränken.", 48, "Hinweis": Exit Sub
                End If
                Set zelle = .FindNext(zelle)
            Loop Until Not zelle Is Nothing And zelle.Address = adresse
        Else
            MsgBox "Suchbegriff nicht gefunden", 48, "Hinweis": Exit Sub
        End If
    End With
    UserForm1.Show
End Sub


     Code eingefügt mit Syntaxhighlighter 2.1

folgenden Code in das Klassenmodul der Userform:


Option Explicit

Private Sub CommandButton1_Click()
    Unload Me
End Sub

Private Sub ListBox1_Click()
    Dim index As Integer
    For index = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(index) = True Then
            Workbooks("Mappe1.xls").Sheets(1).Rows(ListBox1.List(index, 2)).Copy Workbooks("Mappe2.xls").Sheets(1).Rows(1)
            Unload Me
            Exit Sub
        End If
    Next
End Sub

Private Sub UserForm_Activate()
    ListBox1.List = feld
End Sub


     Code eingefügt mit Syntaxhighlighter 2.1

Gruß
Nepumuk

Anzeige
Re: suchen
08.06.2003 23:28:31
EL

Hallo Nepumuk!
Danke ich finde es super!
1-Leider IN ListBox1 nur dir wert aus spalte D wird gezeigt,
auch mit
Private Sub UserForm_Initialize()
With ListBox1
.List() = feld
End With
End Sub
Funktioniert nicht.
2- Set zelle = .Find(Cells(9, 8), LookIn:=xlValues, LookAt:=xlPart)
bei zweite suche bleiben an der liste die werte aus der erste suche!
Gruß
EL

Re: suchen
09.06.2003 01:54:19
EL

HALLO ZUSAMMEN,
Public Sub start()
Erase feld
Dim zelle As Range, adresse As String, zaehler As Integer, tabelle As Worksheet
IST DER LÖSSUNG FÜR PUNKT 2.
Gruß
EL

Anzeige
Re: suchen
09.06.2003 08:32:10
Nepumuk

Hallo El,
ich hätte es zwar nicht in diese Zeile geschrieben, da bei mir gewohnheitsmäßig die Dim-Anweisungen ganz oben im Programm stehen, aber vom Prinzip her, hätte ich es nicht anders gemacht.
Das Problem mit der Anzeige kannst du so lösen:
Du machst die Listbox dreispaltig. Dazu gibst du im Eigenschaftsfenster der Listbox beim Punkt ColumnCount eine 3 ein. Damit die Zeilennummer nicht angezeigt wird, gibst du beim Punkt ColumnWidths, wenn deine Listbox eine gesamtbreite von z.B. 220 hat (die siehst du unter dem Punkt Width), einfach 105;105;0 ein. Excel macht dann automatisch 105 Pt;105 Pt;0 Pt daraus. Damit werden nur die ersten beiden Spalten angezeigt.
Gruß
Nepumuk

Anzeige
Re: suchen
09.06.2003 11:11:50
EL

Hallo Nepumuk!
Alles bestens vielen Dank!
EL

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige