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

Nulwaarde van cel niet weergeven in =TEKST.SAMENV

Status
Niet open voor verdere reacties.

markremmel

Gebruiker
Lid geworden
7 okt 2015
Berichten
49
Hallo,

Ik heb intussen een aantal cellen die bij elkaar gevoegd worden tot 1 tekstregel middels =TEKST.SAMENV
Dit werkt verder prima en heb ook spaties ertussen gekregen.

Om het helemaal perfect te krijgen ben ik op zoek hoe ik cellen die leeg zijn niet als een 0 worden, maar dat deze niet worden weergegeven...
Cellen B16 t/m B27 zijn optioneel aan de medewerkers om in te vullen en worden alleen ingevuld wanneer noodzakelijk.

De formule string zoals die nu staat:

=TEKST.SAMENV(B6;" "; B7;" ";B8;" ";B9;"/";C9;"/";D9;" ";B10;"/";C10;"/";D10;" ";B11;"/";C11;"/";D11;" ";B13;"/";B14;"/";B15;" ";B16;" ";
B17;". ";B18;". ";B19;". ";B20;". ";B21;". ";B22;". ";B23;". ";B24;". ";B25;". ";B26;". ";B27;". ";)

Daarnaast iemand nog tips hoe ik kan zorgen dat B17 t/m B27 op regel 2 komen te staan binnen 1 cel?
Dus niet alle tekst achter elkaar, zoals hieronder:

EHBK 2108101300 03 4/4/2 50/50/50 NR/NR/NR WET/DRY SNOW ON TOP OF COMPACTED SNOW/SLIPPERY WET 0 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.

Maar:

EHBK 2108101300 03 4/4/2 50/50/50 NR/NR/NR WET/DRY SNOW ON TOP OF COMPACTED SNOW/SLIPPERY WET 0
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.

PS: Ik heb al geprobeerd om de nulwaarde in de cel te verbergen middels de aangepaste celopmaak en daar 0;-0;;@ toe te voegen, maar dit werkt niet.

Hopelijk is er iemand die een oplossing heeft voor mijn 2 vraagjes :d

Alvast dank!

Mvgr,
Mark
 
Hopelijk plaats je ook nog een voorbeeld documentje.
 
Waarom staan onder je Maar: de 0 tekens nog als je die niet wilt zien?

Die kan je laten verwijderen door SUBSTITUEREN te gebruiken.
Een regel overloop invoegen kan met TEKEN(10).
 
Waarom staan onder je Maar: de 0 tekens nog als je die niet wilt zien?

Die kan je laten verwijderen door SUBSTITUEREN te gebruiken.
Een regel overloop invoegen kan met TEKEN(10).

Ik had die bij de "maar" nog even laten staan om duidelijk te maken dat ik 2 regels onder elkaar wil hebben.
Die 0 waarden worden in winterse periodes wel 'waardes' maar die moeten dan op regel 2 worden weergegeven en niet achter regel 1 geplakt.

Ga me even verdiepen in SUBSTITUEREN, niet bekend mee.. dus eens uitzoeken hoe dat werkt.

Dank alvast zover!
 
alvast met een matrixformule, maar vermoedelijk wordt het VBA
 

Bijlagen

Probeer dit eens:
PHP:
=SUBSTITUEREN(TEKST.SAMENV(B6;" "; B7;" ";B8;" ";B9;"/";C9;"/";D9;" ";B10;"/";C10;"/";D10;" ";B11;"/";C11;"/";D11;" ";B13;"/";B14;"/";B15;" ";B16;".";TEKEN(10);B17;". ";B18;". ";B19;". ";B20;". ";B21;". ";B22;". ";B23;". ";B24;". ";B25;". ";B26;". ";B27;". ");"0.";"")
 
Probeer dit eens:
PHP:
=SUBSTITUEREN(TEKST.SAMENV(B6;" "; B7;" ";B8;" ";B9;"/";C9;"/";D9;" ";B10;"/";C10;"/";D10;" ";B11;"/";C11;"/";D11;" ";B13;"/";B14;"/";B15;" ";B16;".";TEKEN(10);B17;". ";B18;". ";B19;". ";B20;". ";B21;". ";B22;". ";B23;". ";B24;". ";B25;". ";B26;". ";B27;". ");"0.";"")

Beide super bedankt voor jullie input.

@edmoor de formule werkt perfect, op twee kleine zaakjes na en dat is als ik in B16 een getal invul (bijv. "40") dan maakt deze formule er nu alleen een "4" van in de RCR FORMAT (zie bijlage ;))
En op de tweede tekstregel laat ie waarschijnlijk lege ruimte vrij waar natuurlijk die tekst gesubstitueerd is. Is dit makkelijk te ondervangen om de tekst die er wel staat aan elkaar te laten aansluiten? Of gaat dit dan VBA worden?

Nogmaals dank :)

Gr,
Mark
 

Bijlagen

Heb je die van Cow al geprobeerd?
Anders wil ik het wel in VBA voor je maken.
 
Heb je die van Cow al geprobeerd?
Anders wil ik het wel in VBA voor je maken.

Ja, net even gekeken... alleen daar zijn de spaties zoals ik ze erin had staan niet aanwezig, dus alle tekst wordt aaneengesloten en volgens mij kan ik in die formule niet die regelsplitsing maken.
Als we die nog kunnen finetunen dan is die zeker werkbaar!

Anders zou ik je natuurlijk zeer dankbaar zijn mocht je willen helpen met de VBA.
 
Probeer deze eens te runnen

Code:
Sub jvr()
jv = Sheets(2).Range("A6:D27")
 For i = 1 To UBound(jv)
    If jv(i, 2) > 0 Then c00 = c00 & IIf(i = 11, Chr(10), "") & Join(Array(jv(i, 2), jv(i, 3), jv(i, 4)), "/") & IIf(InStr(jv(i, 1) & jv(i + 1, 1), ")") = 0, "/", " ")
 Next
 Sheets(2).Cells(6, 7) = Replace(Replace(c00, "///", "/"), "//", "")
End Sub
 
Laatst bewerkt:
Probeer deze eens te runnen

Code:
Sub jvr()
jv = Sheets(2).Range("A6:D27")
 For i = 1 To UBound(jv)
    If jv(i, 2) > 0 Then c00 = c00 & IIf(i = 11, Chr(10), "") & Join(Array(jv(i, 2), jv(i, 3), jv(i, 4)), "/") & IIf(InStr(jv(i, 1) & jv(i + 1, 1), ")") = 0, "/", " ")
 Next
 Sheets(2).Cells(6, 7) = Replace(Replace(c00, "///", "/"), "//", "")
End Sub

Thanks :)
Als je me kan vertellen waar ik deze moet plaatsen in de VBA dan kan ik het even uitproberen!
 
Even een module aanmaken en plakken.

ALT + F11 voor openen VBA --> Rechtermuiskop op thisworkbook --> invoegen --> module
 
Even een module aanmaken en plakken.

ALT + F11 voor openen VBA --> Rechtermuiskop op thisworkbook --> invoegen --> module

Wow! Die werkt wel erg nice :) Thanks hiervoor.

Klein verzoek, cel B16 behoort eigenlijk op de 1e regel, nu staat die op regel 2 kan ik dat zelf omzetten?
En na cel B17 t/m B27 zou elke keer een punt moeten staan. Kan dat er ook in?

Dan moet ik alleen zelf nog iets maken dat de macro gedraaid wordt nadat iemand de data heeft ingevoerd.
 
Zo moet het lukken.
Een macro kun je bvb achter een knop zetten of achter een change_event

EDIT: kleine aanpassing gedaan

Code:
Sub jvr()
  jv = Sheets(2).Range("A6:D28")
  
  For i = 1 To UBound(jv)
      If i = 12 Then c00 = c00 & Chr(10)
      If jv(i, 2) > 0 And i <> UBound(jv) Then c00 = c00 & Join(Array(jv(i, 2), jv(i, 3), jv(i, 4)), "/") & IIf(InStr(jv(i, 1) & jv(i + 1, 1), ")") = 0, "/", IIf(i > 12, ". ", " "))
  Next
  
  Sheets(2).Cells(25, 7) = Replace(Replace(c00, "///", "/"), "//", "")
End Sub
 
Laatst bewerkt:
Zie aanpassing code van de vorige post
 
Zie aanpassing code van de vorige post

Thanks! Nu loopt ie goed.
Even kijken of ik zelf een change_event gemaakt krijg (totaal onbekend met VBA) of dat het dan een knop gaat worden. Waarschijnlijk het laatste.
Is dat snel en makkelijk ingericht zo'n change_event?
 
Ik zou het lekker achter een knop zetten.
 
Was m'n plan ook, helaas werkt dat niet met een bladbeveiliging. Dus dat is wel jammer.. kijken of ik daar nog iets op verzonnen kan krijgen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan