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

makro umschreiben

Forumthread: makro umschreiben

makro umschreiben
22.01.2009 10:53:00
haris
Hallo Experten,
ich haben folgendes Makro:

Sub pn_1_7_1()
Dim i As Long, ar As Variant, j As Integer
For i = 1 To Cells(1, 1).End(xlDown).Row
If Cells(i, 1).Value Like "#-#######-#" Then
ar = Split(Cells(i, 1).Value, "-")
j = 1
While Mid(ar(1), j, 1) = "0"
j = j + 1
Wend
If j > 1 Then ar(1) = Mid(ar(1), j)
End If
If ar(0) = "0" Then
Cells(i, 2).Value = ar(1) & IIf(ar(2) = "0", "", "-" & ar(2))
Else
Cells(i, 2).Value = Join(ar, "-")
End If
Next
End Sub


diese Makro würde ich gerne so umschreiben, das der Ausgangswert in "G13" steht und das Ergeniss in "H13" herauskommt. was müsste ich hier ändern?
Grüße
Harris

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: makro umschreiben
22.01.2009 11:00:00
yusuf
Hi,
eventuell so!?
Ungetestet:

Sub pn_1_7_1()
Dim i As Long, ar As Variant, j As Integer
For i = 1 To Cells(1, 1).End(xlDown).Row
If Cells(i, 1).Value Like "#-#######-#" Then
ar = Split(Cells(i, 1).Value, "-")
Range("G13") = Split(Cells(i, 1).Value, "-")
j = 1
While Mid(ar(1), j, 1) = "0"
j = j + 1
Wend
If j > 1 Then ar(1) = Mid(ar(1), j)
End If
If ar(0) = "0" Then
Cells(i, 2).Value = ar(1) & IIf(ar(2) = "0", "", "-" & ar(2))
Range("H13") = ar(1) & IIf(ar(2) = "0", "", "-" & ar(2))
Else
Cells(i, 2).Value = Join(ar, "-")
Range("H13") = Join(ar, "-")
End If
Next
End Sub


Gruß
Yusuf

Anzeige
AW: makro umschreiben
22.01.2009 11:09:43
haris
Hallo Yusuf,
ich bekomm hier --> If ar(0) = "0" Then
AW: makro umschreiben
26.01.2009 09:32:00
yusuf
Hallo,
ich bitte um Entschuldigung, dass ich mich jetzt erst melde.
Lief das Makro denn vor meiner Erweiterung?
Die Erweiterungen, die ich eingefuegt habe, sollten so einen Fehler nicht ausloesen.
Im folgenden habe ich die Stellen, welche ich eingefuegt habe fett hervorgehoben.
Meine VBA-Kenntnisse sind nicht so gut, dass ich den eigentlichen Fehler finden kann.
Ich lasse die Frage offen, eventuell hat ja jemand anderes einen Lösungsvorschlag.

Sub pn_1_7_1()
Dim i As Long, ar As Variant, j As Integer
For i = 1 To Cells(1, 1).End(xlDown).Row
If Cells(i, 1).Value Like "#-#######-#" Then
ar = Split(Cells(i, 1).Value, "-")
Range("G13") = Split(Cells(i, 1).Value, "-")
j = 1
While Mid(ar(1), j, 1) = "0"
j = j + 1
Wend
If j > 1 Then ar(1) = Mid(ar(1), j)
End If
If ar(0) = "0" Then
Cells(i, 2).Value = ar(1) & IIf(ar(2) = "0", "", "-" & ar(2))
Range("H13").Value = ar(1) & IIf(ar(2) = "0", "", "-" & ar(2))
Else
Cells(i, 2).Value = Join(ar, "-")
Range("H13") = Join(ar, "-")
End If
Next
End Sub


Gruß
Yusuf

Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18