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

Tabelle mit Teilstring fortsetzen

Tabelle mit Teilstring fortsetzen
20.05.2007 12:24:00
klaus
Ich erfasse über ein Makro einen kompletten Datensatz in einer xls.Tabelle, der sich aus unterschiedlichen Vorgaben zusammensetzt. Jede dieser Vorgaben erhält in einer Tabellenzeile eine seperate Zelle.
Eine Vorgabe ist eine eindeutige ID die den Datensatz identifiziert (Access ist im vorliegenden Fall nicht möglich). Die ID setzt sich aus einem längeren String zusammen der vier unterschiedliche Datengruppen enthält, die sich verändern (Datensatzspezifische Kenngröße - Monat - Jahr - Zähler). Mein Problem ist der Zähler. Dieser soll jeweils um 1 höher sein als der größte bisher vorhandene.
Ich möchte die variable Liste der vorhandenen Tabellen-Zeilen ab Zeile 2 in Spalte B abfragen. Dabei wird als Vergleichswert der Reststring ohne den Zähler verwendet und der höchste Zähler soll für den neuen Satz um 1 erhöht werden, d. h. um es etwas einfacher zu beschreiben, es soll folgendes geschehen:
Suche ab Zeile 2 bis variables Ende der erfassten Datensätze in Spalte B den Teilstring xy (=rechts(Zellenwert, 10)
Suche unter allen vorhandenen Datenzeilen die den Teilstring xy enthalten den höchsten Zähler (s.u.)
Ermittle neuen Zähler = alter Zähler +1
Erstelle neue ID = Teilstring xy + neuer Zähler
Die Tabellendatensätze, die den Teilstring xy enthalten, können dabei willkürlich über alle erfassten Datensätze verteilt sein, sind aber von unten nach oben ansteigend, d.h. suche ich in der Tabelle von oben nach unten, enthält der erste gefundene Datensatz, mit dem Teilstring xy zugleich auch den höchsten Zähler.
Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.
Klaus

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle mit Teilstring fortsetzen
20.05.2007 21:07:00
Gerd
Hallo Klaus,
probier mal.

Sub teststart()
Dim xy As String, testID As String
'Testwerte
xy = "01 - 07 - "
With ThisWorkbook.Worksheets("Tabelle3")
.Range("B2") = "01 - 07 - 0123456781"
.Range("B3") = "12 - 07 - 0123456791"
.Range("B4") = "01 - 07 - 0123456789"
.Range("B5") = "01 - 07 - 0123456780"
End With
testID = xy & neueIDNR(xy, ThisWorkbook.Worksheets("Tabelle3"))
End Sub



Function neueIDNR(strSuch As String, ws As Worksheet)
Dim IDNR As String, rngID As Range, strErsteID
Set rngID = ws.Range(ws.Cells(1, 2), Cells(ws.Rows.Count, 2).End(xlUp).Address). _
Find(strSuch, lookat:=xlPart, LookIn:=xlFormulas)
If Not rngID Is Nothing Then
strErsteID = rngID.Address
Do
If Right(rngID.Value, 10) > IDNR Then IDNR = Right(rngID.Value, 10)
Set rngID = ws.Range(ws.Cells(1, 2), ws.Cells(Rows.Count, 2).End(xlUp).Address). _
FindNext(rngID)
Loop While Not rngID Is Nothing And rngID.Address  strErsteID
End If
IDNR = CLng(IDNR) + 1
While Len(IDNR) 


Gruß Gerd

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige