• 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.

formule over ganse kolom vba

Status
Niet open voor verdere reacties.

gast0173

Gebruiker
Lid geworden
17 dec 2015
Berichten
9
help,

Ik ben niet zo goed in vba excel en zou iets moeten maken..
De opdracht bestaat er uit om een naam te zetten in kolom A, maakt niet uit waar.
Maar hoe moet ge die formule over zetten naar de volledige kolom en dat hij de naam pakt dat voor kolom b,c en d staat. (bv: naam in cel a444 dat b ook in 444 staat, ...)
Kan iemand mij helpen? :s

Alvast bedankt
 
Laatst bewerkt:
Beste,
Niet echt.. met de formules zou ik iets kunnen doen als je maar 1 naam nodig hebt. Bij mij moet dit over gans de kolom zijn dus van B1 tot B1045000. En spijtig genoeg weet in niet hoe of wat :s
(Maar danku om te antwoorden :) )
 
Post eens een bestandje waarin de situatie is uitgelegd en de bedoeling er bij staat.
 
Waarom moet dat perse met een macro gebeuren?
Je kan die formules toch gewoon naar beneden doortrekken zover als nodig.

Maar als het echt moet:

Code:
Sub Initialenmacro()
'
' Macro2 Macro
'

For Each cl In Sheets("Blad1").Range("B:B")
    Cells(cl.Row, 2).FormulaLocal = "=ALS.FOUT(LINKS(A" & cl.Row & ";1)&""""&DEEL(A" & cl.Row & ";VIND.SPEC("" "";A" & cl.Row & ")+1;1);"""")"
    Cells(cl.Row, 3).FormulaLocal = "=ALS.FOUT(LINKS(A" & cl.Row & ";VIND.SPEC("" "";A" & cl.Row & "));"""")"
    Cells(cl.Row, 4).FormulaLocal = "=ALS.FOUT(RECHTS(A" & cl.Row & ";LENGTE(A1)-VIND.SPEC("" "";A" & cl.Row & "));"""")"
Next
    Sheets.Add After:=ActiveSheet
End Sub
 
beste,

Dit moet via macro gedaan worden (omdat we niet weten hoeveel mensen we nodig hebben, zijn dit er 100 is slepen zeker geen probleem, zijn er dit 5000 dan is dit al wat meer werk :) )
U macro werkt zoals gevraagd! heel erg bedankt hiervoor!!
Nu wel :s kan je er een formule bij zetten dat als er niets in a staat dat hij deze niet blijft afgaan, anders gaat hij ze allemaal afgaan tot 1045000..
(mijn excuses dat ik dit er niet direct bij gezet heb)
 
Zo zal het wel lukken zeker:

Code:
Sub Initialenmacro()
'
' Macro2 Macro
'
With Sheets("Blad1")
  For Each cl In .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
    Cells(cl.Row, 2).FormulaLocal = "=ALS.FOUT(LINKS(A" & cl.Row & ";1)&""""&DEEL(A" & cl.Row & ";VIND.SPEC("" "";A" & cl.Row & ")+1;1);"""")"
    Cells(cl.Row, 3).FormulaLocal = "=ALS.FOUT(LINKS(A" & cl.Row & ";VIND.SPEC("" "";A" & cl.Row & "));"""")"
    Cells(cl.Row, 4).FormulaLocal = "=ALS.FOUT(RECHTS(A" & cl.Row & ";LENGTE(A1)-VIND.SPEC("" "";A" & cl.Row & "));"""")"
  Next
End With
    Sheets.Add After:=ActiveSheet
End Sub
 
Cobbe, ik zie ook net dat hij dingen doet die niet de bedoeling zijn denk ik :s
ook zet hij bij achternaam iets raars.. bij mijn naam (gast0173 en anoniem0173 doet hij wat hij moet doen)
Naamloos12.jpg

Het mag dus niet automatisch gezet worden.
(Ik ga hierna een startknop zetten die de macro actief zet)
 
Laatst bewerkt:
Klein bugje nog:
Code:
Sub Initialenmacro()
    With Sheets("Blad1")
        For Each cl In .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
            Cells(cl.Row, 2).FormulaLocal = "=ALS.FOUT(LINKS(A" & cl.Row & ";1)&""""&DEEL(A" & cl.Row & ";VIND.SPEC("" "";A" & cl.Row & ")+1;1);"""")"
            Cells(cl.Row, 3).FormulaLocal = "=ALS.FOUT(LINKS(A" & cl.Row & ";VIND.SPEC("" "";A" & cl.Row & "));"""")"
            Cells(cl.Row, 4).FormulaLocal = "=ALS.FOUT(RECHTS(A" & cl.Row & ";LENGTE(A" [COLOR="#FF0000"]& cl.Row &[/COLOR] ")-VIND.SPEC("" "";A" & cl.Row & "));"""")"
        Next
    End With
    'Sheets.Add After:=ActiveSheet
End Sub
 
Held!
Ik ben jullie dankbaar cobbe! en Timshel! :thumb:
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan