Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro: Ohne Hilfsspalte Zeichen ergänzen & format

Makro: Ohne Hilfsspalte Zeichen ergänzen & format
16.03.2017 09:54:31
Marcel
Hallo zusammen,
ich habe in Spalte A Artikelnummern stehen die entweder 9 oder 10 Zeichen haben. Wenn die Artikelnummern 9 Zeichen haben liegt das daran, dass eigentlich eine "0" vorangestellt sein müssten. Außerdem soll noch zwischen 3. und 4. sowie 8. und 9 Stelle ein Punkt eingefügt werden.
Im Prinzip diese Formatierung: "0#\.####\.####"
Ich möchte es aber nicht nur so formatiert haben, dass es so aussieht sondern, dass die Zahlen so tatsächlich in der Spalte stehen.
Ich habe das leider nur über Formeln und zwei Hilfsspalten hinbekommen:
=RECHTS(WIEDERHOLEN("0";14)&A1;10)
=VERKETTEN(LINKS(A1;2);".";TEIL(A1;3;4);".";RECHTS(A1;4))
Könnt ihr mir helfen, wie das als Makro ohne Hilfsspalten funktioniert?
Danke und Grüße
Marcel
Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro: Ohne Hilfsspalte ...
16.03.2017 10:06:09
Bernd
Hi,
meinst Du so:
00"."0000"."000
MfG Bernd
Über VBA
16.03.2017 10:13:23
Sven

dim z as Range
dim artikel as String
for each z in range("A1:A10000")    'Bereich anpassen
if z.value="" then exit for
artikel=z.value
if len(artikel) = 9 then artikel = "0" & artikel
artikel=str(format(artikel,"00.0000.0000"))
z.value=artikel
next

Grüße
Sven
Anzeige
Fehler in Formel
16.03.2017 10:31:12
Marcel
Hallo Sven,
leider bringt er einen Fehler in diesem Bereich bei format: artikel = Str(format(artikel, "00.0000.0000"))
Kannst Du nochmal helfen?
Grüße
Marcel
AW: Fehler in Formel
16.03.2017 11:52:07
Sven

Option Explicit
Public Sub ArticleFormat()
Dim z As Range
Dim artikel As String
For Each z In Tabelle1.Range("A1:A10000")    'Bereich anpassen
If z.Value = "" Then Exit For
artikel = Replace(Str(z.Value), " ", "")
If Len(artikel) = 9 Then artikel = "0" & artikel
artikel = Left(artikel, 2) & "." & Mid(artikel, 3, 4) & "." & Mid(artikel, 7, 4)
z.Value = artikel
Next
End Sub

Anzeige
Danke!
16.03.2017 13:54:14
Marcel
Hallo Sven,
vielen Dank - funktioniert prima!!!
Viele Grüße
Marcel
AW: Danke! und zu...
16.03.2017 13:59:57
robert
Noch nicht schließen bitte
16.03.2017 15:48:50
Marcel
Wie schaffe ich es, dass das Makro in allen Tabellenblättern angewendet wird?
Danke und Gruß
Anzeige
so ?
16.03.2017 16:14:31
robert

Public Sub ArticleFormat()
Dim z As Range
Dim artikel As String
Dim wks As Worksheet
For Each wks In ThisWorkbook.Sheets
For Each z In wks.Range("A1:A10000")    'Bereich anpassen
If z.Value = "" Then Exit For
artikel = Replace(Str(z.Value), " ", "")
If Len(artikel) = 9 Then artikel = "0" & artikel
artikel = Left(artikel, 2) & "." & Mid(artikel, 3, 4) & "." & Mid(artikel, 7, 4)
z.Value = artikel
Next
Next wks
End Sub

Anzeige
Fehler in Formel
17.03.2017 09:56:40
Marcel
Hi Robert,
Danke, aber bei Dir ist noch irgendwo ein Fehler in der Zeile:
artikel = Replace(Str(z.Value), " ", "")
Viele Grüße
Marcel
getestet-kein Fehler bei mir-owT
17.03.2017 15:26:05
robert
Mit der Format-Funktion...
16.03.2017 19:28:57
{Boris}
Hi,
...geht es auch so:
Option Explicit
Sub oder_so()
Dim C As Range, Ws As Worksheet
For Each Ws In ThisWorkbook.Worksheets
For Each C In Ws.Range("A1:A1000")
If C  "" Then C = Format(C, "00\.0000\.0000")
Next C
Next Ws
End Sub
VG, Boris
Anzeige
Danke - funktioniert
17.03.2017 09:57:52
Marcel
Hi Boris,
danke, Deine Version funktioniert!
Viele Grüße
Marcel
=TEXT(A1;"00\.0000\.0000")
16.03.2017 11:15:36
{Boris}
VG, Boris
Makro: Artikelnummern anpassen
16.03.2017 12:30:23
Rudi
Hallo,
Sub ArtNummer()
Dim vArr, i As Long
vArr = Cells(1, 1).CurrentRegion.Resize(, 1)
For i = 2 To UBound(vArr)
vArr(i, 1) = Format(CLng(vArr(i, 1)), "00"".""0000"".""0000")
Next
Cells(1, 1).Resize(UBound(vArr), UBound(vArr, 2)) = vArr
End Sub
Gruß
Rudi
Anzeige
;

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