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

0 veranderen in --

Status
Niet open voor verdere reacties.
RoCompy87 schreef:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Replace What:="0", Replacement:="--", LookAt:=xlWhole, SearchOrder _
:=xlByRows, MatchCase:=True
End Sub
Bij bovenstaande code wordt telkens als een andere cel wordt GESELECTEERD (dus niet niet alleen bij invoer van een 0) het GEHELE werkblad gecontroleerd op de aanwezigheid van nullen, dat lijkt mij erg oneconomisch. De vragensteller wil alleen bij elke nieuwe invoer van een 0 die 0 wijzigen. Beter lijkt mij daarom bv. dit:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = 0 Then Target.Value = "--"
End Sub
Eventueel reeds aanwezige nullen kunnen allemaal in 1 keer worden vervangen door het betreffende bereik (of het gehele werkblad) te selecteren en dan in het menu te kiezen: Bewerken - Vervangen. Daarna kan dan bovenstaande code worden gebruikt.
 
haha ja oke, maar ik zit t ezoeken hoe ik ze kan inschakelen. maar waaaar kan ik deze inschakelen??
 
het gaat er juist wel om dat alle 0 en worden vervangen door --

Ik maak dit bestand, maar andere mensen moeten hier mee werken. En echt iedere 0 in het bestand moet een -- zijn.

Dus die ene code is wel goed. Maar het gaat er nu om dat de code gaat werken. Door die macro's.

Maar hoe?
 
Ga naar extra > macro > beveiliging > zet op: gemiddeld (of laag) > OK.
Sla je bestand op > sluit af.
Open het bestand opnieuw. Bij beveiliging op gemiddeld krijg je nu de vraag of je de macro's wilt openen of niet > Ja. Als de beveiliging laag staat dan open je macro's automatisch.
 
Ik vrees dat we in herhaling gaan vallen, maar ik doe nog een poging:

Klik links-onderaan met de rechtermuisknop op de tab van het werkblad waarin de invoer plaatsvindt. Is dat bv. Blad1, klik dan met de rechtermuisknop op de naam "Blad1" en kies dan met de linkermuisknop: "programmacode weergeven".
Plak in het rechtervenster dat dan verschijnt onderstaande code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = 0 Then Target.Value = "--"
End Sub
Sluit het venster door op het kruisje rechtsboven te klikken.
Voer nu als test in het werkblad een aantal getallen (waaronder nullen ) in.
 
Zet in het Custom deel deze 'formule': #.###,####;-#.###,####;--
Iedere punt-komma brengt je in een nieuw segment. Deel 1 staat voor positieve getallen; deel 2 voor negatieve; deel 3 voor 'wat te doen indien nul...'; deel 4 (niet gebruikt) staat voor tekst.
Of je gaat alsnog voor deze oplossing zonder VBA.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan