Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variable soll >= oder <= Wert aus Inputbox sein

Variable soll >= oder <= Wert aus Inputbox sein
26.07.2007 02:30:00
Chris
Guten Morgen!
Ich habe ein Makro, was folgende Aktionen per Knopfdruck durchfuehrt:
1. Ein Inputfenster oeffnet sich
2. Nach der Eingabe einer Zahl (z.B. 111) werden alle *.XLS Dateien eines Ordners in einer bestimmten Zelle ( bei mir "G41") durchsucht und getestet, ob der eingetragene Wert (111) sich in der Zelle ("G41") befindet
3. Sollten Ergebnisse gefunden werden (d.h. sollten eine oder mehrere Dateien in der Zelle G41 den Wert 111 enthalten), werden die Pfade dieser Dateien sowie deren Dateinamen in einem neu geoeffneten Blatt dargestellt
Mein Ziel:
In meinen Exceltabellen befinden sich IMMER in Zelle "G41" die Gesamtkosten eines Produkts.
Ich moechte mit meiner Suchfunktion nun alle Dateien finden, in denen die Gesamtkosten, also der Wert in "G41" kleiner oder gleich dem in das Inputfenster eingetragene Suchwert (hier: "111") sind.
Um das zu schaffen, muesste man die bisherige Suchfunktion ein wenig umwandeln, denn bisher findet mein Suchprogramm nur Werte, die identisch zu dem in das Inputfenster eingetragenen Suchwert sind.
Meine Frage:
Ist es moeglich, meine Suche so zu veraendern, dass nicht nur indentische Werte gefunden werden, sondern auch Werte die kleiner des in die Inputbox eingetragenen Suchwerts sind?
- In meinem Beispiel waeren das dann alle Dateien, die in der Zelle "G41" einen Wert haben, der kleiner oder gleich 111 ist.
Meine Idee
In meiner (unten angehaengten) bisherigen Funktion wird die Variable "wort", als der in die Inputbox eingetragene Wert (111) definiert:
wort = InputBox("Gib hier die Gesamtkosten ein")
In meiner Suche wird dann nur nach "wort" (111) gesucht und nicht nach kleiner gleich "wort" (111):
Set erg = ws.Cells(41, 7).Find(What:=wort, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
1. Ich vermittel irgendwo in der Suche, dass nicht =wort, sondern ------ das habe ich nicht geschafft (vielleicht auch unmoeglich?!)
2. Ich definiere eine Variable als ------ das habe ich auch nicht geschafft!
Ich hoffe ich konnte mein Problem halbwegs anschaulich erklaeren und bin natuerlich fuer jeden Loesungsansatz offen!
Vielen Dank im voraus und freundliche Gruesse!
Chris
----------------------------------------------------------------------------------------------
Bisheriges Programm:

Private Sub CommandButton6_Click()
Dim wort$, fs As FileSearch, i%, efz%
Dim wsA As Worksheet, wb As Workbook, ws As Worksheet, erg As Range
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Application.AskToUpdateLinks = False
wort = InputBox("Gib hier die Gesamtkosten ein")
'hier wird die Variable "wort" als gleich  Suchwert definiert... sie muesste aber wenn  _
moeglich kleiner gleich dem Suchwert sein
If wort = "" Then Exit Sub
On Error Resume Next
Application.DisplayAlerts = False
ThisWorkbook.Worksheets("Auswahl").Delete
Application.DisplayAlerts = True
ThisWorkbook.Worksheets.Add.Name = "Auswahl"
Set wsA = ActiveWorkbook.Worksheets(1)
Set fs = Application.FileSearch
With fs
.LookIn = "\\192.168...\HakC\Exceldateien"
.Filename = "*.xls"
.SearchSubFolders = False
.Execute
wsA.Range("A1").Value = " wurde in folgenden Dateien gefunden:"
wsA.Rows(1).Font.Bold = True
wsA.Range("B1").Value = "Dateiname"
wsA.Range("C1").Value = "Fundzelle"
For i = 1 To .FoundFiles.Count
If Dir(.FoundFiles(i))  ThisWorkbook.Name Then
Workbooks.Open .FoundFiles(i)
Set wb = ActiveWorkbook
Set ws = ActiveSheet
Set erg = ws.Cells(41, 7).Find(What:=wort, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
If Not erg Is Nothing Then
efz = wsA.Cells(Rows.Count, 1).End(xlUp).Row + 1
wsA.Cells(efz, 1).Value = .FoundFiles(i)
ws.Hyperlinks.Add Anchor:=wsA.Cells(efz, 1), Address:=.FoundFiles(i)
wsA.Cells(efz, 2).Value = Dir(.FoundFiles(i))
wsA.Cells(efz, 3).Value = erg.Address
End If
wb.Close False
End If
Next i
End With
wsA.Columns.AutoFit
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.AskToUpdateLinks = True
End Sub


3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable soll >= oder <= Wert aus Inputbox sein
26.07.2007 06:51:56
haw
Hallo Chris,
so z.B.:

Private Sub CommandButton6_Click()
Dim wort, fs As FileSearch, i%, efz%
Dim wsA As Worksheet, wb As Workbook, ws As Worksheet, erg As Range
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Application.AskToUpdateLinks = False
wort = InputBox("Gib hier die Gesamtkosten ein")
'hier wird die Variable "wort" als gleich  Suchwert definiert... sie muesste aber wenn _
moeglich kleiner gleich dem Suchwert sein
If wort = "" Then Exit Sub
On Error Resume Next
Application.DisplayAlerts = False
ThisWorkbook.Worksheets("Auswahl").Delete
Application.DisplayAlerts = True
ThisWorkbook.Worksheets.Add.Name = "Auswahl"
Set wsA = ActiveWorkbook.Worksheets(1)
Set fs = Application.FileSearch
With fs
.LookIn = "\\192.168...\HakC\Exceldateien"
.Filename = "*.xls"
.SearchSubFolders = False
.Execute
'          wsA.Range("A1").Value = " wurde in folgenden Dateien gefunden:"
wsA.Range("A1").Value = "Die Gesamtkosten  wurde in folgenden Dateien  _
gefunden:"
wsA.Rows(1).Font.Bold = True
wsA.Range("B1").Value = "Dateiname"
wsA.Range("C1").Value = "Gesamtkosten"
wsA.Rows(1).Font.Bold = True
For i = 1 To .FoundFiles.Count
If Dir(.FoundFiles(i))  ThisWorkbook.Name Then
Workbooks.Open .FoundFiles(i)
Set wb = ActiveWorkbook
Set ws = ActiveSheet
If ws.Cells(41, 7).Value 


Gruß
Heinz

Anzeige
Einfach nur genial!!!
26.07.2007 08:20:00
Chris
DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE! DANKE!
DANKE! :-)
Freundliche Gruesse!
Chris

Anzeige
AW: Aber, aber ...
26.07.2007 08:25:00
haw
Hallo Chris,
... sooo aufregend ist das Ganze auch wieder nicht.
Aber es freut mich, dass ich dir helfen konnte.
Gruß
Heinz

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige