Spalteneinträge ersetzen durch Buchstaben, Bindestrich, Zahl
#1
Hallo kann jemand mir bitte ein Makro erstellen und zwuar hab ich 2 Spalten mit Daten

Spalte A    Spalte B          Resultat

2018          2060           TBA-2018-2060
                 182513             182513

                 184627             184627
                 111699             111699
2018          1801           TBA-2018-1801
2017            643           TBA-2017-0643
                185546              185546
2018          2932           TBA-2018-2932
2017              13           TBA-2017-0013
2015            293           TBA-2015-0293
                265874              265874

Erklärung:

Die 6 stellige Zahlen in Spalte B bleiben unberührt
Allle andern Zahlen sollen in Spalte B ersetzt werden zb. wenn sin Spalte A 2018 steht und in Spalte B 2060 wird das durch TBA-2018-2060 ersetzt oder wenn in Spalte A 2017 und in Spalte B 13 steht wird das durch TBA-2017-0013 ersetzt es müssen immer eine 4 stellige Zahl hinten stehn die fehlenden stellen werden durch "0" ersetzt.

Gesamt muss er 105000 Zeilen durchlaufen

Vielen lieben dank
Top
#2
Heje Excelfreunde;


=WENN(A1="";B1;VERKETTEN("TBA-";TEXT(A1;"0000");"-";TEXT(B1;"0000")))
Vielen Dank
--Janosch
                                                     
Excel  2019 (64bit)  Win 10 Pro (64bit)                              
Top
#3
Hi,

=WENN(A1="";B1;"TBA-"&A1&"-"&TEXT(B1;"0000"))
Gruß Conny :)
_______________________________________________________________

Die Summe der Intelligenz auf unserem Planeten ist konstant, aber die Bevölkerung wächst!
Top
#4
Hallo,

der Test mit LO hat zwar nicht geklappt, aber so ähnlich sollte es mit VBA gehen:

Code:
Sub Main
lrA = cells(rows.count,1).end(xlup).row
lrB = cells(rows.count,2).end(xlup).row
lr = iif(lrA >=lrB, lrA, lrB)

for i = 2 to lr
    if cells(i,1) = "" then
        cells(i,3) = cells(i,2)
    else
        cells(i,3) = "TBA-" & cells(i,1) &  "-" & cells(i,2)
    endif
next i
End Sub

mfg
Top
#5
Vielen lieben Dank an alle für die schnelle Antwort Smile

Im Makro fehlt nur die 5 stellige Zahl d.h. wenn da steht 2017  34 dann muss das Resultat TBA-2017-00034 ausehn oder wenn 2016  423 da steht dann muss das Resultat TBA-2016-00423 aussehn...
Top
#6
Eigentlich sollte das Resultat genau so wie in dieser Datei erklärt vor und nach dem Makro durchlauf ausehn aber ob das Möglich ist naja ... wäre schon toll denn es sind im ganzen über 100.000 Zeilen.


Angehängte Dateien
.xlsx   Datei.xlsx (Größe: 10,75 KB / Downloads: 4)
Top
#7
Hallo Patrick,

teste mit

Code:
Sub Main
lr = cells(rows.count, 2).end(xlup).row
for i = 2 to lr
    if cells(i,1) = "" then
        cells(i, "F") = cells(i,2)
        cells(i, "G") = "ABCDEFGHI-" & format(cells(i,3), "0000")
    else
        cells(i, "F") = "TBA-" & cells(i, 1) & "-" & format(cells(i,2), "0000")
        cells(i, "G") = "C0000" & cells(i, 3)
    endif
next i

End Sub

mfg
Top
#8
Super mega perfekt wie schnell wow Smile Vielen vielen dank
Top
#9
xxxxx
Top
#10
Hallo ihr lieben,

Sorry ich hab einen Fehler entdeckt der von meiner Seite aus kommt da ich falsch überlegt hab es geschieht soeben folgendes laut Script von Fennek:

Code:
for i = 2 to lr
   if cells(i,1) = "" then
       cells(i, "F") = cells(i,2)
       cells(i, "G") = "ABCDEFGHI-" & format(cells(i,3), "0000")
   else
       cells(i, "F") = "TBA-" & cells(i, 1) & "-" & format(cells(i,2), "0000")
       cells(i, "G") = "C0000" & cells(i, 3)
   endif
next i

End Sub
Alle Zahlen die in Spalte C stehn die 4 stellig oder weniger als 4 stellen haben müssen als Resultat ABCDEFGHI- vordran bekommen
Alle Zahlen die in Spalte C stehn die 5 stellig oder mehr als 5 stellig sind müssen als Resultat C0000 vordran bekommen


Sorry für meine falsche überlegung gestern


Angehängte Dateien
.xlsx   Datei.xlsx (Größe: 10,42 KB / Downloads: 6)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste