Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1172to1176
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

Werte spliten und Zelle aktivieren, no. eine Frage

Werte spliten und Zelle aktivieren, no. eine Frage
Search
Hallo,
ich komme irgendwie nicht mehr in den Ursprungsthread. Kann meine neue Frage also nicht mehr hinten dran hängen.sorry.
Der beigefügte Code von mpb funktioniert so einwandfrei. Er splitet die Werte in Spalte A mit Hilfe eines neuen Tabellenblattes auf und gibt die Zelle, wo sich der Bereich findet wieder. Nur habe ich noch ein Problem was mich ohne bisherige Lösungsfindung beschäftigt: Wenn ein Wertebereich doppelt auftritt, so soll über eine Msgbox ausgegeben werden, dass dieser doppelt vorhanden ist. Zum Beispiel steht in Zelle A1: "100-200;300-300;450-500" und in Zelle A2 "150-180;700-800". Es gibt also einen doppelten Wertebereich: "150-180".
Kann das realisiert werden. Hier der Code von mpb:
Sub In_Bereichen_suchen()
Dim Suchwert As Double
Dim i As Double
Dim j As Integer
Dim k As Integer
Dim z As Double
Dim s As Integer
Dim anz As Integer
Dim Quelle As Worksheet
Dim Zwi As Worksheet
Dim Treffer As Boolean
On Error GoTo errorhandler
Suchwert = CDbl(InputBox("Bitte Suchwert eingeben!"))
Treffer = False
Set Quelle = ActiveSheet
Worksheets.Add
Set Zwi = ActiveSheet
Quelle.Columns("A:A").Copy Destination:=Zwi.Range("A1")
Zwi.Columns("A:A").TextToColumns Destination:=Zwi.Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=True, OtherChar:="-"
s = Zwi.UsedRange.Columns.Count
z = Zwi.Range("A65356").End(xlUp).Row
anz = 0
For i = 1 To z
For j = 1 To s - 1 Step 2
If Suchwert >= Zwi.Cells(i, j) And Suchwert 

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Werte spliten und Zelle aktivieren, no. eine Frage
15.08.2010 00:22:33
mpb
Hallo,
soll dies unabhängig von der bisherigen Trefferanzeige gelöst werden? Sollen doppelte Bereiche immer angezeigt werden oder nur dann, wenn der Suchwert in dem Bereich liegt?
Gruß
Martin
AW: Werte spliten und Zelle aktivieren, no. eine Frage
18.08.2010 19:50:26
Search
hi,
herje, ich hatte gar nicht mehr damit gerechnet, dass noch eine Antwort gekommen ist. :-)
Ideal wäre es, wenn der Code den Wert den ich in die Inputbox/Textbox eingebe habe zunächst in der ganze Spalte nach doppelten Bereichen absucht und über eine Msgbox halt eine Fehlermeldung ausgibt.
also z.B.
In die Inputbox gebe ich 156 ein:
In Zelle A1 steht 100-160;200-300
In Zelle A2 steht 150-199;301-400
Und die Msgbox müsste dann ausgeben "Der Wertebereich ist doppelt vorhanden". Die Krönung wäre ja noch, wenn die Msgbox noch ausgibt, in welchen Zellen die Wertebereiche noch doppelt vorkommen - aber das wäre zu viel des Guten.
lieben Dank
Anzeige
AW: Werte spliten und Zelle aktivieren, no. eine Frage
18.08.2010 20:49:34
mpb
Hallo,
ich habe im ursprünglichen Code 2 Zeilen auskommentiert, die nach dem ersten Treffer die Schleifendurchläufe abbrechen. Dadurch läuft da Makro evtl. etwas länger, es werden aber alle Treffer ausgegeben. Dadurch hast Du automatisch auch die Info, wenn mehr als ein Trefferbereich vorkommt. Außerdem wird der Zähler anz zwischenzeitlich wieder auf Null gesetzt.
Sub In_Bereichen_suchen()
Dim Suchwert As Double
Dim i As Double
Dim j As Integer
Dim k As Integer
Dim z As Double
Dim s As Integer
Dim anz As Integer
Dim Quelle As Worksheet
Dim Zwi As Worksheet
Dim Treffer As Boolean
On Error GoTo errorhandler
Suchwert = CDbl(InputBox("Bitte Suchwert eingeben!"))
Treffer = False
Set Quelle = ActiveSheet
Worksheets.Add
Set Zwi = ActiveSheet
Quelle.Columns("A:A").Copy Destination:=Zwi.Range("A1")
Zwi.Columns("A:A").TextToColumns Destination:=Zwi.Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=True, OtherChar:="-"
s = Zwi.UsedRange.Columns.Count
z = Zwi.Range("A65356").End(xlUp).Row
anz = 0
For i = 1 To z
For j = 1 To s - 1 Step 2
If Suchwert >= Zwi.Cells(i, j) And Suchwert 

Gruß
Martin
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige