Zum Inhalt springen

Excel Makro


Sylon

Empfohlene Beiträge

Hallo zusammen,

ich habe ein Makro entworfen, welches bei Adresslieferung in Excel die Postleitzahl überprüft und ggf. eine "0" davor setzt, wenn es nur 4 Zeichen sind.

Mein Problem ist, dass ich das Makro so umgestalten muss damit es nicht immer die gleiche Spalte prüft und ändert sondern es soll immer die markierte Spalte prüfen.

Könnt ihr mir bitte helfen? Unten steht der Quelltext :)

LG

Sylon

Columns("H:H").Select

Selection.Insert Shift:=xlToRight

Columns("I:I").Select

Selection.Insert Shift:=xlToRight

Selection.Insert Shift:=xlToRight

Range("H2").Select

ActiveCell.FormulaR1C1 = "=LEN(RC[-1])"

Range("H2").Select

Selection.AutoFill Destination:=Range("H2:H206"), Type:=xlFillDefault

Range("H2:H206").Select

ActiveWindow.SmallScroll Down:=-204

Range("I2").Select

ActiveCell.FormulaR1C1 = "=IF(RC[-1]=4,""0""&RC[-2],RC[-2])"

Range("I2").Select

Selection.AutoFill Destination:=Range("I2:I206"), Type:=xlFillDefault

Range("I2:I206").Select

ActiveWindow.SmallScroll Down:=-225

Range("I2:I206").Select

Selection.Copy

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Columns("J:J").Select

Application.CutCopyMode = False

Selection.Delete Shift:=xlToLeft

Range("I1").Select

ActiveCell.FormulaR1C1 = "PLZ"

Columns("G:H").Select

Range("H1").Activate

Selection.Delete Shift:=xlToLeft

End Sub

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

weil man nicht sehen kann was da reinkopiert wird,

lässt sich die Frage schlecht beantworten.

Das Beispiel unten formatiert nach Rückfrage die ganze Spalte mit dem Sonderformat "Postleitzahl".

Vielleicht hilft es ja:


Sub PLZ_Fomat()

Dim lngSpalte As Long

'ganze Spalte als Postleitzahl formatieren


  lngSpalte = ActiveCell.Column

  Columns(lngSpalte).Select


  If MsgBox("Spalte " & lngSpalte & " als PLZ formatieren?", _

            vbQuestion + vbYesNoCancel, _

            "") = vbYes Then


    Columns(lngSpalte).NumberFormat = "00000"

  Else

    MsgBox "Keine Änderung vorgenommen.", , ""

  End If


End Sub

Gruß

Alfons

Link zu diesem Kommentar
Auf anderen Seiten teilen

also die Spalte "PLZ" ist jeder Excel immer an einer anderen Stelle

bisher macht das Makro folgendes:

-fügt rechts neben der Spalte 2 neue ein

- in die erste kommt: =länge(z.B G2)

- in die zweite kommt: =wenn(H2=4;"0"&G2;G2)

- beide formeln werden bis Zeile 265 circa gezogen

jetzt brauche ich das makro so, dass es nicht immer auf die Spalte "G" angewendet wird sondern auf die Spalte, die ich markiert hab >.<

Vielleicht ist es so für dich / euch besser nachzuvollziehen.

LG

Sylon

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...