Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1260to1264
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

Split mit Variable

Split mit Variable
Black-Mage
Hallo ihr lieben.
Ich hab hier schon gesehen, das man einfach mit Text in Spalten, Zellen splitten kann, nur hilft mir das nur beding. Und zwar weil u.A. die betreffende Zelle variable ist.
Bei mir liegt also der Fall folgender maßen vor:
In eine Zelle ich sage mal A5 des Blattes "Stats" steht der verweiß zur variablen Zelle in Blatt "Skills" das einzigste was quasi Fest ist, ist der Bezug aus Stats!A5 und die Zeile 7 aus Skills! die Spalte die ich splitten will bekomme ich wie gesagt aus Stats!A5.
Sollte also in Stats!A5 "T" stehen weiß ich das damit Skills!T7 gemeint ist, und diese Zelle müsste gesplittet werden. In den zu Betreffenden Zellen stehen Zahlen die getrennt durch ein ● sind es sieht z.B. so aus
0●6●5●3●2 die Anzahl und Formatierung ist immer gleich, nur die Zahlen an sich ändern sich.
Ich müsste nun einen Code haben, der mir den Inhalt splittet, und die Zahlen einzeln nach möglichkeit
in das Blatt "Skills" in die Zelle Q11 bis Q14 einträgt, die 0 zu beginn kann immer ignoriert werden.
Ist sowas machbar?. Wenn ja bitte ich um hilfe. Wie gesagt Text in Spalten, hilft irgendwie nicht.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Split mit Variable
15.05.2012 07:14:35
MatthiasG
Hallo Black-Mage,
versuch mal dies:

Sub test()
Const rng_Dest = "Q11" 'erste Zelle Zielbereich
Const Trennz = "#" 'müsste durch diesen Punkt ersetzt werden!
Dim z As Range
Dim sp As String
Dim i As Long, nr As Long
sp = Sheets("Stats").Range("A5")
With Sheets("Skills")
Set z = .Range(sp & "7")
Debug.Print z.Address
For i = 0 To 3
nr = Split(z, Trennz)(i)
.Range(rng_Dest).Offset(i, 0) = nr
Next i
End With
End Sub

Ich weiß allerdings nicht, wie du dieses Trennzeichen ● erzeugst, wenn ich es im Browser kopiere und in Excel einfüge, kommt ein ? dabei heraus.
Ich habe die Konstante "TrennZ" im Code mit "#" belegt, du müsstest das halt noch ändern.
Viele Grüße,
Matthias
Anzeige
Der Punkt als Trennzeichen
15.05.2012 10:18:01
Martin
Hallo,
um den Punkt als Trennzeichen zum nehmen, muss statt
Const Trennz = "#"

einfach
Const Trennz = ChrW(9679)

eingesetzt werden.
Viele Grüße
Martin
Das ist Quatsch, Martin, weil dann KEINE ...
15.05.2012 20:57:57
Luc:-?
…Konstante mehr, da Chr eine vbFkt mit veränderbarem Argument ist; deshalb dann auch die Fehlermeldung!
Gruß Luc :-?
AW: Split mit Variable
15.05.2012 10:38:25
Rolf
Hallo Mathias,
das Sonderzeichen • hat z.B. in der Schriftart Wingdings den Code 7.
Anbei eine hin und wieder nützliche VBA zur Ermittlung der Zeichen je Schriftart.
Das Makro setzt voraus, dass das Tabellenblatt den Namen Symbol-ID's hat, und dass in der Zelle D2 die Schriftart (unbedingt korrekt schreiben, ob Groß- oder Kleinbuchstaben, ist allerdings wurscht) eingegeben wurde.
Sub ZeichentabelleAusgeben()
Dim i As Integer
Dim SchrArt As String
Sheets("Symbol-ID's").Activate
SchrArt = Range("D2")
Range("A4").Select
For i = 0 To 255
With ActiveCell
.Font.Name = SchrArt
.Value = chr(i)
.Offset(0, 1).Value = i
.HorizontalAlignment = xlCenter
.Offset(1, 0).Select
End With
Next i
Range("C1").Select
End Sub
Gruß, Rolf
Anzeige
AW: Split mit Variable
15.05.2012 13:28:57
Black-Mage
Huhu danke für die Hilfe, es funktioniert. Ich hab einfach ; genommen. Das mit dem Code mit dem Punkt
Const Trennz = ChrW(9679) klappte nicht so. Habe immer die Meldung bekommen "Fehler beim Kompilieren: Konstanter Ausdruck erforderlich"
Mit Const Trennz = ";" geht es ja. Hm ich habe noch die For um 1 erhöht weil mir die Zahlen nicht alle ausgegeben wurden, die 0 am Anfang hat er immer mitgeschrieben, dann war natürlich nicht mehr genug Platz für den Rest. Ich lösche entweder die 0 alle raus, oder lass es eben so, das sie mit ausgelesen werden.
Wie müsste ich denn die Ausgabe ändern, sollten mal Kommazahlen hinzukommen? Hab zum test mal 0,5 gemacht, und er schreibt dann immer 0.
Anzeige
AW: Split mit Variable
15.05.2012 15:34:11
MatthiasG
Hallo,
für Kommazahlen definiere die Variable nr als Gleitkommazahl:
Dim nr as Double (oder auch Single, jedenfalls nicht Long)
Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige