Ich arbeite am Exportieren von CSVs großer Gruppen aus einer Active Directory-Umgebung. Viele dieser Gruppen haben umfangreiche Verschachtelung und ich muss Zellen einfügen, damit das Arbeitsblatt für Menschen lesbar ist.Einfügen einer Zelle in Excel basierend auf dem Zellenwert
Zum Beispiel mein Arbeitsblatt sieht wie folgt aus: WS Beispiel
Int Benutzerpfad
0 User1 CN
0 User2 CN
1 User3 CN
1 Benutzer4 CN
0 User5 CN
1 user6 CN
2 user7 CN
Ich suche Hilfe ein VBA-Skript anpassen, die den Integer-Wert aus der ersten Spalte liest und fügt die entsprechende Anzahl von Zellen links von der Spalte für diese bestimmte Zeile. Die Einschränkung besteht darin, dass die Liste die Reihenfolge der Zeilen nicht ändern kann, um die verschachtelte Struktur beizubehalten.
Hier ist, was ich in VBA habe bisher
Sub test()
Dim d As Integer
d = Range("A:A").End(xlDown).row
Dim c As Range
For i = d To 1 Step -1
If Cells(i, 1).Value Like "1" Then
Rows(Cells(i, 1).Column).Insert shift:=xlShiftRight
End If
Next
End Sub
Derzeit wird dieser Schnipsel aus der Spalte die Anzahl von 1en zählt und fügt eine neue Zeile an der Spitze der Liste. Ich glaube, der Fehler in meiner Logik ist innerhalb der If-Anweisung und sobald ich das ausgebügelt habe, weiß ich, dass ich das mit einem ElseIf erweitern kann, um den Rest der Werte zu adressieren.
ich denke, das nur Verschiebungen eine Spalte nach rechts ... Ich denke, die Frage fragt nach der Anzahl der verschobenen Spalten, um variabel zu sein ... – gordon613