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

VBA Code Hilfe, wenn Wert in Zelle, dann

VBA Code Hilfe, wenn Wert in Zelle, dann
30.03.2020 10:57:09
Avgoustatos
Hallo zusammen
Ich probiere gerade mit rudimentären Kentnissen und dem Kopieren von VBA Scripts folgendes Problem zu lösen...
Ich habe ein Excel Sheet, siehe Screenshot:
https://ibb.co/wMZd77v
Nun möchte ich aus der IST Situation die SOLL Situation erstellen. D.h. wenn in der Spalte A ein Wert ist (im Beispiel ist es der Wert 2), dann sollen genau diese Anzahl Zeilen eingefügt werden, also 2, der Name Peter soll kopiert werden und die Werte 4,5 sollen sozusagen transformiert werden und bei Peter in den neuen Zeilen eingefügt werden.
Ich bringe es einfach nicht hin. Ist das Ding wirklich so kompliziert, oder sagt jemand von euch, was für eine Kindergartenaufgabe, das kann man locker so machen?
Um jeden Hinweis froh!
Danke und Grüsse
Alex

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
wozu ein Bild?
30.03.2020 10:59:45
Werner
Hallo,
weshalb lädst du nicht deine Datei hier hoch?
Gruß Werner
AW: wozu ein Bild?
30.03.2020 11:05:56
Avgoustatos
Ach, ich habe gar nicht gesehen, dass es diese komfortable Lösung gibt...
hier die Datei:
https://www.herber.de/bbs/user/136242.xlsx
Danke für den Hinweis!!!
AW: wozu ein Bild?
30.03.2020 11:47:14
Werner
Hallo,
teste mal:
Public Sub aaa()
Dim loAnzahl As Long, loSpalte As Long
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
If .Range("A4")  "" Then
If IsNumeric(.Range("A4")) Then
If .Range("A4") > 1 Then
loAnzahl = .Range("A4")
loSpalte = .Cells(4, .Columns.Count).End(xlToLeft).Column
.Rows(4).Resize(loAnzahl).Insert
.Cells(4 + loAnzahl, "B").Copy .Cells(4, "B").Resize(loAnzahl)
.Range(.Cells(4, "A"), .Cells(4 + loAnzahl, "A")) = 0
.Cells(4 + loAnzahl, "C").Insert shift:=xlToRight
.Range(.Cells(4 + loAnzahl, "D"), .Cells(4 + loAnzahl, loSpalte + 1)).Copy
.Cells(4, "C").PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range(.Cells(4 + loAnzahl, "D"), _
.Cells(4 + loAnzahl, loSpalte + 1)).ClearContents
Application.CutCopyMode = False
End If
End If
End If
End With
End Sub
Gruß Werner
Anzeige
Rückmeldung ist wohl ein Fremdwort? o.w.T.
03.04.2020 13:14:26
Werner

385 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige