Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1240to1244
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

@ Franz / fcs

@ Franz / fcs
Markus
Hallo Franz,
ich brauche Dich nochmals als Genie. Du kannst Dich sicher an diesen Beitrag erinnern.
https://www.herber.de/forum/archiv/1232to1236/t1233251.htm#1233251
Hier die Tabelle : https://www.herber.de/bbs/user/76945.xls
Mit diesem Code werden die Einträge aus dem gelben Bereich in den grünen Bereich kopiert. Der Code funktioniert perfekt.
Leider hat sich nun allerdings die Ausgangsituation geändert. Die Werte sollen weiterhin bis zum ; kopiert werden - allerdings (nun die NEUERUZNG) bis zum Leerzichen in den grünen Bereich (Spalte A) und nach dem Leerzeichen in Spalte B. Natürlich jeweils in die gleiche Zeile.
Hier mal zwei Beispiele (N12, M542 V)
N12
Zelle A12= N12
Zelle B12 = leer
M542 V
Zelle A13 = 542
Zelle B13 = V
usw.
Meinst Du, das kriegst Du auch hin?
Viele Grüße
Markus

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: @ Franz / fcs
20.12.2011 08:05:36
fcs
Hallo Markus,
dazu ist "nur" eine zusätzliche Zeile erforderlich.
Gruß
Franz
Sub SpalteN_nach_A()
Dim wks As Worksheet
Dim Zeile_N As Long, Zeile_A As Long, StatusCalc As Long
Dim vZelle_N, iIndex As Long, sText As String
With Application
.ScreenUpdating = False
StatusCalc = .Calculation
If StatusCalc  xlCalculationManual Then .Calculation = xlCalculationManual
.EnableEvents = False
End With
Set wks = ActiveSheet
With wks
Zeile_A = 12
For Zeile_N = 12 To .Cells(.Rows.Count, 14).End(xlUp).Row
vZelle_N = Split(.Cells(Zeile_N, 14), ";")
If UBound(vZelle_N) = -1 Then 'Zelle in Spalte N ist leer
.Cells(Zeile_A, 1).ClearContents
Zeile_A = Zeile_A + 1
If Zeile_A > .Rows.Count Then
MsgBox "Alle Zeilen der Tabelle sind mit Daten gefüllt!"
GoTo Beenden
End If
Else
For iIndex = LBound(vZelle_N) To UBound(vZelle_N)
sText = Trim(vZelle_N(iIndex))
If InStr(1, sText, " ") > 0 Then
.Cells(Zeile_A, 2).Value = Mid(sText, InStr(1, sText, " ") + 1)'         neu
sText = Left(sText, InStr(1, sText, " ") - 1)
End If
.Cells(Zeile_A, 1).Value = sText
Zeile_A = Zeile_A + 1
If Zeile_A > .Rows.Count Then
MsgBox "Alle Zeilen der Tabelle sind mit Daten gefüllt!"
GoTo Beenden
End If
Next
End If
Next
End With
Beenden:
With Application
.ScreenUpdating = True
.Calculation = StatusCalc
If StatusCalc  .Calculation Then .Calculation = StatusCalc
.EnableEvents = True
End With
End Sub

Anzeige
Super, danke für Deine schnelle Hilfe!
20.12.2011 11:08:46
Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige