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

if abfrage

if abfrage
20.07.2003 15:54:48
Ivan
hi alle
habe noch eine kleine frage.
ich möchte noch einen if code einbinden.
wie muß die if abfrage lauten??
wenn listbox1 leer ist dann wäle 1,wenn leer dann 2 und usw.
'If ListBox1.Value <> "" Then
'Go To Next Combobox2.Value'so in etwar sollte es aussehen

'ab hier funktioniert es
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 noch weiter bis zur 63 if abfrage
End Sub
gruss
ivan

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: if abfrage
20.07.2003 16:03:25
Ramses
Hallo Ivan
Probier mal

Private Sub CommandButton1_Click()
If Not IsNull(Me.ListBox1) Then
Me.ComboBox1.SetFocus
Else
MsgBox "Keine Auswahl getroffen"
End If
End Sub

Gruss Rainer

AW: if abfrage
20.07.2003 16:24:15
Ivan
Hallo Rainer
leider es funkt nicht.
es wird nicht weiter gewählt wenn die listbox1 leer ist.
also wenn 1 in der combobox2 steht hat er die
zweite seite von 63 ,wenn 2 dann seite 2 usw.
das macht er nicht er geht nicht weiter.
hast du nach eine idee??
danke
ivan

AW: if abfrage
20.07.2003 16:33:06
Ramses
Hallo Ivan,
mal ne blöde Frage:
Du frägst Listbox1 ab, wenn dort nichts ausgewählt ist willst aber den nächsten Wert aus der Combobox1 ?
Wie hängt das ganze denn zusammen ?
Gruss Rainer

Anzeige
AW: if abfrage
20.07.2003 17:02:12
Ivan
hi Rainer
also mir ist lieber du fragst als
du antwortest nicht mehr:))lol
also wenn ich in der userform1 die combobox2 nicht 1,
aufklappe habe ich ein pulldouwn menü.
rowsource ist hiterlegt in tab1 und da habe ich zahlen von 1 -63
reingeschrieben.wähle ich zb.21 aus wird mir die arbeitsmappe 21 geöffnet.
die userform noch immer im vordergrund mit suchabfrage.
ich gebe nun einen suchbegriff in die combobox1 ein und die ergebnisse werden über eine suchabfrage mit einem commandbutton abgefragt.
diese ergebnisse werden in listbox1 gelistet.
und wenn aber kein ergebniss vorhanden muß ich in der nächsten mappe 22 weitersuchen.
da beginnt das problem:
ich klicke in die combobox2 und gebe manuelle zb.23 ein für die nächste mappe zum öffnen.
das soll aber die if abfrage machen wenn kein ergebniss dann weiter mit den combox2 inhalten.1.2.3-63
verstehst mich jetzt??
gruss
ivan

Anzeige
AW: if abfrage
20.07.2003 17:43:24
Ramses
Hallo Ivan,
das kannst du doch ganz einfach steuern ;-)
Deine Suchabfrage liefert dir kein Ergebnis dann nimm den Inhalt der Combobox als Startwert in eine Variable auf und lass bis 62 durchsuchen
If Dein_Suchergebnis = nothing then
For i = Me.Combobox.Value to 62
Suchschleife nochmals starten
If Dein_Suchergebnis <> Nothing Exit for
next i
Ich hoffe ich hab das jetzt richtig verstanden.
Gruss Rainer

AW: if abfrage
20.07.2003 18:09:34
Ivan


hi Rainer
jetzt muß ich mich einmal bedanken für deine mühe
aber fehlermeldung variable nicht definiert!!
kanst du mir den code so reinschreiben das ich keine fehlermeldung habe??
BITTE!!!
HIER MEIN CODE:
Private Sub ComboBox2_Change()
 Application.DisplayAlerts = False
Dim InI As Integer
If ComboBox2.Value = "Alles Schließen" Then
    For InI = Workbooks.Count To Step -1
        If Workbooks(InI).Name <> ThisWorkbook.Name Then Workbooks(InI).Close True
    Next InI
End If
 
 
 'Hier müsste die if abfrage rein
If ComboBox2.Value = "1" Then
Workbooks.Open Filename:="G:\!Privat\XLS\Forum-Archiv\arch1.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\Forum-Archiv\arch2.xls"
Range("H1").Select
    ActiveCell.FormulaR1C1 = "=COUNTA(R[1]C[-6]:R[1999]C[-6])"
    Range("H1").Select
'da gehts bis 63 so weiter
End Sub
danke
ivan

Anzeige
AW: if abfrage
20.07.2003 18:14:23
Ramses
Hallo Ivan,
wo ist deine Suchroutine und die Füllanweisung für die Listbox ?
Wieviel Textboxen hast du denn in der Userform ?
Müssen alle Tabellen durchsucht werden ? Ich sehe hier nur das Zählen von Zahlen wobei das Ergebnis in eine Textbox geschrieben wird. Ist dann Schluss oder muss noch weiter gezählt werden ?
Gruss Rainer

AW: if abfrage
20.07.2003 18:34:29
Ivan
hi Rainer
Wieviel Textboxen hast du denn in der Userform ?
3 Stück un 2 comboboxen u 2listboxen
Müssen alle Tabellen durchsucht werden ? Ich sehe hier nur das Zählen von Zahlen wobei das Ergebnis in eine Textbox geschrieben
nein bei einem treffer
soll keine weitere tabelle aufgehen.
Ist dann Schluss oder muss noch weiter gezählt werden ?
dann ist schluß wenn ich einen treffer habe!
hier der code für die suche

Private Sub Userform_Activate()
UserForm1.TextBox3 = Range("H1")
Suche.Caption = "Suche"
UserForm1.TextBox3 = Range("H1")
End Sub

'suchen

Private Sub Suche_Click()
UserForm1.TextBox3 = Range("H1")
On Error Resume Next
If Err.Number <> 0 Then
MsgBox "Kein Eintrag vorhanden!", vbCritical, "Schreiben Sie was rein"
End If
Dim e As String
Dim s As String
Dim Found As Range
Dim FirstAddress As String
Dim i As Integer    ' Zeile
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
End If
End With
Suche.Caption = "Neue Suche"
UserForm1.TextBox3 = Range("H1")
End Sub

'Hier erfolgt die Ausgabe des gesuchten
'in der listbox1 per Auswahl in der Combobox1

Private Sub ListBox1_Click()
If ListBox1.Value <> "" Then
On Error Resume Next
ListBox2.ListIndex = ListBox1.ListIndex
TextBox1 = Cells(ListBox2.Value, 2)
End If
End Sub

so jetzt hast fast alles!
DANKE
IVAN

Anzeige
AW: if abfrage
20.07.2003 21:09:41
Ramses
Hallo Ivan,
Sorry,... war gerade beim Essen :-)
Ich habs mal versucht, wie ich es machen würde. Aber getestet ist es nicht.

Option Explicit
Private Sub Suche_Click()
   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
   '----
   UserForm1.TextBox3 = Range("H1")
  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:\!Privat\XLS\Forum-Archiv\arch" & 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")
    End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16


Aber es sollte zumindest als Ansatz dienen, wie es zu lösen wäre.
Gruss Rainer

Anzeige
AW: Erledigt danke
20.07.2003 23:19:44
Ivan
hi Rainer
jetzt geht es
alles erledigt
danke
gruss aus wien
ivan

AW: if abfrage
20.07.2003 22:58:10
Ivan
hi Rainer
Vielen dank für die mühe!!!
Genial nicht getestet und funkt ohne fehler.
ich denke es ist etwas besser und feiner programmiert als mein altes.
aber die die COMBOBOX2 WIRD NICHT WEITER ABGEFRAGT!!
ich muß trotzdem auswählen 1,2,3-62 in der combobox2.
das programm geht also nicht weiter 1-62 nur eine suchabfrage !
genau so wie vorher:))lol
gruss
ivan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige