• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA code wijzigen tekst vóór 1ste punt

Status
Niet open voor verdere reacties.

peter59

Terugkerende gebruiker
Lid geworden
21 mei 2007
Berichten
1.710
Besturingssysteem
Windows 11
Office versie
Office versie 365
Hallo,

Ik ben op zoek naar een VBA code voor het wijzigen van tekst vóór de 1ste punt.
In kolom A staat b.v. DIPSI-90000102.102.102.
Het is de bedoeling dat de 102 vóór de 1ste punt wordt gewijzigd in 127.
Voorbeeldje bijgevoegd.
In werkelijkheid gaat het om meer dan 100.000den rijen. Het geheel is helaas niet mogelijk met zoeken en vervangen.

Wie kan mij hierbij helpen?
Dank alvast.

Mvg
Peter
 

Bijlagen

  • Vervang gegevens voor 1ste punt.xlsx
    8,9 KB · Weergaven: 27
Met deze functie:
Code:
=LINKS(A3;VIND.SPEC(".";A3)-4)&"127"&DEEL(A3;VIND.SPEC(".";A3);10)
 
Hallo Edmoor

Heel hartelijk dank voor het meedenken.
Maar hoe kan ik deze formule implementeren in een VBA code?
Ik heb hier helaas nog niet veel kaas van gegeten van hoe nu zo'n formule in een code geplaatst kan worden.

Mvg
Peter
 
Dat is geen VBA maar een gewone Excel formule.
 
Klopt Edmoor

Ik dien dan met een hulpkolom te gaan werken en dat is eigenlijk niet mijn bedoeling.
Het is de bedoeling dat wanneer er op een knop wordt geklikt de gehele kolom A, d.m.v. de in VBA verwerkte formule wordt gewijzigd.

Mvg
Peter
 
Ok. Dat kan dan met dit stukje VBA:
Code:
Sub Vervang_102_127()
    Dim DIPSI() As String
    Dim i As Integer
    
    Application.ScreenUpdating = False
    With ActiveSheet
        For i = 3 To .Cells(.Rows.Count, "A").End(xlUp).Row
            DIPSI = Split(.Cells(i, 1), ".")
            .Cells(i, 1) = Left(DIPSI(0), Len(DIPSI(0)) - 3) & "127." & DIPSI(1) & "." & DIPSI(2)
        Next i
    End With
    Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Edmoor,

Dat is hem.
Ik had ook al kolom 5 veranderd in kolom 1 (.Cells(i, 1)).
Als het niet te veel gevraagd is hoop ik ook op een klein stukje uitleg wat deze code nu eigenlijk doet.
Ik probeer v.w.b. "eenvoudige" codes zoveel mogelijk te begrijpen. Ik zie vaak codes voorbij komen welke voor mij echt "rocket science" is.

Edmoor, voor deze code wil ik je al heel hartelijk danken.


Mvg
Peter
 
Code:
Sub M_snb()
   [A3:A400] = [if(A3:A400="","",substitute(A3:A400,"102.","127.",1))]
End Sub
 
Hij is weer mooi! :) :thumb:
 
@edm

Dank,

Edoch ik verbaas mij erover dat mensen op hun werk met dit soort Excelbladen geconfronteerd worden, zonder dat zij de scholing hebben gehad hiermee te werken. :rolleyes:
 
Tja, dat had ik ook.
1 Beginnerscursus Excel zonder VBA en voor de rest red je je maar.
 
Hallo Edmoor en Snb

Ja, volledig met jullie eens.
Wij worden idd geconfronteerd met div. rapportages uit div. applicaties.
Ik probeer steeds d.m.v. formules, draaitabellen, VBA en Powerpivot tot iets te komen wat gevraagd wordt.
En ik ben iemand wat zich het "leven" zo eenvoudig mogelijk probeert te maken oftewel zo efficiënt mogelijk werken.
Aangezien Excel zoveeeeeeel mogelijkheden heeft is het volgens mij bijna ondoenlijk om voor ieder specifiek "probleem" een oplossing te weten.
Ik ben daarom ook zo blij, en ik denk meerdere TS'ers, dat dit forum bestaat.

Nogmaals heel hartelijk dank voor jullie oplossingen/bijdrage.
Ik hoop in de toekomst nog van dit forum, jullie, veel te leren.

Mvg
Peter
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan