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

= Functie niet uitvoeren als cel leeg is.

Status
Niet open voor verdere reacties.

HyperXnl

Gebruiker
Lid geworden
2 apr 2016
Berichten
74
Beste leden,

Ik heb via het net bijgevoegde bestand gevonden om een QR code te generen van de waarde uit een cel.
Echter creëer hij altijd een code, ook als de cel leeg is.

Hoe kan ik ervoor zorgen dat de = functie niet wordt uitgevoerd als de cel leeg is, en dus dan ook geen code wordt gegenereerd?
Geen info (lege cel) betekend dus geen code?

Iemand die mij verder kan schoppen.

Thanks.

Grtz Michael
 

Bijlagen

Voeg na dit blokje code:

Code:
Public Function Code128(text As String) As String
    On Error GoTo failed
    If Not TypeOf Application.Caller Is Range Then Err.Raise 513, "Code 128", "Call only from sheet"
    Dim m As Long, i As Long, j As Long, c As Long, l As Long, t As Long
    Dim shp As Shape, color As Long, txt As String    ' redraw barcode ?
    color = vbBlack
    For Each shp In Application.Caller.Parent.Shapes
        If shp.Name = Application.Caller.Address Then
            If shp.Title = text Then Exit Function    ' same as prev ?
            color = shp.Fill.ForeColor.RGB    ' redraw with same color
            shp.Delete
        End If
    Next shp

De volgende regel toe:

Code:
    If Len(text) = 0 Then Exit Function
 
Voeg na dit blokje code:

Code:
Public Function Code128(text As String) As String
    On Error GoTo failed
    If Not TypeOf Application.Caller Is Range Then Err.Raise 513, "Code 128", "Call only from sheet"
    Dim m As Long, i As Long, j As Long, c As Long, l As Long, t As Long
    Dim shp As Shape, color As Long, txt As String    ' redraw barcode ?
    color = vbBlack
    For Each shp In Application.Caller.Parent.Shapes
        If shp.Name = Application.Caller.Address Then
            If shp.Title = text Then Exit Function    ' same as prev ?
            color = shp.Fill.ForeColor.RGB    ' redraw with same color
            shp.Delete
        End If
    Next shp

De volgende regel toe:

Code:
    If Len(text) = 0 Then Exit Function

Ne helaas deze ook niet ;(
 
Je kan beter de quote knop mijden en de gevonden code proberen aan te passen met de suggestie in #4 ipv alleen de kreet 'Ne helaas deze ook niet ;("'uit te slaan.

Bij mij werkt het ook dus leg even uit wat je aangepast hebt en waarom het bij jou niet werkt.
 
@jkpieterse, ben er inmiddels achter waar het aan lag. na het goed doorlezen van de eerder verstrekte oplossen zag ik dat de code
Code:
If Len(text) = 0 Then Exit Function
, enkel was toegepast in de code128 module, na het toevoegen van de code ook in de QRcode module, werkte deze. Bedankt voor de oplossing. Kan ik weer even verder puzzelen. :thumb:

@VenA, ook een goedemorgen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan