Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Makro: Suchfunktion + Zählfunktion





Frage

Hallo Leute, hab folgendes Makro: Sub SuchenPersonalnummer_Alter() ´Sucht in Spalte B und springt in Trefferzeile in Spalte Q (=15 Spalten rechts von B) Dim strFind As String, strSuch As String, menge As String Do strFind = InputBox("Bitte Personalnummer eingeben:", Application.UserName, strSuch) If strFind = "" Then Exit Sub Columns.Find(What:=strFind, LookIn:=xlValues, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Offset(0, 15).Activate Loop Until (strFind = "0") End Sub Nun bräuchte ich noch eine Funktion bzw. Erweiterung, die mir automatisch den Wert in der Trefferzeile in Spalte Q erhöht. Kann mir da jemand weiterhelfen? Schon mal danke im voraus! Gruß, Gennaro

Antwort 1 von Saarbauer

Hallo,

das ganze ist mir nicht verständlich.

Zum einen wird es eine Personalnummer nur einmal geben.

Wenn die Personalnummer in einer andern Liste mehrmals vorkommen kann, da lege eine Variable an die den Wert nach jedem Treffer um 1 erhöht.

Zitat:
Sub SuchenPersonalnummer_Alter()
´Sucht in Spalte B und springt in Trefferzeile in Spalte Q (=15 Spalten rechts von B)
Dim strFind As String, strSuch As String, menge As String, Treffer as Integer
Treffer = 0
Do
strFind = InputBox("Bitte Personalnummer eingeben:", Application.UserName, strSuch)
If strFind = "" Then Exit Sub
Columns.Find(What:=strFind, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Offset(0, 15).Activate
Treffer 0 Treffer + 1
AktiveCell.Value =Treffer

Loop Until (strFind = "0")
End Sub


Ungetestet

Gruß

Helmut

Antwort 2 von Saarbauer

Hallo,

Schreibfehler

Zitat:
Treffer 0 Treffer + 1


richtig

Treffer = Treffer + 1

Gruß

Helmut

Antwort 3 von Gennaro

Hallo Helmut,

hab deinen Vorschlag getestet, aber funkts leider nicht.

Zur Erklärung:
Die Schleife habe ich eingebaut, damit die inputbox geöffnet bleibt.
Das Ganze soll für eine Qualitätsprüfung sein, d.h. es soll erfasst werden wieviele Einheiten von einem Mitarbeiter geprüft worden sind.

Gruß,
Gennaro

Antwort 4 von JoeKe

Hi Gennaro,

versuchs mal so:

Sub SuchenPersonalnummer_Alter()
´Sucht in Spalte B und springt in Trefferzeile in Spalte Q (=15 Spalten rechts von B)
Dim strFind As String, strSuch As String, menge As String, Treffer As Integer
Do
strFind = InputBox("Bitte Personalnummer eingeben:", Application.UserName, strSuch)
If strFind = "" Then Exit Sub
Columns.Find(What:=strFind, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Offset(0, 15).Activate
ActiveCell = ActiveCell + 1
Loop Until (strFind = "0")
End Sub

MfG
JöKe

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: