Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
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

Zellenwert, je nach Wert verschieben

Zellenwert, je nach Wert verschieben
02.07.2018 12:18:19
Thorsten
Hallo Zusammen,
mein Problem von gestern, konnte ich noch nicht lösen, deshalb erneut meine Anfrage um Hilfe. Diesmal ein anderer Ansatz:
Die Einträge der Spalte E sollen überprüft werden.
E1 bis E9 gehören zum Datensatz A1 und sollen anschließend die Felder E1 bis M1 belegen
E2 bis E9 kann dann die gesamte Zeile gelöscht werden
E15 müsste z.B. auf F14 verschoben werden, anschließend Zeile 15 gelöscht werden
Der Wert="#WERT!" stammt noch von der Formel zum Trennen des Strings und kann mit samt der Zeile gelöscht werden.
Hoffentlich ist meine Umschreibung heute besser gelungen. Vielen Dank
Hier die Beispieldatei:
https://www.herber.de/bbs/user/122434.xlsx

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

Betreff
Datum
Anwender
Anzeige
AW: Zellenwert, je nach Wert verschieben
02.07.2018 20:33:59
Thorsten
Folgende Lösung habe ich nun mal versucht aufzubauen:
Const AB = "1)"
Const AC = "2)"
Const AD = "3)"
Const AE = "4)"
Const AF = "5)"
Const AG = "6)"
Dim c As Integer
Dim p As Integer
p = Sheets(2).Range("E65535").End(xlUp).Row
For c = p To 1 Step -1
If InStr(Cells(p, 4), AB) >~f~ 0 = True Then
Cells(p, 4).Select
ActiveCell.Offset(0, 1).Value = ActiveCell.Value
End If
If InStr(Cells(p, 4), AC)~f~ >~f~ 0 = True Then
Cells(p, 4).Select
ActiveCell.Offset(-1, 2).Value = ActiveCell.Value
End If
If InStr(Cells(p, 4), AD) ~f~>~f~ 0 = True Then
Cells(p, 4).Select
ActiveCell.Offset(-2, 3).Value = ActiveCell.Value
End If
If InStr(Cells(p, 4), AE) ~f~>~f~ 0 = True Then
Cells(p, 4).Select
ActiveCell.Offset(-3, 4).Value = ActiveCell.Value
End If
If InStr(Cells(p, 4), AE) ~f~>~f~ 0 = True Then
Cells(p, 2).Select
ActiveCell.Offset(-4, 5).Value = ActiveCell.Value
End If
If InStr(Cells(p, 4), AE) ~f~>~f~ 0 = True Then
Cells(p, 4).Select
ActiveCell.Offset(-5, 6).Value = ActiveCell.Value
End If
If Cells(p, 4).Value = "#WERT!" Then
ActiveCell.EntireRow.Delete
End If
p = p - 1
Next c
Es läuft für eine Zelle wunderbar durch, allerdings beim 2. Durchlauf folgt ein Debug-Fehler: Laufzeitfehler 13 Typen unverträglich.
Übrigens habe ich die Konstanten auf 6 maximal gesetzt, da dies zwischenzeitlich auf max 6 Personen pro Datensatz begrenzt wurde.
habe ich vor jedes größer und kleiner Zeichen setzen müssen, um den Code hochladen zu können.
Kann mir jemand helfen?
Vielen Dank
Anzeige
AW: Zellenwert, je nach Wert verschieben
02.07.2018 23:18:15
Thorsten
Im Coding oben habe ich die Variable p durch c ersetzt. Der Fehler wurde von dem #Wert! Eintrag verursacht. Nachdem ich die entsprechenden Einträge gelöscht habe, lief die Schleife mit den If-Anfragen komplett durch.

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige