Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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
Anzeige

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!!!
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige