Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
196to200
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
196to200
196to200
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

suchen per vba

suchen per vba
29.12.2002 17:57:42
ivan martinov
hi
an alle experten brauche hilfe
ich habe nur eine einzige tabelle mit 5 spalten.(rest ausgebl.)

1.Spalte A2 BIS A1500 enthalten eingelesene hypelinks von MP3 Songs.zb. Jamming - Bob Marley

2.Spalte B2 Bis B1500 eine formel die mir rechts die namen Ausliest zb. Jamming ist weg da steht dann nur Bob Marley

3.Spalte C3 Bis C1500 Inhalte von Spalte A per macro Kopiert
zb: Jamming (macro hat auch den Interpreten ersetzt)

4.D.zelle D1 steht eine formel die mir alle songs zusammenzählt und als summe in dieser zelle ausgibt,und darunter zahlen 1 bis 1500

5. E2 BIS E1500 der inhalt aus spalte B per macro kopiert
zb Bob Marley
jetz das problem:
das beste was ich hier gefunden habe punkto suchen (1 woche)
eine tolle suchabfrage per vba die auch funtioniert nur zeigt sie mir alle einträge doppelt an und sie soll nur in spalte c
suchen.spalte c sind songtiteln als hyperlink.ich hab schon sehr viel herum probiert aber ich finde im folgenden macro keinen bereich den ich angeben kann zum suchen zb. C2 BIS C1500.
wer kann mir bitte helfen

'Ok anbei mein kompl. Code mit kleinen Erläuterungen
'für diejenigen die mir helfen wollen
'Aufbau: (UserForm)
'- 2 CommandButton (ComandButton1/CmdAbbruch)
'- 6 TextBoxen (txtAngebotNr/txtDatum/txtKunde/ect..)
'die textboxen brauch ich nicht daher auch nicht erstellt
'- 2 Listboxen (ListBox1/ListBox2)

Private Sub CmdAbbruch_Click()
Unload Me
End Sub
Private Sub CommandButton1_Click()
Dim s As String
Dim Found As Range
Dim FirstAddress As String
Dim I As Integer ' Zeile
I = 0
If txtSuche.Text = "" Then
MsgBox "Kein Eintrag vorhanden!", vbCritical, "Was soll ich den suchen?"
txtSuche.SetFocus
Else
End If
Eingabe = txtSuche.Text
If Eingabe = "" Then Exit Sub
ListBox1.Clear
ListBox2.Clear
With ActiveSheet
Set Found = .Cells.Find(Eingabe, LookAt:=xlPart)
If Not Found Is Nothing Then
FirstAddress = Found.Address
ListBox1.ColumnCount = 2
ListBox1.AddItem Found
ListBox1.List(I, 1) = Cells(Found.Row, 13)
ListBox2.AddItem Found.Row
I = I + 1
Do
Found.Activate
Set Found = Cells.FindNext(After:=ActiveCell)
On Error Resume Next
If Found.Address = FirstAddress Then Exit Do
ListBox1.AddItem Found
ListBox1.List(I, 1) = Cells(Found.Row, 13)
ListBox2.AddItem Found.Row
I = I + 1
Loop
End If
End With
CommandButton1.Caption = "Neue Suche"
End Sub

'##############################
'Hier erfolgt die Ausgabe des gesuchten
'in einer TextBox per Auswahl in der ListBox

Private Sub ListBox1_Click()
If ListBox1.Value <> "" Then
On Error Resume Next
ListBox2.ListIndex = ListBox1.ListIndex
txtAngebotNr = Cells(ListBox2.Value, 2)
txtDatum = Cells(ListBox2.Value, 3)
txtKunde = Cells(ListBox2.Value, 5)
txtOrt = Cells(ListBox2.Value, 10) & " " & Cells(ListBox2.Value, 11)
txtGesamtPreis = Cells(ListBox2.Value, 20) & " €"
txtAuftragswert = Cells(ListBox2.Value, 21) & " €"
End If
End Sub

'#################################
'Hier wird die betreffende Zeile markiert bei
'einem Doppelklick

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If ListBox1.Value <> "" Then
On Error Resume Next
ListBox2.ListIndex = ListBox1.ListIndex
Rows(ListBox2.Value).Select
End If
End Sub

Private Sub UserForm_Activate()
CommandButton1.Caption = "Suche"
End Sub

danke im voraus für eure hilfe
ivan



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

Betreff
Datum
Anwender
Anzeige
Re: suchen per vba
30.12.2002 10:26:14
Martin Beck
Hallo Ivan,

ich habe Deinen Code nicht analysiert, daher ohne Gewähr. Versuche mal statt

Set Found = .Cells.Find(Eingabe, LookAt:=xlPart)

Set Found = .Range("C2:C1500").Find(Eingabe, LookAt:=xlPart)

Mit Cells durchsuchst Du die komplette Tabelle.

Gruß
Martin Beck

Re: suchen per vba
30.12.2002 14:23:01
ivan
danke für deine schnelle antwort
aber es geht nicht er zeigt es trotzdem doppelt an oder er findet gar nix bin am verzweifeln.

Set Found = .Range("C2:C1500").Find(Eingabe, LookAt:=xlPart)
If Not Found Is Nothing Then
FirstAddress = Found.Address
ListBox1.ColumnCount = 2
ListBox1.AddItem Found
ListBox1.List(I, 1) = Cells(Found.Row, 13)
ListBox2.AddItem Found.Row
I = I + 5
Do
Found.Activate
'wenn ich es hier auch ändere dann geht gart nix mehr
Set Found = Cells.FindNext(After:=ActiveCell)
On Error Resume Next

hast du womöglich noch was parat bin für jeden tip dankbahr
ivan martinov

Anzeige
Re: suchen per vba
30.12.2002 14:34:19
Martin Beck
Hallo Ivan,

lade mal Deine Datei auf Hans' Server (oder sondtwo hin), dann kann man sich's ansehen (Link posten!). Wie das geht steht unter https://www.herber.de/forum/antworter/userfiles.htm

Ansonsten habe ich keine Idee.

Gruß
Martin Beck

Re: suchen per vba
30.12.2002 23:13:12
ivan
HI
hat sich gerade erledigt habe was umgestellt jetzt gehts
aber wenn ich schon die arbeitsmappe rübergeschickt habe da hätte ich noch ein paar einfache fragen ?????
1. wie bekomme ich rechts diese graue maske von excel weg wenn alle spalten ausgeblendet sind???

2.wie kann ich die arbeitsmappe so fixieren das man nur spalte c,d,e sieht???

3.gibt es ein vba beispiel zum einlesen von mp3 files wo beim start gefragt wird in welchen verzeichniss die mp3 dateien liegen ,auch unterverzeichnisse sollen ausgelesen werden??bzw mein einlese macro umgestalten .
dieses macro liest die mp3 datein ein aber leider nur indiesem verzeichniss

Private Sub Refresh_Click()
'Refresh
Application.ScreenUpdating = False
Dim Datei
Dim Pfad As String
Dim intZeile As Integer
Pfad = ActiveWorkbook.Path & "\" 'hier dachte ich kann man was einbauen
intZeile = 2
Datei = Dir(Pfad & "*.mp3")
Do While Datei <> ""
ActiveSheet.Hyperlinks.Add Anchor:=Cells(intZeile, 1), _
Address:=Pfad & Datei, _
TextToDisplay:=Pfad & Datei
intZeile = intZeile + 1
Datei = Dir()
Loop
'Refresh
End Sub

das hier ist erledigt
Private Sub CommandButton1_Click()
Dim s As String
Dim Found As Range
Dim FirstAddress As String
Dim I As Integer ' Zeile
I = 0 'hier habe ich von 1 auf 0 umgestellt juhu jetzt gehts
If txtSuche.Text = "" Then
MsgBox "Kein Eintrag

danke im vorraus
ivan

Anzeige
Re: drei neue Fragen
02.01.2003 17:18:36
Martin Beck
Hallo Ivan,

bei neuen FRagen ist es besser, je Frage einen neuen Thread zu eröffnen.

Zu 1.: M.W. gar nicht.

Zu 2. Alle anderen Spalten ausblenden. Oder die ScrollArea per VBA auf die Spalten C:E begrenzen:

ActiveSheet.ScrollArea = "C:E"

MAn sieht die anderen Spalten zwar noch, kann aber diese Zellen nicht mehr markieren.

Zu 3.: Schau mal in der Recherche und gib das Stichwort "UNterverzeichnis" ein. Oder direkt hier: https://www.herber.de/mailing/059299h.htm

Gruß
Martin Beck

Re: drei neue Fragen
03.01.2003 10:38:08
ivan
hi martin
danke 1000 mal hat mir geholfen .
jetz funktioniert alles.nur eins noch.
Stell dir vor das suchen wo 0 statt eins eingegeben habe zeigt mir jetzt wieder alles doppelt lol.hast da noch eine weiterte idee???
ivan
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige