Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
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
Inhaltsverzeichnis

Teilstring Suche in zwei Spalten

Teilstring Suche in zwei Spalten
07.12.2021 21:45:04
Bernd
Hallo zusammen,
muss mich leider schon wieder an Euch wenden...
In einer seperaten Daten Datei, in meiner Beispielmappe ists Tabellenblatt 1, werden täglich Störgründe in einer Datei abgestellt.
Diese sollen in einer Übersicht mit der Stördauer zusammengefasst werden = Tabellenblatt 2.
Problem an der Geschichte ist, dass ich keinen normalen Verweis aus der Zielmappe machen kann, da ich keine genau übereinstimmenden Kriterien habe.
Mein Gedanke war nun, die Inhalte der Tagesdatei durchlaufen lassen, und jeweils mit dem Suchkriterium aus Spalten A und B in der Zusammenfassung, also bei mir im zweiten Tabellenblatt die Zeile zu suchen, in der diese Suchinhalte in Spalte C+D nebeneinader enthalten sind (und eben nicht exakt sondern nur als Teilstring), in die gefundene Zeile soll dann die Störzeit zum entsprechenden Datum bzw. Spalte eingetragen werden.
Den Eintrag zum Datum bekomm ich denk hin, mir fehlt nur die Fähigkeit für nen funktionierenden VBA-Code.
hier die Beispielmappe
https://www.herber.de/bbs/user/149658.xlsx
Für ne Hilfe bin ich schon jetzt dankbar, Gruß Bernd

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teilstring Suche in zwei Spalten
08.12.2021 10:31:03
UweD
Hallo Bernd
- ich bin davon ausgegangen, dass die Zeilen unter den Tagen (ermittelt aus Tabellenblattname) eingefügt werden sollen
- F:J++ ab Zeile 5 als Zeit formatieren
in ein Modul

Sub Ziel()
Dim TB1 As Worksheet, TB2 As Worksheet, LR1 As Long
Dim Sp1 As Integer, Sp2 As Integer, Z1 As Integer, i As Long
Dim Datum As Date, ZZe As Integer, ZSp As Integer
Dim C As Range, firstAddress As String, TMP As Boolean
Set TB1 = Sheets(1)
Sp1 = 1 'Daten in Spalte A
Z1 = 3 'Daten ab Zeile 3
Set TB2 = Sheets(2)
Sp2 = 3 'Daten in Spalte C
ZZe = 3 'Zeile mit Datum für Ziel
'Zieldatum aus Blattname
Datum = DateValue(Format(Left(TB1.Name, 8), "0000-00-00"))
'Zeilspalte
ZSp = WorksheetFunction.CountIf(TB2.Rows(ZZe), CDbl(Datum)) 'Datum vorhanden?
If ZSp > 0 Then
ZSp = WorksheetFunction.Match(CDbl(Datum), TB2.Rows(ZZe), 0) 'in welcher Spalte
Else
MsgBox Datum & ": nicht gefunden"
Exit Sub
End If
With TB1
LR1 = .Cells(.Rows.Count, Sp1).End(xlUp).Row 'letzte Zeile der Spalte
For i = Z1 To LR1
TMP = False
Set C = TB2.Columns(Sp2).Find(.Cells(i, Sp1), LookIn:=xlValues, LookAt:=xlPart)
If Not C Is Nothing Then
firstAddress = C.Address
Do
'Fund in Spalte C, Vergleichen Spalte D
If InStr(C.Offset(0, 1).Value, .Cells(i, Sp1).Offset(0, 1)) > 0 Then
'Zeit dazurechnen
TB2.Cells(C.Row, ZSp) = TB2.Cells(C.Row, ZSp) + .Cells(i, Sp1).Offset(0, 3)
TMP = True
Exit Do
End If
Set C = TB2.Columns(Sp2).FindNext(C)
Loop While Not C Is Nothing And C.Address  firstAddress
End If
If Not TMP Then
MsgBox .Cells(i, Sp1) & ";  " & .Cells(i, Sp1).Offset(0, 1) & vbLf & vbLf & _
"nicht gefunden"
End If
Next
End With
End Sub
- Probleme gibt es bei 51 und 52. Hier ist der Suchbegriff schon länger ist als in der Findespalte
LG UweD
Anzeige
AW: Teilstring Suche in zwei Spalten
08.12.2021 11:30:05
Piet
Hallo
da war der Kollege schneller, trotzdem lade ich mal meine Lösung als Beispieldatei hoch. Das Suchbegriffe nicht exakt übereinstimmen ist mir auch aufgefallen. Ich buche die Zeit unter der Index-Nummer, melde aber das der Störgrundtext nicht übereinstimmt!
https://www.herber.de/bbs/user/149670.xlsm
mfg Piet
AW: Teilstring Suche in zwei Spalten
08.12.2021 11:39:31
Piet
Nachtrag
was ist mit der Anzahl der Störfälle. Wenn ihr wollt kann man die vor dem Datum mit erfassen! Es ist wenig Aufwand das noch mit zu programmieren.
PS zurm Makrotest hatte ich die Fehlermeldung dass das Datum nicht stimmt deaktiviert
mfg Piet
Anzeige
super- danke
09.12.2021 16:38:10
Bernd
Hallo zusammen,
sorry für die späte Rückmeldung.
Ich habe das jetzt soweit auf meine tätsächliche Tabelle übernommen und geringfügig angepaßt, läuft super.
Vielen lieben Danke Euch.
noch zu Deiner Nachfrage Piet... die Gesamtzeit-Störzeit wird übernommen, die Anzahl dagegen, zumindest nach jetzigem Stand, wird nicht übertragen und ausgewertet..
Wobei das halt stand heute ist, mal abwarten bis wann da ne Änderung gewünscht wird.
Auf jeden Fall echt super von Euch Jungs, danke. Gruss Bernd
Danke für die Rückmeldung (owT)
10.12.2021 08:29:03
UweD
Fehler bei 5
10.12.2021 18:46:36
Bernd
Hallo,
leider ist da doch noch'n Haken drin...
vorab hier jetzt mal meine halbwegs-Orginaldateien. Angepaßt hab ich den Code von Uwe...
beide Dateien müssen in nem Verzeichnis liegen, dann läuft der auch durch.
Zusammenfassung:
https://www.herber.de/bbs/user/149749.xlsm
Störmeldungen
https://www.herber.de/bbs/user/149750.xlsx
Bei diesen zwei Inhalten wird die komplett Zeit Störgrund 51 in meiner Zusammenfassung zugeordnet, bzw. aufaddiert.
Der zweite Text in Spalte D mit 'Elektronisch' ist da aber abweichend, da mußte die Suche weitergehen bis er Zeile 79 findet.
Störgrund Anzahl Zeit
0 ============ 3334 09:26:25
5 Elektronisch 1 03:53:30
51 Sortierung SW 4 00:21:05
Wäre super, wenn mir dabei bitte nochmal wer unter die Arme greifen könnt.
danke vorab - Gruß Bernd
Anzeige
mein Fehler - erledigt
12.12.2021 12:07:16
Bernd
erledigt, hatte bei der Anpassung selbst nen Fehler gemacht.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige