Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
07.09.2016 13:35:45 |
JimmyKnoeppkes |
|
|
|
07.09.2016 13:36:54 |
Gast53690 |
|
|
|
07.09.2016 13:42:27 |
JimmyKnoeppkes |
|
|
|
07.09.2016 15:07:43 |
Gast93107 |
|
|
Daten aus einer Zelle durch ";" getrennt in neue Zeilen darunter einfügen |
07.09.2016 15:08:59 |
Gast45013 |
|
|
|
07.09.2016 16:37:54 |
JimmyKnoeppkes |
|
|
Von:
Gast45013 |
Datum:
07.09.2016 15:08:59 |
Views:
463 |
Rating:
|
Antwort:
|
Thema:
Daten aus einer Zelle durch ";" getrennt in neue Zeilen darunter einfügen |
Hi Jimmy,
getestet an deinen Daten, jedoch ohne Fehlersteuerung, daher mach eine Sicherung
LG
Option Explicit
Sub DoIt()
Dim WsAct As Worksheet 'kenne Tabellennamen nicht, daher aktuelle
Dim WsTmp As Worksheet 'temporäre Tabelle zuZum
Dim rngUsed As Range 'benutzter Bereich
Dim rngRow As Range 'Zeile darin
Dim arrDt2() As String 'Teiler
Dim x As Integer 'Zähler
Application.ScreenUpdating = False
Set WsAct = ActiveSheet
Set WsTmp = Sheets.Add(After:=Sheets(WsAct.Index))
'Datenbereich aktuell
Set rngUsed = WsAct.UsedRange
'die Überschrift nach Tmp
rngUsed.Rows(1).Copy WsTmp.Cells(1)
'der Rest
Set rngUsed = rngUsed.Offset(1).Resize(rngUsed.Rows.Count - 1)
'zeilenweise
For Each rngRow In rngUsed.Rows
'Variante leere oder kein Trenner
If IsEmpty(rngRow.Cells(4)) Or InStr(rngRow.Cells(4), ";") = 0 Then
rngRow.Copy WsTmp.Cells(WsTmp.Rows.Count, 1).End(xlUp).Offset(1)
Else
'getrennte Daten
arrDt2 = Split(rngRow.Cells(4), ";")
For x = LBound(arrDt2) To UBound(arrDt2)
rngRow.Copy WsTmp.Cells(WsTmp.Rows.Count, 1).End(xlUp).Offset(1)
WsTmp.Cells(WsTmp.Rows.Count, 1).End(xlUp).Offset(, 3) = arrDt2(x)
Next x
End If
Next rngRow
'es werden ja mehr Zeilen daher
'zurück kopieren
WsTmp.UsedRange.Copy WsAct.Cells(1)
'Tmp weg
Application.DisplayAlerts = False
WsTmp.Delete
WsAct.Activate
Application.DisplayAlerts = True
Set WsAct = Nothing
Set WsTmp = Nothing
Application.ScreenUpdating = True
End Sub
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
07.09.2016 13:35:45 |
JimmyKnoeppkes |
|
|
|
07.09.2016 13:36:54 |
Gast53690 |
|
|
|
07.09.2016 13:42:27 |
JimmyKnoeppkes |
|
|
|
07.09.2016 15:07:43 |
Gast93107 |
|
|
Daten aus einer Zelle durch ";" getrennt in neue Zeilen darunter einfügen |
07.09.2016 15:08:59 |
Gast45013 |
|
|
|
07.09.2016 16:37:54 |
JimmyKnoeppkes |
|
|