Anzeige
Archiv - Navigation
1560to1564
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

Zahlenreihe in Zahlenbereiche aufteilen

Zahlenreihe in Zahlenbereiche aufteilen
24.05.2017 13:26:01
Andre
Hallo zusammen,
ich habe die Hoffnung, dass es noch ein paar Excel-Profis gibt die keinen Vatertagsausflug planen und Interesse an einem Excel-Problem haben.
In einer Tabellenspalte habe ich eine Zahlenreihe mit Zahlen im Bereich von 0 bis 99, welche sich jedoch dauernd unterscheiden kann. Ich suche nun nach einer Möglichkeit, die gelisteten Zahlen in einer anderen Zelle quasi als Bereiche aufzulisten.
Die Zahlenreihe ist nicht immer fortlaufend, sie kann auch mal unterbrochen werden.
Beispiel:
0
1
2
3
4
5
6
14
Als Ergebnis sollte nun in einer anderen Zelle stehen: 0 – 6, 14
Beispiel:
5
8
13
14
15
16
20
21
22
23
48
Ergebnis: 5, 8, 13 – 16, 20 – 23, 48
Hat jemand eine Idee, wie das zu bewerkstelligen ist? Ich danke im Voraus sehr herzlich für eure Hilfe.
Viele Grüße, Andre

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bereiche = Left((Bereiche), Len(Bereiche) - 2)
24.05.2017 15:32:10
KlausF
Hallo Michael und Andre,
und falls das letzte Komma noch wegfallen sollte muss nach
Next i
noch die Zeile
Bereiche = Left((Bereiche), Len(Bereiche) - 2)
eingefügt werden.
Gruß
Klaus
AW: Bereiche = Left((Bereiche), Len(Bereiche) - 2)
24.05.2017 20:39:14
Andre
Lieber Michael, lieber Klaus,
ich bin jetzt endlich Zuhause und habe Excel zur Verfügung. Die Lösung (plus die Ergänzung für das letzte Komma) ist hundertprozentig das, was ich gesucht habe! Mein Wissenstand hätte dafür nicht gereicht und ich hätte es - wenn überhaupt - nur mit unzähligen Hilfsspalten hinbekommen. Oft ist es auch schwierig, eine Überschrift zu formulieren, die das Problem treffend beschreibt (wie z. B. direkte Zahlenfolgen sammeln). Ich werde eure Lösung nun in meine Tabelle einbasteln und anschließend zwei Tage damit verbringen, das Makro durchzugehen und zu raffen, was da überhaupt passiert... Das Makro hilft eine Aufgabe, die mindestens zwei Mal wöchentlich anfällt, deutlich einfacher zu erledigen. Ich danke euch daher aufrichtig für die schnelle und unkomplizierte Hilfe. Ich bin jedes Mal erstaunt, wieviel Sachkenntnis hier im Forum vorhanden ist und wie hoch die Bereitschaft ist, anderen zu helfen.
Ich wünsche euch einen schönen Feiertag, ich gebe euch im Geiste einen aus!
Viele Grüße,
Andre
Anzeige
Aber gern, Danke für die nette Rückmeldung! owT
24.05.2017 23:34:35
Michael
AW: Aber gern, Danke für die nette Rückmeldung! owT
26.05.2017 12:59:21
Andre
Hallo Michael,
eine Frage habe ich dann doch noch. Dein Code funktioniert, innerhalb meiner Tabelle führt er jedoch zu einer Fehlermeldung, weil das Makro beim Abarbeiten der Liste auf Zellen stößt, welche Formeln beinhalten. Meine Zahlenreihen befinden sich in G23:G124 und die auszuwertenden Zahlenreihen werden über eine Formel in dem o.g. Bereich angezeigt. Entweder ist in den einzelnen Zellen also eine Zahl zwischen 0 und 99 enthalten oder ein "". Sobald dein Code jedoch auf das "" stößt (eigentlich ja eine leere Zelle), wird mit dem Hinweis auf "Typen unverträglich" oder so ähnlich abgebrochen. Dein Code prüft ja erst einmal, was die letzte beschriebene Zelle ist und legt so den Listenbereich fest. Wie prüfe ich denn den Bereich darauf, ob lediglich Zahlen enthalten sind?
Noch einmal vielen Dank im Voraus!
Viele Grüße,
Andre
Anzeige
AW: Zeig bitte ein kleines Beispiel...
29.05.2017 10:04:39
Michael
Andre,
...wie das bei Dir konkret aussieht. Muss nicht von G23:G124 laufen, aber ich will wissen, wie sich die Zellwerte bei Dir ergeben etc.
LG
Michael
AW: Zeig bitte ein kleines Beispiel...
29.05.2017 19:58:36
Andre
Hallo Michael,
ich bin leider schon wieder auf Reisen und habe erst am Freitag Komplettzugang zu einem PC, sonst hätte ich meine Datei hier eingestellt. Ich konnte aber wenigstens die Formel in G24 (da, wo dann hinterher die Zahlenliste entsteht) schnell rüber kopieren.
=WENN($G$7="";"";WENN(SUMME($G$7:$G$16)=SUMMEWENN($A$7:$A$16;"X";$I$7:$I$16);WENN(ZEILEN($24:24)> $G$7;"";INDEX($F$24:$F$123;ZEILEN($24:24)));""))
Vielleicht reicht ja auch ein "On error go to" an geeigneter Stelle?
Vielen Dank und viele Grüße,
Andre
Anzeige
AW: Teste mal...
24.05.2017 15:50:29
Andre
Hallo lieber Mchael,
im Moment sitze ich noch im Zug und habe nur Excel auf dem iPad ohne VBA zur Verfügung. Ich kann erst nachher testen. Vielleicht könntest du ja das Makro als Text veröffentlichen, dann kann ich es schon einmal im Geiste versuchen zu verstehen. Im Voraus herzlichen Dank, mit einer so schnellen Antwort hatte ich nicht gerechnet, als ich die Anfrage schrieb!
Viele Grüße, Andre
AW: Teste mal...
24.05.2017 15:50:34
Andre
Hallo lieber Mchael,
im Moment sitze ich noch im Zug und habe nur Excel auf dem iPad ohne VBA zur Verfügung. Ich kann erst nachher testen. Vielleicht könntest du ja das Makro als Text veröffentlichen, dann kann ich es schon einmal im Geiste versuchen zu verstehen. Im Voraus herzlichen Dank, mit einer so schnellen Antwort hatte ich nicht gerechnet, als ich die Anfrage schrieb!
Viele Grüße, Andre
Anzeige
AW: ...Code
24.05.2017 15:57:48
Michael
Hallo Andre,
...hier der Code in Textform:
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Tabelle1")
Dim Liste As Range, i&, j&, k&, Bereiche$
With Ws
Set Liste = .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
For i = 1 To Liste.Cells.Count
If Liste(i) + 1  Liste(i + 1) Then
Bereiche = Bereiche & Liste(i) & ", "
Else
Bereiche = Bereiche & Liste(i) & " - "
j = i
Do Until Liste(j + 1)  Liste(j) + 1
j = j + 1: k = k + 1
Loop
Bereiche = Bereiche & Liste(j) & ", "
i = i + k: k = 0
End If
Next i
Liste(1).Offset(, 2) = Bereiche
End With
End Sub
Siehe auch die Anmerkung von Klaus - ist eine Formsache, aber wenn's Dir besser gefällt, müsstest Du das ergänzen.
LG
Michael
Anzeige
AW: Zahlenreihe in Zahlenbereiche aufteilen
24.05.2017 14:09:37
Bernd
Hi,
wo ist denn da die Logik bei Deinen Ergebnissen?
MfG Bernd
AW: Direkte Zahlenfolgen zu sammeln...
24.05.2017 14:25:39
Michael
Bernd,
...ist die Logik. 5 und 8 folgen nicht direkt aufeinander, d.h. sie müssen einzeln erfasst werden. 13, 14, 15, 16 folgend direkt aufeinander sind also als 13 - 16 "Block" zu erfassen.
Siehe auch meine Lösung, so hab ich's verstanden.
LG
Michael
AW: Direkte Zahlenfolgen zu sammeln...
24.05.2017 14:27:42
Bernd
Hi Michael,
ja, da hast Du wohl recht. Habe es nun auch verstanden und Danke Dir, für Deine Erklärung.
MfG Bernd

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige