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

Name der Arbeitsmappe in Listbox

Name der Arbeitsmappe in Listbox
25.07.2003 10:54:10
Ivan
Hallo Alle
in einer userform1 durchsuche ich per commandbutton
62 arbeitsmappen nach bestimmten suchbegriffen.
jetzt hätte ich noch gerne eine listbox dazu die mir während der
abfrage zeigt in welcher arbeitsmappe gerade gesucht wird!
die listbox soll nur den namen der arbeitsmappe zeigen.
HAT JEMAND EINE IDEE WIE ICH DAS ANFANGEN KANN??
ODER SOGAR EINEN FERTIGEN ODER HALB FERTIGEN CODE???
gruss
ivan

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Name der Arbeitsmappe in Listbox
25.07.2003 11:03:28
Nepumuk
Hallo Ivan,
wie sieht den der Programmteil, in dem die Mappen geöffnet werden, aus?
Gruß
Nepumuk

AW: Name der Arbeitsmappe in Listbox
25.07.2003 11:12:15
Ivan
hi Nepumuk
wenn ich dich nicht hätte!:))lol DANKE

Private Sub ComboBox2_Change()
Application.DisplayAlerts = False
Dim InI As Integer
If ComboBox2.Value = "Alles Schließen" Then
For InI = Workbooks.Count To 1 Step -1
If Workbooks(InI).Name <> ThisWorkbook.Name Then Workbooks(InI).Close True
Next InI
End If
If ComboBox2.Value = "Anfang" Then
MsgBox "Klicken Sie Alles Schließen !"
End If
If ComboBox2.Value = "1" Then
Workbooks.Open Filename:="G:\!Privat\XLS\Mappe1.xls"
Range("H1").Select
ActiveCell.FormulaR1C1 = "=COUNTA(R[1]C[-6]:R[1999]C[-6])"
Range("H1").Select
UserForm1.TextBox3 = Range("H1")
End If
If ComboBox2.Value = "2" Then
Workbooks.Open Filename:="G:\!Privat\XLS\Mappe2.xls"
Range("H1").Select
ActiveCell.FormulaR1C1 = "=COUNTA(R[1]C[-6]:R[1999]C[-6])"
Range("H1").Select
'das geht dann bis 62 runter.
End Sub

gruss
ivan

Anzeige
AW: Name der Arbeitsmappe in Listbox
25.07.2003 11:41:09
Nepumuk
Hallo Ivan,
1. Warum schließt du die Mappe, nachdem du den Wert aus H1 geholt hast, nicht sofort? Dann kannst du dir den Part mit alle schließen schon sparen.
2. Du hast wirklich 62 mal die praktisch identische Routine in dem Programm von Combobox2? Ist nicht dein Ernst?
Gruß
Nepumuk

AW: Name der Arbeitsmappe in Listbox
25.07.2003 11:52:08
Ivan
hi Nepumuk
also zu 1
das mit dem schließen hab ich nur als test für weitere dinge geplant.
das wird sowieso geändert.
und punkt 2
das ist ja nur die manuelle auswahl die ohne nachdenken
so gemacht habe . ich weis was du meinst 1 to 62 und so aber dazu hatte ich noch nicht gelegenheit.mir ist das nicht ganz klar wie ich das angehen soll.
der eigentliche code für die suchabfrage ist ja von dir und ramses.
hier der code.
'SUCHE

Private Sub Suche_Click()
Application.DisplayAlerts = False
Dim e As String
Dim s As String
Dim Found As Range
Dim FirstAddress As String
Dim i As Integer    ' Zeile
'Neu
Dim CicI As Integer
On Error Resume Next
If Err.Number <> 0 Then
MsgBox "Kein Eintrag vorhanden!", vbCritical, "Schreiben Sie was rein"
End If
i = 0
If ComboBox1.Text = "" Then
MsgBox "Kein Eintrag vorhanden!", vbCritical, "Was soll ich den suchen?"
Suche.SetFocus
Else
End If
e = ComboBox1.Text
If e = "" Then Exit Sub
ListBox1.Clear
ListBox2.Clear
With ActiveSheet
Set Found = .Cells.Find(e, LookAt:=xlPart)
If Not Found Is Nothing Then
FirstAddress = Found.Address
ListBox1.ColumnCount = 1
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
'Neu
Else
For CicI = Me.ComboBox2.Value + 1 To 62 'Wert aus der combobox übernehmen
Workbooks.Open Filename:="G:\Mappe" & CicI & ".xls"
Set Found = .Cells.Find(e, LookAt:=xlPart)
If Not Found Is Nothing Then
FirstAddress = Found.Address
ListBox1.ColumnCount = 1
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
Exit For
End If
Next CicI
End If
End With
Suche.Caption = "Neue Suche"
UserForm1.TextBox3 = Range("H1")
Me.TextBox2 = Me.ListBox1.ListCount
Application.DisplayAlerts = True
End Sub

'Bei doppelklick In Listbox1 HYPERLINK folgen.

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("DB").Activate
On Error Resume Next
If Err.Number <> 0 Then
End If
Range("B" & CStr(ListBox2.List(ListBox1.ListIndex))).Hyperlinks(1).Follow
End Sub

danke
ivan

Anzeige
AW: Name der Arbeitsmappe in Listbox
25.07.2003 12:05:01
Nepumuk
Hallo Ivan,
eine Listbox ist nicht unbeding geeignet mal kurz einen Text anzuzeigen. Nimm besser ein Label, dem du als Hintergrundfarbe die Farbe der Userform gibst. Da ist es, solange nichts bearbeitet wird auch nicht sichtbar. Du gibst den Wert den du aus den Mappen bekommst in einer Textbox aus. Wenn du den dann nicht weiter bearbeiten willst, würde ich dir auch hier zu einem Label raten. Der Code für die Combobox, oder das was davon übrigbleibt, sieht dann so aus:

Option Explicit
Private Sub ComboBox2_Change()
Label1.Caption = "Mappe" & ComboBox2.Value & " wird bearbeitet."
GetObject "G:\!Privat\XLS\Mappe" & ComboBox2.Value & ".xls"
Workbooks("Mappe" & ComboBox2.Value & ".xls").Worksheets(1).Range("H1").FormulaR1C1 = "=COUNTA(R[1]C[-6]:R[1999]C[-6])"
UserForm1.TextBox3 = Workbooks("Mappe" & ComboBox2.Value & ".xls").Worksheets(1).Range("H1")
Workbooks("Mappe" & ComboBox2.Value & ".xls").Close False
Label1.Caption = ""
End Sub


Code eingefügt mit: Excel Code Jeanie
In deinem Fall habe ich an Stelle von Workbook.Open die Anweisung GetObject verwendet, da die Mappe dabei nicht eingeblendet wird und so der Vorgang etwas schneller und für den User unsichtbar abläuft.
Gruß
Nepumuk

Anzeige
AW: Name der Arbeitsmappe in Listbox
25.07.2003 12:37:55
Ivan
hi Nepumuk
Genial ohne fehler gleich beim ersten test!
Vielen DANK du bist ein GENIE!
Jedoch während der abfrage zeigt mir der label nichts.
nur wenn ich es in der listbox manuell auswähle.
ich denke ich sollte den code auch in die suchabfrage reingeben oder nicht??
oder muß ich noch was ändern??
GRUSS
IVAN

AW: Name der Arbeitsmappe in Listbox
25.07.2003 12:50:18
Nepumuk
Hallo Ivan,
habe ich vergessen. Füge nach der Zeile:
Label1.Caption = "Mappe" & ComboBox2.Value & " wird bearbeitet."
die Anweisung:
DoEvents
ein. Dann sollte die Anzeige klappen.
Gruß
Nepumuk

AW: Name der Arbeitsmappe in Listbox
25.07.2003 13:15:04
Ivan
hi Nepumuk
habe es getestet aber es tut sich nichts also kein fehler,
aber auch der label ädert sich nicht beim suchen
wenn ich DoEvents einfüge.
danke
ivan

Anzeige
AW: Name der Arbeitsmappe in Listbox
25.07.2003 13:20:57
Ivan
hi Nepumuk
habe es getestet aber es tut sich nichts also kein fehler,
aber auch der label ädert sich nicht beim suchen
wenn ich DoEvents einfüge.
danke
ivan

AW: Name der Arbeitsmappe in Listbox
25.07.2003 13:26:00
Nepumuk
Hallo Ivan,
ich habe es gerade mal getestet. Funktioniert einwandfrei. Lass nochmal den Code wie du ihn benutz sehen.
Gruß
Nepumuk

AW: Name der Arbeitsmappe in Listbox
25.07.2003 13:39:32
Ivan

Private Sub ComboBox2_Change()
Application.DisplayAlerts = False
Label19.Caption = "arch" & ComboBox2.Value & " wird gerade Durchsucht."
GetObject "G:\!Privat\XLS\Mappe" & ComboBox2.Value & ".xls"
Workbooks("Mappe" & ComboBox2.Value & ".xls").Worksheets(1).Range("H1").FormulaR1C1 = "=COUNTA(R[1]C[-6]:R[1999]C[-6])"
UserForm1.TextBox3 = Workbooks("Mappe" & ComboBox2.Value & ".xls").Worksheets(1).Range("H1")
Workbooks("Mappe" & ComboBox2.Value & ".xls").Close False
'Label1.Caption = ""'ich denke hier liegt der fehler
es ist ja label 19 wenn ich 19 reinschreibe sehe ich nix beim umschalten in der combobox also habe ich ihn deaktiviert dann gehts  dafür läüft das label19 aber nicht weiter :))lol
DoEvents
Dim InI As Integer
If ComboBox2.Value = "Alles Schließen" Then
usw.
End Sub

danke
gruss
ivan

Anzeige
AW: Name der Arbeitsmappe in Listbox
25.07.2003 13:44:46
Nepumuk
Hallo Ivan,
ich schrieb doch nach der zuweisung des Namens an das Label. Alos:
Label19.Caption = "arch" & ComboBox2.Value & " wird gerade Durchsucht."
DoEvents
GetObject "G:\!Privat\XLS\Mappe" & ComboBox2.Value & ".xls"
.
.
Gruß
Nepumuk

AW: Name der Arbeitsmappe in Listbox
25.07.2003 13:58:49
Ivan
hi Nepumuk
nein es wird nicht weiter angezeigt,
nur einmal wenn ich in der combo auswähle mit der maus.
wenn ich dann auf suchen klicke bleibt die alte mappe3
während die suche schon bei mappe 23 ist verstehst.
so einen code würde ich noch zusätzlich in den anderen code wo die suche ist benötigen.
weil ja die suche die combobox dann steurt .
Me.ComboBox2.Value + 1 To 62 'Wert aus der combobox übernehmen
hoffe du verstehst mich jetzt
danke
ivan

Anzeige
AW: Name der Arbeitsmappe in Listbox
25.07.2003 14:11:58
Nepumuk
Hallo Ivan,
ich versteh nicht ganz. Du durchsuchst alle 62 Mappen nacheinander. Wozu dann die Auswahl in der Combobox? Wo ist die Schleife, die eine Mappe nach der anderen öffnet?
Gruß
Nepumuk

AW: Name der Arbeitsmappe in Listbox
25.07.2003 14:19:44
Ivan
hi Nepumuk
die auswahl combo benötige ich wenn ich gezielt in die mappe wechseln möchte
und ich weiß das dort ein eintrag ist.und es kommen noch zusätzliche fuetures
da ich nicht viel platz in der userform habe,verwende ich die combo auch als
commandbutton sozusagen.
deine 2.frage wo ist die schleife ?
ich habe dir ja den suche code gepostet.
hast du ihn nicht gesehen??
danke
GRUSS
IVAN

Anzeige
AW: Name der Arbeitsmappe in Listbox
25.07.2003 14:23:29
Nepumuk
Hallo Ivan,
dann musst du die Anzeige auch in diese Schleife legen.
Gruß
Nepumuk

AW: Name der Arbeitsmappe in Listbox
25.07.2003 14:29:03
Ivan
hi Nepumuk
das habe ich schon ein paar mal versucht an verschieden
stellen des codes aber da kommen dann immer fehlermeldungen.
könntest du mir sagen in welche zeile ich ihn einfügen soll??
gruss
ivan

AW: Name der Arbeitsmappe in Listbox
25.07.2003 14:49:35
Nepumuk
Hallo Ivan,
For CicI = Me.ComboBox2.Value + 1 To 62 'Wert aus der combobox übernehmen
Workbooks.Open Filename:="G:\Mappe" & CicI & ".xls"
hier !!!!!!! (aber beide Zeilen also Anzeige und DoEvent)
Set Found = .Cells.Find(e, LookAt:=xlPart)
If Not Found Is Nothing Then
Gruß
Nepumuk

Anzeige
AW: Name der Arbeitsmappe in Listbox
25.07.2003 15:04:00
Ivan
hi Nepumuk
Gar nix nicht mahl ein fehler.
es bleibt so wie es ist.
lass mal gut sein.
ich werde noch herumbasteln.
vieleicht klappt es dann??
vielen dank für deinen einsatz.
gruss
ivan

AW: Name der Arbeitsmappe in Listbox
25.07.2003 11:04:52
Willie
Du hast ja bestimmt einen loop
der jede Mappe öffnet!
Dann lass doch einfach z. B.
in einen Label mit ActiveWorkbook.Name dir
den Namen der Mappe anzeigen....
z.B . Label1.value = ActiveWorkbook.Name
Gruß
Willie

AW: Name der Arbeitsmappe in Listbox
25.07.2003 11:16:09
Ivan
hi WILLIE
ich habe gerade den code gepostet.
schau ihn mal an.
danke auch dir für deinen einsatz.
gruss
ivan

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige