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

VBA Makro zum Feld einsetzen bei zwei Bedingungen

VBA Makro zum Feld einsetzen bei zwei Bedingungen
13.12.2005 13:14:12
daniel
Tach Zusammen @ Excelfreunde
Mein Problem des Tages:
Ich habe eine Excel-Datei mit 10 Tabellen-Seiten.
Aus der 1. Tabellen-Seite rufe ich ueber einen Button eine Userform auf.
Diese Userform hat drei Textboxen die mit Nummern auszufuellen sind.
Ueber einen Button auf der UF will ich nun folgendes:
Wert aus TB_1 soll in allen Tabellen gesucht werden. (dieser Wert kann sich nur in Spalte B in einer Tabellen-Seite befinden, aber kann mehrmals auftauchen auf derselben Seite).
Wenn gefunden dann, soll der Wert aus TB_2 gesucht werden. Die Suche darf dann nur auf der Tabellenseite wo Wert aus TB_1 gefunden wurde weitergehen.
Wert aus TB_2 kann nur in Spalte C gefunden werden.
Ich Suche die Zeile wo beide Werte aus TB_1 und TB_2 passen. Wenn die Zeile auf der entsprechenden Tabellen-Seite gefunden wurde, dann soll der Wert aus TB_3 in Spalte O in derselben Zeile eingetragen werden.
Please, HELP!
gruss
Daniel

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Makro zum Feld einsetzen bei zwei Bedingungen
13.12.2005 13:41:48
Daniel
Hallo Daniel,
ich habe dir was gebastelt:

Private Sub CommandButton1_Click()
Dim ws As Worksheet
Dim Fundort As Range
For Each ws In Worksheets
Set Fundort = ws.Range("B1:B65000").Find(TB_1.Value)
If Not Fundort Is Nothing Then
If Fundort.Offset(0, 1).Value = TB_2.Text Then
Fundort.Offset(0, 13).Value = TB_3.Value
End If
End If
Next
End Sub

Ich hoffe es hilft weiter...
Gruss
Dani
U´re (fast) the man!
13.12.2005 14:02:49
daniel
Hi DANI...
nicht schlecht...aber leider noch nicht ganz perfekt.
Habe deinen Code eingebaut und er funzt, aber noch nicht ganz wie ich ihn brauche.
Bei deinem Code wird beim ersten Treffer in Spalte B um eine Spalte geoffsetet und Mit eintrag aus TB_2 Verglichen. Wenn dieser auch Stimmt offsetet er nochmal um 15 Spalten und traegt Value aus TB_3 ein.
Was ist aber wenn der Zweite vergleich nicht stimmt. Dann will ich natuerlich geren weitersuchen nach dem naechsten Treffer von Value aus TB_1 in Spalte B und dasselbe dann nochmal versuchen.
Wenn kein Treffer gefunden wurde, dann sollte eine Fehlermedung kommen.
Meinste das kriegste hin?
Gruss
Daniel
Anzeige
AW: U´re (fast) the man!
13.12.2005 15:07:28
Dani
Hallo,
du hast recht da fehlte noch was. Und zuletzt den Speicher freigeben!

Private Sub CommandButton1_Click()
Dim Fundortneu As Range
Dim Fundortalt As Range
Dim Suchwert As String
Dim ws As Worksheet
Dim wb As Workbook
Set wb = ThisWorkbook
Suchwert = TB_1.Text
For Each ws In Worksheets
Set Fundortneu = ws.Range("B1:B65000").Find(Suchwert, , , , , , xlWhole)
If Not Fundortneu Is Nothing Then
ws.Select
If Fundortneu.Offset(0, 1).Text = TB_2.Text Then
Fundortneu.Offset(0, 13).Value = TB_3.Text
End If
Set Fundortalt = Fundortneu
Do
Set Fundortneu = ws.Range("B1:B65000").FindNext(Fundortneu)
If Fundortalt.Address = Fundortneu.Address Then Exit Do
ws.Select
Fundortneu.Activate
'        If Not Fundortneu.Address = Target.Address Then
If Fundortneu.Offset(0, 1).Text = TB_2.Text Then
Fundortneu.Offset(0, 13).Value = TB_3.Text
End If
'       End If
Loop
End If
Next
Set Fundortneu = Nothing
Set Fundortalt = Nothing
Set ws = Nothing
Set wb = Nothing
End Sub

Gruss
Dani
Anzeige
now U´re the man!
13.12.2005 16:09:03
daniel
thx a lot
gruss nach DE
daniel

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige