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

als cel legen dan verwijzing weghalen

Status
Niet open voor verdere reacties.

gastje88

Gebruiker
Lid geworden
9 jan 2014
Berichten
19
hallo,

ik heb net een oplossing gekregen voor een eerder probleem, maar ik wil hier nog iets aan toevoegen.
ik heb ongeveer een idee wat er moeten komen te staan maar ik kan het niet in vba taal omzetten.
de blauwe tekst is de originele werkende macro, het groene is mijn gepruts eromheen

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
if Range(Target.Address) isempty then Blad2.Range(Target.Address).Formula = ""
else Blad2.Range(Target.Address).Formula = "='Blad 1'!" & Target.Address
End Sub

het moet iets worden dat als de cel leeggemaakt wordt moet er geen formule komen in het doel,
als er wel iets ingevuld wordt moet er wel een verwijzing komen.

Geert
 
Laatst bewerkt door een moderator:
Er zijn meerdere mogelijkheden, maar het zou bijvoorbeeld zo kunnen.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Blad2.Range(Target.Address).Formula = IIf(Target = "", "", "='Blad 1'!" & Target.Address)
End Sub

Met vriendelijke groet,


Roncancio
 
Bv.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 Blad2.Range(Target.Address).Formula = IIf(IsEmpty(Target), "", "='Blad 1'!" & Target.Address)
End Sub

Edit: Roncancio was me al voor zie ik.
 
Laatst bewerkt:
jongens ik heb geen idee wat er staat, maar het werkt wel.

veel dank!
 
oke nog een vraagje dan.
is er ook een optie om dit voor meerdere gegevens tegelijk te doen? krijg nu een error als ik meerdere gegevens tegelijk ga plakken.
heb dit geprobeerd:
Code:
[COLOR="#0000FF"]Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To iKolom
Blad2.Range(Target.Address(i, Row(Target.adress))).Formula = IIf(Target(i) = "", "", "='blad 1'!" & Target.Address(i, Row(Target.adress)))
Next
End Sub[/COLOR]
maar dan krijg ik de melding dat de tweede row in de functie niet geldig is. kan het wel zo dat hiermee de rij van de target benoemd wordt?

vr gr Geert
 
Laatst bewerkt:
Bv.

Als je Ctrl+Enter gebruikt voor meerdere cellen ineens in te vullen.
Of om een reeks te verwijderen.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
For i = 0 To Selection.Count
 Blad2.Range(Split(Target.Address, ":")(0)).Offset(i).Formula = IIf(Range(Split(Target.Address, ":")(0)).Offset(i) = "", "", "='Blad 1'!" & Range(Split(Target.Address, ":")(0)).Offset(i).Address)
Next i
End Sub
Verder zou ik niet weten wat je ermee wil.
 
Laatst bewerkt:
ik voel me bijna bezwaard om nog iets te vragen :$
ik probeer het toch maar.
maar hij pakt in deze vorm alleen de kolommen,
zou het ook kunnen dat dit voor de rijen gedaan wordt?
de gegevens worden namelijk per rij ingevoerd en niet per kolom ;)

vr gr Geert
 
De code is voor rijen in één kolom.
 
ja dat had ik door,
het is dus niet mogelijk dit te maken voor kolommen in een rij?
 
Natuurlijk is dat mogelijk.
Je ziet een aantal keer 'Offset(i) staan.
Zet voor de variabele i een komma.
 
haha, geniaal, dat het zo makkelijk kan zijn :P

hartstikke bedankt, ik hoop dat ik nou geen aanpassingen meer nodig heb.
het werkt allemaal perfect.
super bedankt voor alle hulp en snelle antwoorden :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan