ich stecke noch in den Kinderschuhen der Excel VBA Welt und habe ein kleineres Problem.
Ich will, dass der User nach Buttonklick eine Spalte eingibt, welche im Nachgang bearbeitet wird.
Gibt der User beispielsweise "a" ein, so soll eine weitere Spalte nach "a" angelegt werden (also bei b), diese Spalte ist zunächst leer.
Im weiteren Verlauf soll jede Zelle aus a nach bestimmten Kriterien überprüft werden und findet man ein Fehler, so soll dieser in der neuerstellten Spalte bereinigt dargestellt werden.
Mein Problem ist aktuell, dass ich es nicht schaffe, dass VBA mir eine Spalte in a+1 anlegt, da dies ja Buchstaben sind und ich nicht hochzählen kann.
Auch mit Schleifen bin ich nicht zum Ziel gekommen.
Es sieht wie folgt aus:
Sub Bereinigen()
Dim x As Integer
Dim y As Variant
Dim i As Integer
Dim lastrow As Integer
y = InputBox("Welche Spalte soll bereinigt werden?")
If y = "" Then
MsgBox "Bitte geben Sie eine Spalte an!", vbInformation
ElseIf IsNumeric(y) = True Then
MsgBox "Bitte gebe ein richtiges Spaltenformat an!", vbInformation
End If
lastrow = ThisWorkbook.Sheets("kopie").Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To lastrow
Range(y & x) = Application.Substitute(Range(y & x), Chr(10), "")
Range(y & x) = Trim(Range(y & x))
Range(y & x) = Application.Substitute(Range(y & x), "gmbh", "GmbH")
Range(y & x) = Application.Substitute(Range(y & x), "ohg", "OHG")
Range(y & x) = Application.Substitute(Range(y & x), "eg", "eG")
Range(y & x) = Application.Substitute(Range(y & x), "kg", "KG")
Next
End Sub
Im folgenden Beispiel würde er nur die ausgewählte Spalte direkt bereinigen nach den Kriterien.
Wir wollen aber in Spalte+1 eine neue Spalte angelegt bekommen udn die Änderungen soll er dort ablegen.
Sprich wir werden sagen, suche in Spalte"Eingabe" nach Fehlern, wenn Fehler vorliegt, dann kopiere in neue Spalte und bereinige.
Weiß jemand wie ich es erstmal hinbekomme, dass die zusätzliche Hilfsspalte angelegt wird?
Also gibt der User "b" ein, dann soll in C angelegt werden, gibt er C ein, dann in D, usw.
Ich hoffe, dass ich mich verständlich ausgedrückt habe und das mein Ansatz erstmal genügt.
Ich bin für jeden Ratschlag/Tipp dankbar,
Sebastian