Delen via

VBA code waarbij Macro wordt uitgevoerd o.b.v. waarde cel in ander werkblad

Anoniem
2020-01-16T12:10:38+00:00

Ik wil in een ander tabblad rijen laten verdwijnen (obv een macro) zodra in een aangegeven cel een resultaat weergegeven wordt.

Concreet:

De formule in cel "D100": =ALS(EN(D100>=0;D100<=25);1;ALS(EN(D100>25;D100<=50);2;ALS(EN(D100>50;D100<=75);3;ALS(EN(D100>75;D100<=100);4;""))))

Geeft dus resultaat 1 t/m 4. Dit resultaat is als gevolg van het scrollen meteen scrollbar (met de waarde 0-100).

Dit werkt naar behoren.

Om rijen te verbergen en weer zichtbaar te maken in VBA gekoppeld aan de resultaten obv formule werkt ook prima:

De code in VBA hier voor ( moet dit nog doorvoeren t/m cijfer 4)

Private Sub Worksheet_Change(ByVal Target As Range)

If Range("D110").Value = 1 Then Rows("120").hidden = False

If Range("D110").Value = 1 Then Rows("121").hidden = True

End Sub

Alleen wat ik wil is dat de rijen op Tabblad 5 (=ander tabblad - (bovenstaande is van toepassing op tabblad4 (Business Dashboard))

aangepast kunnen worden dmv macro (verbergen en/of weer zichtbaar maken aan de hand van de uitkomst van de formule cel D100 van tabblad 4.

Kom er echt niet uit. Hoop dat iemand mij kan verlossen hiermee :).

Bedankt alvast.

Microsoft 365 en Office | Excel | Voor thuisgebruik | Windows

Vergrendelde vraag. Deze vraag is gemigreerd vanuit de Microsoft Ondersteuning-community. U kunt met een stem aangeven of de inhoud nuttig is, maar u kunt geen opmerkingen of antwoorden toevoegen of de vraag volgen.

0 opmerkingen Geen opmerkingen

Antwoord geaccepteerd door vraagauteur

Anoniem
2020-01-17T20:58:52+00:00

De formule in cel "D100": =ALS(EN(D100>=0;D100<=25);1;ALS(EN(D100>25;D100<=50);2;ALS(EN(D100>50;D100<=75);3;ALS(EN(D100>75;D100<=100);4;""))))

Je mag in een cel geen formule plaatsen waarin de celnaam zelf voorkomt, dus in D100 mag geen D100 staan! Ik vermoed dat je bedoelt te zeggen dat de formule het resultaat is van wat er in D100 staat. Dat kan wel natuurlijk.

Als ik je goed begrijp is de invoer in D100 steeds een geheel getal. Als dat het geval is, kun je je formule verkorten tot:

=als(of(D100>100;D100<0);"";vergelijken(D100;{0;26;51;76;101}))

Was dit antwoord nuttig?

1 persoon vond dit antwoord nuttig.
0 opmerkingen Geen opmerkingen

4 extra antwoorden

Sorteren op: Meest nuttig
  1. Anoniem
    2020-01-18T08:58:34+00:00

    Dank voor je reactie. De formule stond in cel D110. Voorgaande suggestie heeft het probleem inmiddels verholpen.

    thanks anayway!

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  2. Anoniem
    2020-01-17T07:00:08+00:00

    Jan...gij zijt geweldig! Heel erg bedankt. Werkt perfect.

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  3. Anoniem
    2020-01-16T20:43:49+00:00

    Ik ga het proberen. Laat even weten wat de uitkomst is.

    Bedankt voor het meedenken Jan!

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  4. Anoniem
    2020-01-16T20:39:05+00:00

    HendrX,

    Dat zou met deze code moeten kunnen:

    Private Sub Worksheet_Change(ByVal Target As Range)

        If Me.Range("D110").Value = 1 Then

            With Worksheets("tabblad 5")

                .Rows("120").Hidden = False

                .Rows("121").Hidden = True

            End With

        End If

    End Sub

    Jan

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen