Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1176to1180
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 übernehmen

Werte übernehmen
Markus
Hallo zusammen,
ich benötige dringend Eure Hilfe!
Habe folgende Excel-Datei:

Die Datei https://www.herber.de/bbs/user/71700.xls wurde aus Datenschutzgründen gelöscht


Die Mitarbeiter bei mir kopieren aus einer Anwendung in die Spalte G bis N (beginnend ab Zeile 12 bis theoretisch endlos).
Die Werte aus Spalte N soll per VBA-Code in Spalte A (grüner Bereich eingefügt werden). Allerdings mit der Besonderheit, dass natürlich nur ein Teil übernommen werden darf.
Beispiel N12
M542 ; M542 V
Daraus müsste werden (beginnend mit A12)
M542 Zelle A12
M542 Zelle A13
Beispiel N13
9000 ; M5416 ; J310 ; J328 B A ; S022 ; Z463 ; R529 B ; K089
Daraus müsste werden:
9000 Zelle A14
M5416 Zelle A15
J310 Zelle A16
J328 Zelle A17
S022 Zelle A18
Z463 Zelle A19
R529 Zelle A20
K089 Zelle A21
usw so fort.
Wer kann mir bei meinem Problem helfen?
Im Voraus Vielen Dank!
Viele Grüße
Markus

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

Betreff
Benutzer
Anzeige
AW: Werte übernehmen
30.09.2010 07:39:22
fcs
Hallo Markus,
das nachfolgende Makro bereitet die Daten in Spalte N entsprechend auf und überträgt sie nach Spalte A.
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
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
AW: Werte übernehmen
30.09.2010 08:54:25
Markus
Hallo Franz,
absoluter Wahnsinn! Es funktioniert bestens!
Vielen Dank für Deine Hilfe!
Viele Grüße
Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige