Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
mit VBAZellwerte über Formular suchen
29.04.2014 17:21:25
Hans
Hallo liebe VBA-Profis,
ich habe ein großes Problem und zwar möchte ich ein Makro schreiben, welches folgende Eigenschaften besitzt und folgendermaßen ablaufen soll:
1. Über Buttonclick in "Mappe1" Formular öffnen. (ist erledigt!)
2. Das Formular enthält 3 Textfelder und einen OK-CommandButton(ist erledigt!)
3a. In das Textfeld 1 soll eine 5-stellige Zahl eingetragen werden. Diese Zahl befindet sich immer in Spalte D (4)der "Mappe1", Kommt allerdings nicht nur einmal vor!
3b. In das Textfeld 2 soll ein Name eingetragen werden. Dieser Name befindet sich immer in Spalte W (23) der "Mappe1", kommt auch mehrmals vor!
3c. In das Textfeld 3 soll eine 2-stellige Zahl eingetragen werden. Diese Zahl befindet sich immer in Spalte X (24) der "Mappe1", kommt auch mehrmals vor!
4. Wenn man im Formular nach den Textfeldeingaben auf "OK" klickt, soll diejenige Zeile angesprochen werden, welche alle 3 Suchkriterien der Textfeldeingaben enthält und in dieser Zeile soll in Spalte A(1) die Zelle grün markiert sowie in Spalte AA(27)ein "j" in die Zelle eingetragen werden.
Bei Leereingaben oder ungültigen Eingaben in die Textfelder soll das Programm einfach geschlossen werden und es passiert nichts.
Soweit zur Idee und Funktionsweise des Programms, aber ich habe leider keine Ahnung, wie ich das hinbekomme. Bitte helft mir, dies umzusetzen. Das wäre großartig!
LG Hans

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit VBAZellwerte über Formular suchen
29.04.2014 19:05:17
Tino
Hallo,
hier mal eine Variante wenn ich alles richtig verstanden habe.
Private Sub CommandButton1_Click()
Dim ArDatenD, ArDatenWX, nR&, nErste
Dim SuchWert$, IstWert$
SuchWert = TextBox1 & vbTab & TextBox2 & vbTab & TextBox3
With Tabelle1.UsedRange.EntireRow
.Columns(1).EntireColumn.Interior.Color = xlNone
.Columns(27).EntireColumn.Replace What:="j", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
If IsNumeric(TextBox1) Then
nErste = Application.Match(TextBox1 * 1, .Columns(4), 0)
End If
If Not IsNumeric(nErste) Then
nErste = Application.Match(TextBox1, .Columns(4), 0)
End If
If IsNumeric(nErste) Then
With .Rows(nErste).Resize(.Rows.Count - nErste + 1)
ArDatenD = .Columns(4).Value
ArDatenWX = .Columns(23).Resize(, 2).Value
For nR = 1 To UBound(ArDatenD)
IstWert = ArDatenD(nR, 1) & vbTab & ArDatenWX(nR, 1) & vbTab & ArDatenWX(nR, 2)
If SuchWert = IstWert Then
.Cells(nR, 1).Interior.Color = RGB(0, 176, 80)
.Cells(nR, 27).Value = "j"
End If
Next nR
End With
End If
End With
End Sub
Gruß Tino

Anzeige
AW: mit VBAZellwerte über Formular suchen
05.05.2014 10:46:23
Hans
Hallo Tino,
vielen Dank für deine Mühe und schnelle Hilfe! Den Code mit der ich nenne es mal "mach in Spalte A alle Felder weiß", habe ich weg gelassen, da einige Zellen in Spalte A schon grün markiert waren (grün = Auftrag erledigt). Hat wunderbar geklappt. Super von dir, danke nochmal ehrlich!
LG Hans

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige