Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Formulare, Listboxen und durchsuchen von Tabellen

Frage Microsoft Microsoft Office

Mitglied: 94451

94451 (Level 1)

26.02.2015, aktualisiert 20:17 Uhr, 729 Aufrufe, 5 Kommentare

Hallo Ihr,

dieses Script hat mir schon sehr weitergeholfen...
hab ich 'fast' so in den Tiefen des Internets gefunden:

01.
    With Worksheets("Lieferanten").Range("A:A") 
02.
    editForm.lieferList.Clear 
03.
      Set rngCell = .Find("*" & editForm.listTextb.value & "*", LookIn:=xlValues, lookat:=xlWhole) 
04.
        If Not rngCell Is Nothing Then 
05.
          strFirstAddress = rngCell.Address 
06.
          Do 
07.
            With editForm.lieferList 
08.
            .ColumnCount = 4 
09.
              .AddItem 
10.
              .List(.ListCount - 1, 0) = rngCell.value 
11.
              .List(.ListCount - 1, 1) = rngCell.Offset(0, 1).value 
12.
              .List(.ListCount - 1, 2) = rngCell.Offset(0, 2).value 
13.
              .List(.ListCount - 1, 3) = rngCell.Offset(0, 3).value 
14.
              .ColumnWidths = "2,5cm;1,5cm;2,5cm;2,5cm" 
15.
            End With 
16.
            Set rngCell = .FindNext(rngCell) 
17.
            Loop While Not rngCell Is Nothing And rngCell.Address <> strFirstAddress 
18.
          Else 
19.
           MsgBox "Lieferant nicht gefunden", 48 
20.
        End If 
21.
    End With

er holt sich meine Kontaktliste und füllt meine Liste nach bedarf auf!

Frage 1:
hier wird vermutlich die Suche durchgeführt
Set rngCell = .Find("*" & editForm.listTextb.value & "*", LookIn:=xlValues, lookat:=xlWhole)
wie kann ich bestimmen welche Spalte durchsucht wird?

Frage 2:
ist es möglich mehrere Spalten gleichzeitig zu durchsuchen? Wenn ja wie?
- wenn nein, wie mache ich das am geschicktesten, das ich bei jeder suche Triggern kann welche Spalte ich jetzt durchsuche (würde dann neben dem Suchbutton noch ne dropdown mit der Suchspalte machen)

Frage 3:
ich habe in meiner Tabelle Überschriften... diese werden vom Formular mit übernommen! wie kann ich die ausschließen?
damit bin ich gescheitert:
With Worksheets("Lieferanten").Range("A:A").Offset(1, 0)


Ich freue mich für jeden Tipp

Danke

RoadRunner
Mitglied: 114757
26.02.2015, aktualisiert um 20:43 Uhr
Zitat von 94451:
Frage 1:
hier wird vermutlich die Suche durchgeführt
> Set rngCell = .Find("*" & editForm.listTextb.value & "*", LookIn:=xlValues,
lookat:=xlWhole)
wie kann ich bestimmen welche Spalte durchsucht wird?
Range hier ändern...
 With Worksheets("Lieferanten").Range("B:B") 
Frage 2:
ist es möglich mehrere Spalten gleichzeitig zu durchsuchen? Wenn ja wie?
Range anpassen, z.B.
 With Worksheets("Lieferanten").Range("A:D") 
Frage 3:
ich habe in meiner Tabelle Überschriften... diese werden vom Formular mit übernommen! wie kann ich die
ausschließen?
damit bin ich gescheitert:
> With Worksheets("Lieferanten").Range("A:A").Offset(1, 0)
With Worksheets("Lieferanten").Range("A2:A" & Cells(Rows.Count,1).End(xlUp).Row).
Gruß jodel32
Bitte warten ..
Mitglied: 94451
26.02.2015 um 20:54 Uhr
With Worksheets("Lieferanten").Range("A2:A" & Cells(Rows.Count,1).End(xlUp).Row)

das hier funktioniert

erst mal vielen Dank

... das andere Funktioniert leider nicht wie erhofft...

wenn ich die Range auf B:B ändere, dann sucht er zwar nach der Spalte, aber setzt diese auch ganz vorne hin...
=> das könnte ich aber noch über die Aufteilung ändern!

das Größere Problem ist wenn ich meine Range ändere auf A:D dann erhalte ich hier zu viele Ergebnisse
-> zu deutsch, wenn ich nach * suche, erhalte ich jeden wert 3 mal... zusätzlich werden die werte verschoben (also ich erhalte dann nur die Daten ab B bzw C oder D...)
siehe: http://www.directupload.net/file/d/3910/kyaorksp_png.htm
Bitte warten ..
Mitglied: 114757
26.02.2015 um 23:53 Uhr
Ganz einfach, du kannst die Spalte ermitteln in der der Wert gefunden wurde und dementsprechend die Offsets der Spalten dynamisch anpassen.
Die Spalte in der der Wert gefunden wurde erhältst du mit
rngCell.Column
Damit kannst du nun die Offsets verschieben...
Bitte warten ..
Mitglied: 116301
27.02.2015 um 00:27 Uhr
Hallo Roadrunner777!

Ergänzend die dynamische Anpassung

Mit Spalte(B):
01.
With Worksheets("Lieferanten").Range("B2:B" & Cells(Rows.Count, "A").End(xlUp).Row) 
02.
    '..... 
03.
    .List(.ListCount - 1, 0) = rngCell.Offset(0, -1).Value  'Spalte A 
04.
    .List(.ListCount - 1, 1) = rngCell.Offset(0, 0).Value   'Spalte B 
05.
    .List(.ListCount - 1, 2) = rngCell.Offset(0, 1).Value   'Spalte C 
06.
    .List(.ListCount - 1, 3) = rngCell.Offset(0, 2).Value   'Spalte D 
07.
    '..... 
08.
End With
Mit Spalte(A:D):
01.
With Worksheets("Lieferanten").Range("A2:D" & Cells(Rows.Count, "A").End(xlUp).Row) 
02.
    '..... 
03.
    .List(.ListCount - 1, 0) = rngCell.Offset(0, 1 - rngCell.Column).Value  'Spalte A 
04.
    .List(.ListCount - 1, 1) = rngCell.Offset(0, 2 - rngCell.Column).Value  'Spalte B 
05.
    .List(.ListCount - 1, 2) = rngCell.Offset(0, 3 - rngCell.Column).Value  'Spalte C 
06.
    .List(.ListCount - 1, 3) = rngCell.Offset(0, 4 - rngCell.Column).Value  'Spalte D 
07.
    '..... 
08.
End With
Grüße Dieter
Bitte warten ..
Mitglied: 94451
03.03.2015 um 13:36 Uhr
Hi,

die Lösung funktioniert gut...

das einzige was jetzt evtl. noch Fehlt, wäre das wenn die Kundennummer und die Telefonnummer ähnliche Passagen haben das der Eintrag zweimal kommt.

oder wenn ich mit * einfach alle anzeigen will, kommt es 4 Fach!

<- kann man eine abfrage machen 'wurde bereits ausgegeben'?

in Spalte A ist eine ID die nicht Doppelt vorkommt!
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Sverweis - mehrere Tabellen durchsuchen
gelöst Frage von Florian86Microsoft Office5 Kommentare

Hallo, kann man mit SVerweis mehrere Tabellen durchsuchen??? Ich habe das schon im Netz gefunden aber irgendwie werd ich ...

Microsoft Office
Excel: Tabelle nach Pärchen durchsuchen und gruppieren
Frage von lebmugMicrosoft Office1 Kommentar

Hallo zusammen, ich habe eine Excel-Sheet mit 6 Spalten, davon jeweils 3 aus einer Perspektive: ID1, Volumen1, Anzahl1, ID2, ...

Microsoft Office
Spalte E nach beliebig vielen Suchbegriffen (mit Leerzeichen getrennt) durchsuchen und in Listbox ausgeben
gelöst Frage von mreskeMicrosoft Office12 Kommentare

Hallo ich habe eine Excel Tabelle mit einem Artikelstamm, in dem in der Spalte E die ARTIKELBEZEICHNUNG steht. Ich ...

VB for Applications
Mehrere Spalten Durchsuchen und Ergebnisse in neuer Tabelle Ausgeben
Frage von Mr.GreenVB for Applications3 Kommentare

Hallo liebe Community. Ich würde gerne mit einer VBA mehrere Spalten ("A:W") in einer Tabelle nach einem oder mehreren ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office9 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 1 TagSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 1 TagMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner15 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...