Note: The other languages of the website are Google-translated. Back to English

Hoe kolommen te verbergen of zichtbaar te maken op basis van vervolgkeuzelijstselectie in Excel?

Terwijl u Excel gebruikt, kunt u specifieke kolommen verbergen of zichtbaar maken op basis van de selectie van een vervolgkeuzelijst. Als u bijvoorbeeld Nee selecteert in de vervolgkeuzelijst, worden kolom C tot en met I verborgen, maar als u Ja selecteert, worden de verborgen kolommen C tot en met I niet verborgen. Zie onderstaande screenshot getoond.
In dit artikel laten we u een VBA-methode zien om kolommen te verbergen of zichtbaar te maken op basis van vervolgkeuzelijstselectie in Excel.

Kolommen verbergen of zichtbaar maken op basis van keuzelijstselectie in Excel


Kolommen verbergen of zichtbaar maken op basis van keuzelijstselectie in Excel

Zoals hierboven vermeld, gaat u als volgt te werk om kolommen C tot I te verbergen of zichtbaar te maken op basis van de vervolgkeuzelijst.

1. Maak eerst uw vervolgkeuzelijst met Ja en Nee die u nodig heeft.

2. Druk vervolgens op anders + F11 om de te openen Microsoft Visual Basic voor toepassing venster.

3. Dubbelklik op de huidige geopende bladnaam in het VBA-project sectie om de code-editor te openen.

4. Kopieer en plak vervolgens onderstaande VBA-code in de code-editor.

VBA-code: kolommen verbergen of zichtbaar maken op basis van keuzelijst

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20180822
    If Target.Column = 2 And Target.Row = 3 Then
        If Target.Value = "No" Then
            Application.Columns("C:I").Select
            Application.Selection.EntireColumn.Hidden = True
        ElseIf Target.Value = "Yes" Then
            Application.Columns("C:I").Select
            Application.Selection.EntireColumn.Hidden = False
        End If
    End If
End Sub

Opmerking:: In de bovenstaande code zijn Column = 2 en Row = 3 de celverwijzing van de vervolgkeuzelijst, en het bereik C: I is de kolommen die u wilt verbergen of zichtbaar maken. Wijzig ze alstublieft naar uw behoefte.

5. druk op anders + Q toetsen tegelijkertijd om het Microsoft Visual Basic voor toepassing venster.

Vanaf nu, wanneer u Nee selecteert in de vervolgkeuzelijst, worden alle opgegeven kolommen verborgen.

Maar als u Ja selecteert in de vervolgkeuzelijst, worden alle verborgen kolommen onmiddellijk weergegeven.


Gerelateerde artikelen:


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert elke dag honderden muisklikken!
officetab onderkant
Comments (76)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb een werkmap en probeer mijn hoofd rond een VBA-code te krijgen. Ik heb een code die ervoor zorgt dat als ik uit een vervolgkeuzelijst 1 kies, een werkblad zichtbaar wordt. Ik ben op zoek naar een code die ik pagina 1 selecteer en een bereik van 3-5 selecteer uit een vervolgkeuzelijst, het maakt een werkblad zichtbaar en 5 kolommen in het niet-verborgen werkblad. Is dat te doen?
Deze opmerking is gemaakt door de moderator op de site
krijg een foutcode wanneer je het ingevoerde nummer verwijdert, kan ik hier hulp bij krijgen?
Deze opmerking is gemaakt door de moderator op de site
Heb de code zo aangepast



Particulier subwerkblad_Wijziging (ByVal-doel als bereik)


Als Target.Column = 3 en Target.Rij = 2 en Target.Value = "Nee"

Dan


Toepassing.Rijen ("3:90").Selecteer


Application.Selection.EntireRow.Hidden = True


Anders


Toepassing.Rijen ("3:90").Selecteer


Application.Selection.EntireRow.Hidden = False


End If


End Sub




Maar het probleem waar ik mee te maken heb, is dat ik niet in staat ben om ja nee te antwoorden: omdat alle rijen 3 tot 90 worden geselecteerd, kan ik de volgende vragen niet beantwoorden
Deze opmerking is gemaakt door de moderator op de site
Beste Harikumar,

De code die je hebt opgegeven werkt goed voor mij. Wanneer u Nee selecteert in de vervolgkeuzelijst (die zich in cel C2 bevindt), wordt rij 3:90 onmiddellijk verborgen. En als u Ja selecteert in de vervolgkeuzelijst, worden ze allemaal tegelijk zichtbaar. Sorry, ik begrijp het punt niet van wat je zei over het niet kunnen antwoorden met ja nee.
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor het nuttige artikel.


Ik zou met deze macro nog een stap verder willen gaan: ik heb precies dit nodig, maar met het voorbehoud dat de kolommen die ik moet verbergen zich niet noodzakelijk in een aaneengesloten bereik bevinden en kunnen worden geïdentificeerd door een specifieke rij binnen elke kolom.

Wat ik in gedachten heb is zoiets als dit:
if refcell = "a", verberg dan alle kolommen met "a" in rij 7, anders
if refcell = "b", verberg dan alle kolommen met "b" in rij 7, anders
if refcell = "c", verberg dan alle kolommen met "c" in rij 7 else
toon alle kolommen

Als dit mogelijk is, hoe zou de VBA-code er dan uitzien?
Deze opmerking is gemaakt door de moderator op de site
Hallo! Heb je hier een oplossing voor gevonden? Op zoek naar hetzelfde :D
Deze opmerking is gemaakt door de moderator op de site
Dear John,
De volgende VBA-code kan u helpen het probleem op te lossen. Wanneer u "a" in cel A1 invoert, worden alle kolommen met "a" in rij 7 automatisch verborgen. Het werkt ook bij het invoeren van b en c in cel A1.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Dim xRg als bereik
Dim xRgZoek als bereik
Dim xRgUni As Range
Dim xFirstAddress As String
On Error Resume Next
Application.ScreenUpdating = False
Rijen (7). Gehele kolom. Verborgen = False
Als Target.Address = Range("A1").Adres Dan
Stel xRg = Intersect (ActiveSheet.UsedRange, Rows(7)) in
Stel xRgFind = xRg.Find(Target.Value, , xlValues, xlWhole, , , True)
Als niet xRgFind niets is, dan?
xFirstAddress = xRgFind.Address
Do
Stel xRgFind = xRg.FindNext(xRgFind) in
Als xRgUni niets is, dan?
Stel xRgUni = xRgFind in
Anders
Stel xRgUni = Application.Union (xRgUni, xRgFind) in
End If
Loop While (Niet xRgFind is niets) en (xRgFind.Address <> xFirstAddress)
End If
xRgUni.EntireColumn.Hidden = True
End If
Application.ScreenUpdating = True
End Sub
Deze opmerking is gemaakt door de moderator op de site
Beste Ryan,
Probeer de volgende VBA-code. Bij het invoeren van "a" in cel A1 worden alle kolommen met "a" in rij 7 automatisch verborgen. Het werkt ook bij het invoeren van b en c in cel A1.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Dim xRg als bereik
Dim xRgZoek als bereik
Dim xRgUni As Range
Dim xFirstAddress As String
On Error Resume Next
Application.ScreenUpdating = False
Rijen (7). Gehele kolom. Verborgen = False
Als Target.Address = Range("A1").Adres Dan
Stel xRg = Intersect (ActiveSheet.UsedRange, Rows(7)) in
Stel xRgFind = xRg.Find(Target.Value, , xlValues, xlWhole, , , True)
Als niet xRgFind niets is, dan?
xFirstAddress = xRgFind.Address
Do
Stel xRgFind = xRg.FindNext(xRgFind) in
Als xRgUni niets is, dan?
Stel xRgUni = xRgFind in
Anders
Stel xRgUni = Application.Union (xRgUni, xRgFind) in
End If
Loop While (Niet xRgFind is niets) en (xRgFind.Address <> xFirstAddress)
End If
xRgUni.EntireColumn.Hidden = True
End If
Application.ScreenUpdating = True
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hallo Kristal,
Ik ben hier nieuw in. Ik kan uit uw code niet opmaken hoe u a, b en c definieert als waarden in cel A1. Ik heb eigenlijk wat te doen wat je code doet, maar ik heb de waarde van A1 (of een andere cel die ik wil gebruiken) nodig om een ​​string te zijn.
Voorbeeld:
Ik heb een tabel (cellenbereik) die 1 van de 3 waarden in rij 3 bevat. De waarden zijn ("Actief", "Inactief" en "Gesloten". Ik wil graag alle kolommen met "Inactief" of "Gesloten " in rij 3 om te verbergen. De waarde in rij 3 is afkomstig van een INDEX/MATCH-functie die uit een ander blad in mijn werkmap haalt. In het andere blad selecteer ik 1 van de 3 waarden uit een vervolgkeuzelijst.

Hoe zou ik deze code aanpassen om te zoeken naar "Inactief" of "Gesloten" in rij 3, en alleen die kolommen verbergen?


Bij voorbaat hartelijk dank!

Eddie
Deze opmerking is gemaakt door de moderator op de site
Beste Eddy,
Sorry dat ik hier niet mee kan helpen. U kunt uw vraag op ons forum plaatsen: https://www.extendoffice.com/forum.html om meer ondersteuning te krijgen van onze Excel-professional.
Deze opmerking is gemaakt door de moderator op de site
Ik moet dit gebruiken voor het afwisselend verbergen van 14 kolommen op basis van een celwaarde.
bijv. - Als A1 = CAT, verberg dan de kolommen J tot V

Als A1 = BAT, verberg dan de kolommen I en K tot V

Als A1 = HAT, verberg dan de kolommen I, J en L tot P

Kortom, mijn gegevens bevinden zich in de kolommen I tot V en ik moet kolommen uit dit bereik verbergen, behalve degene die is geselecteerd in de referentiecel. en maak alles zichtbaar als "Alle" is geselecteerd in de referentiecel.

Ik heb geprobeerd dezelfde formule hierboven in een lus te gebruiken, maar ik krijg een "compileerfout - ". Is er een andere formule die ik moet gebruiken?
Deze opmerking is gemaakt door de moderator op de site
Beste Ruchi,
Sorry, ik begrijp je punt van "Kortom, mijn gegevens bevinden zich in de kolommen I tot V en ik moet kolommen uit dit bereik verbergen, behalve degene die is geselecteerd in de referentiecel. en maak alles zichtbaar als "Alle" is geselecteerd in de referentiecel."
Deze opmerking is gemaakt door de moderator op de site
Kan iemand helpen:


Als ik de waarde in cel A1 invoer als "Nee", wil ik dat kolommen D:E worden verborgen. en als ik de waarde invoer als "Ja", wil ik dat kolommen D:E zichtbaar zijn en kolommen F:G verbergen
Deze opmerking is gemaakt door de moderator op de site
Beste Anish,
Deze VBA-code kan u helpen. Probeer het alsjeblieft. Bedankt voor je reactie.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Dim xRg als bereik
Stel xRg = bereik ("A1") in
Als xRg.Address = Target.Address en Target.Value = "Nee" dan
Columns("D:E").EntireColumn.Hidden = True
ElseIf xRg.Address = Target.Address en Target.Value = "Ja" Dan
Columns("D:E").EntireColumn.Hidden = False
Columns("F:G").EntireColumn.Hidden = True
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Ik heb hulp nodig met Excel-macro of formule. Kan iemand helpen?
Deze opmerking is gemaakt door de moderator op de site
Ik heb hulp nodig met een vergelijkbare macro, maar voor gespecificeerde celbereiken, niet voor een hele kolom. Kan dit?
Deze opmerking is gemaakt door de moderator op de site
Beste Kara,
Bedoelt u "inhoud van gespecificeerde celbereiken verbergen op basis van celwaarde"? Plaats uw vraag met details om ons te helpen het probleem op te lossen.
Deze opmerking is gemaakt door de moderator op de site
Hallo daar! Ik heb een selectie van 10 items en probeer alleen de rijen 57 tot 72 weer te geven als ik er een selecteer. Ik gebruik de volgende code, maar op de een of andere manier werkt het niet en mijn dashboard verandert helemaal niet. Wanneer ik echter iets in een willekeurige cel intoets, wordt de pagina opnieuw geladen en worden de rijen 57:72 verborgen. Maar dan blijft het hetzelfde voor al mijn selecties en ik kan het niet opnieuw zichtbaar maken via de dropbox-selectie. Mag ik weten of iemand een alternatief voorstel heeft? Dank u bij voorbaat!


Particulier subwerkblad_Wijziging (ByVal-doel als bereik)

Als Target.Column = 2 en Target.Rij = 3 en Target.Value = "1"

Dan Application.Rows("57:72").Select Application.Selection.EntireRow.Hidden = False

Else Application.Rows("57:72").Select Application.Selection.EntireRow.Hidden = True

End If

End Sub
Deze opmerking is gemaakt door de moderator op de site
Hoi,
Bedankt voor de code, als ik de derde optie wil toevoegen, wat is dan de syntaxis?
Deze opmerking is gemaakt door de moderator op de site
Ik heb deze code aangepast om rijen te verbergen in plaats van kolommen, en het werkt, maar met een klein probleem. Ik heb verschillende lijsten voor gegevensvalidatie op hetzelfde werkblad en wanneer ik een waarde uit deze andere lijsten selecteer, lijken alle rijen die in mijn code zijn gespecificeerd automatisch zichtbaar te worden, zelfs als de waarde voor de doelcel is ingesteld op 'Nee'. Waarom gebeurt dit en hoe kan ik dit oplossen?
Deze opmerking is gemaakt door de moderator op de site
Beste Janice,
Sorry voor de fout, probeer de nieuwe code hieronder. Bedankt voor je reactie.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Als Target.Column = 2 en Target.Rij = 3 Dan
Als Target.Value = "Nee" Dan
Toepassing.Kolommen ("C:I").Selecteer
Application.Selection.EntireColumn.Hidden = True
ElseIf Target.Value = "Ja" Dan
Toepassing.Kolommen ("C:I").Selecteer
Application.Selection.EntireColumn.Hidden = False
End If
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Dit is precies wat ik moet doen, maar ik wil niet dat de kolom wordt gemarkeerd wanneer ik verberg/zichtbaar maak. Hoe kan ik de code inbouwen om naar de volgende cel te gaan?
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor het nuttige artikel. Ik zou met deze macro nog een stap verder willen gaan: ik heb precies dit nodig, maar de kolommen die ik moet verbergen/zichtbaar maken, bevinden zich niet noodzakelijk in een continu bereik. Mijn kolommen variëren van C tot NC. Wat ik wil is dat als ik doelwaarde 1 selecteer, het AH naar NC verbergt en C zichtbaar maakt voor AG, en wanneer ik doelwaarde 2 selecteer, het C verbergt naar AG en ook BJ naar NC, en AH zichtbaar maakt voor BI en zo onder voorbehoud van Streefwaarde.
Deze opmerking is gemaakt door de moderator op de site
In principe moet ik weten hoe ik naar meerdere bereiken tegelijk kan verwijzen. Ik heb het geprobeerd, maar het geeft een foutmelding. Hier is een kijkje
Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Als Target.Column = 2 en Target.Rij = 4 Dan
Als Target.Value = "Januari" Dan
Toepassing.Kolommen ("AH:NC").Selecteer
Application.Selection.EntireColumn.Hidden = True
ElseIf Target.Value = " Januari " Dan
Toepassing.Kolommen ("C:AG").Selecteer
Application.Selection.EntireColumn.Hidden = False

ElseIf Target.Value = "Februari" Dan
Toepassing.Kolommen ("C:AG, BJ:NC").Selecteer
Application.Selection.EntireColumn.Hidden = True
ElseIf Target.Value = " Februari " Dan
Toepassing.Kolommen ("AH:BI").Selecteer
Application.Selection.EntireColumn.Hidden = False

End If
End If
End Sub

Opmerking: het werkt voor Target.Value = " January ", maar voor Target.Value = "February" markeert het een fout op deze regel => Application.Columns ("C:AG, BJ:NC").Selecteer

Bovendien, zodra het zich verbergt bij het selecteren van een doelwaarde, wordt het niet zichtbaar bij het selecteren van een andere doelwaarde
Deze opmerking is gemaakt door de moderator op de site
Hoi Maria,
Uw code is geoptimaliseerd. Probeer het alsjeblieft. Hoop dat ik kan helpen.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Dim xRG als bereik
Dim xHRow als geheel getal
Stel xRG = Bereik ("B4") in
Als niet snijden (doel, xRG) is niets dan
Als Target.Value = "Januari" Dan
Application.Columns("AH:NC").Hidden = True
Application.Columns("C:AG").Hidden = False
ElseIf Target.Value = "Februari" Dan
Application.Columns("C:AG").Hidden = True
Application.Columns("BJ:NC").Hidden = True
Application.Columns("AH:BI").Hidden = False
End If
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Mijn vervolgkeuzemenu bevindt zich op cel B23. Zo ja, toon en zo nee, verberg dan rij 29. Dit is de code die ik gebruik:

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
'Bijgewerkt door' Extendoffice 20180822
Als Target.Column = 2 en Target.Rij = 23 Dan
Als Target.Value = "nee" Dan
Toepassing.Rij(29).Selecteer
Application.Selection.EntireRow.Hidden = True
ElseIf Target.Value = "ja" Dan
Toepassing.Rij(29).Selecteer
Application.Selection.EntireRow.Hidden = False
End If
End If
End Sub

Maar ik krijg een runtime-fout 438 - Object ondersteunt deze eigenschap of methode niet. Waarom? Klopt er iets niet in bovenstaande code?

Alvast bedankt voor de hulp.
Deze opmerking is gemaakt door de moderator op de site
Hallo Guinther,
De onderstaande VBA-code kan u helpen het probleem op te lossen. Probeer het alsjeblieft. Bedankt voor je reactie.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Dim xRG als bereik
Dim xHRow als geheel getal
Stel xRG = Bereik ("B23") in
xHRuw = 29
Als niet snijden (doel, xRG) is niets dan
Als Target.Value = "Nee" Dan
Toepassing.Rijen(xHRow).Selecteren
Application.Selection.EntireRow.Hidden = True
ElseIf Target.Value = "Ja" Dan
Toepassing.Rijen(xHRow).Selecteren
Application.Selection.EntireRow.Hidden = False
End If
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hallo Kristal,


Ik hoop dat je me kunt helpen met het verbergen/weergeven van meerdere rijen. Ik wil rijen 63-73 tonen wanneer JA is geselecteerd in cel D51. Ik gebruik het volgende -


Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Dim xRG als bereik
Dim xHRow als geheel getal
Stel xRG = bereik ("D51") in
xHRow = ("63:73")
Als niet snijden (doel, xRG) is niets dan
Als Target.Value = "Nee" Dan
Toepassing.Rijen(xHRow).Selecteren
Application.Selection.EntireRow.Hidden = True
ElseIf Target.Value = "Ja" Dan
Toepassing.Rijen(xHRow).Selecteren
Application.Selection.EntireRow.Hidden = False
End If
End If
End Sub



Dank je!
Deze opmerking is gemaakt door de moderator op de site
Hallo Gab,
Pas de onderstaande VBA-code toe. Bedankt voor je reactie.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Dim xRG als bereik
Dim xHRow As String
Stel xRG = bereik ("D51") in
xHRuw = "63:73"
Als niet snijden (doel, xRG) is niets dan
Als Target.Value = "Nee" Dan
Toepassing.Rijen(xHRow).Selecteren
Application.Selection.EntireRow.Hidden = True
ElseIf Target.Value = "Ja" Dan
Toepassing.Rijen(xHRow).Selecteren
Application.Selection.EntireRow.Hidden = False
End If
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
De code die is gegeven om kolommen te verbergen/weer te geven op basis van de waarde die is geselecteerd in de vervolgkeuzelijst van een andere kolom, werkt prima. Bedankt. Maar het werkt alleen voor de ene rij.
Hoe dit toe te passen voor de rest van het geselecteerde aantal rijen in het werkblad. Ik begrijp dat we misschien een variabele voor het rijnummer moeten definiëren en dat in een lus moeten verhogen. Maar ik ken de syntaxis ervan niet. Kan iemand daar alsjeblieft mee helpen?
Deze opmerking is gemaakt door de moderator op de site
Hoi,
Probeer de onderstaande VBA-code eens. Hoop dat het kan helpen.
Wijzig het bereik naar behoefte.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Dim xRG als bereik
Stel xRG = Bereik ("B3:B30") in
Als niet snijden (doel, xRG) is niets dan
Als Target.Value = "Nee" Dan
Toepassing.Kolommen ("C:I").Selecteer
Application.Selection.EntireColumn.Hidden = True
ElseIf Target.Value = "Ja" Dan
Toepassing.Kolommen ("C:I").Selecteer
Application.Selection.EntireColumn.Hidden = False
End If
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Dank u. Ik heb de code gebruikt en het werkt geweldig, maar als ik in een cel hieronder typ en op enter druk, wordt de cursor automatisch terug naar het doelvak verplaatst. Is er een manier om dit te omzeilen?
Deze opmerking is gemaakt door de moderator op de site
Hallo Grant,
Ik heb geprobeerd zoals je zei, maar vond niet hetzelfde probleem. Kunt u mij uw Excel-versie vertellen? Bedankt voor het commentaar.
Deze opmerking is gemaakt door de moderator op de site
Elke kolom is een andere leerling ( 2 in dit voorbeeld A en B). Ik heb twee vervolgkeuzelijsten (op A1 en B1). Elk heeft "Geslaagd", "Mislukt" en "Selecteer een" als een optie. Nu is het me gelukt om het te laten werken door slechts één vervolgkeuzelijst te selecteren (A1 of B1). Ik wil de velden zichtbaar kunnen maken die verborgen waren door A1 wanneer ik iets op B1 selecteer. Het doel is om een ​​optie op A1 te selecteren en de resterende rijen te vullen. Selecteer vervolgens B1 en vul de resterende rijen in ( Ongeacht de selectie van A1.

Dank je!

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)

Als Intersect(Target, Range("A1:B2")) Niets of Target.Cells.Count > 1 is, dan
Exit Sub

ElseIf Range ("A1"). Waarde = "Selecteer een" Dan
Rijen ("2:15"). Gehele Rij. Verborgen = False

ElseIf Range ("A1"). Waarde = "Geslaagd" Dan
Rijen ("7"). Gehele Rij. Verborgen = False
Rijen ("8:15"). Gehele rij. Verborgen = True

ElseIf Range ("A1"). Waarde = "Mislukt" Dan
Rijen ("7"). Gehele Rij. Verborgen = Waar
Rijen ("8:15"). Gehele Rij. Verborgen = False

ElseIf Range ("B1"). Waarde = "Selecteer een" Dan
Rijen ("2:15"). Gehele Rij. Verborgen = False

ElseIf Range ("B1"). Waarde = "Geslaagd" Dan
Rijen ("7"). Gehele Rij. Verborgen = False
Rijen ("8:15"). Gehele rij. Verborgen = True

ElseIf Range ("B1"). Waarde = "Mislukt" Dan
Rijen ("7"). Gehele Rij. Verborgen = Waar
Rijen ("8:15"). Gehele Rij. Verborgen = False

End If

End Sub
Deze opmerking is gemaakt door de moderator op de site
Good Day,
Sorry kan je daar niet mee helpen. Bedankt voor je reactie.
Deze opmerking is gemaakt door de moderator op de site
Ik krijg een foutmelding bij xHRow = (14:24")

Ik probeer meerdere rijen te verbergen of weer te geven, afhankelijk van mijn C4-selectie. Kunt u mij helpen met wat ik fout heb?

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Dim xRG als bereik
Dim xHRow als bereik
Stel xRG = Bereik ("C4") in
xHRow = ("14:24")
Als niet snijden (doel, xRG) is niets dan
Als Target.Value = "Pulled" Dan
Toepassing.Rijen(xHRow).Selecteren
Application.Selection.EntireRow.Hidden = True
ElseIf Target.Value = "Vervangen" Dan
Toepassing.Rijen(xHRow).Selecteren
Application.Selection.EntireRow.Hidden = False
End If
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
De fout is: Runtime-fout '91':
Object variabele of met blok variabele niet ingesteld
Deze opmerking is gemaakt door de moderator op de site
Ik heb hulp nodig. Waarom, toen ik die formule al naar mijn VBA kopieerde en ik probeerde hem af te spelen, is de hele tabel verborgen en niet alleen een gedeeltelijke kolom die ik wil verbergen?
Heel erg bedankt voor je hulp.
Deze opmerking is gemaakt door de moderator op de site
Hallo Reza G.
De code werkt in mijn geval goed. Vindt u het erg om na wijziging een screenshot van uw tafelbereik en de VBA-code bij te voegen? Bedankt voor je reactie.
Deze opmerking is gemaakt door de moderator op de site
Bonjour, j'ai le même problème...

Voici mon code VBA modifié :

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Als Target.Column = 3 en Target.Row = 3 en Target.Value = "Gestion" Dan
Toepassing.Kolommen ("D:E").Selecteer
Application.Selection.EntireColumn.Hidden = True

Anders

Als Target.Value = "Affaire nouvelle" Dan
Toepassing.Kolommen ("D:E").Selecteer
Application.Selection.EntireColumn.Hidden = False

Anders

Als Target.Value = "Avenant" Dan
Toepassing.Kolommen ("D:E").Selecteer
Application.Selection.EntireColumn.Hidden = False
End If
End If
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Ik heb de code gebruikt om geweldig te werken. Dank u. Maar toen ik uit de vervolgkeuzelijst selecteerde, was het actief naar de laatste code of ging het naar de laatste kolomgegevens. Hoe selecteer ik elke keer een vervolgkeuzelijst (Kolom = 13 en Target.Row = 3 dan) niet verplaatsen en gegevens in de volgende kolom kunnen opnemen?
Dank je.
Voorbeeld: Private Sub Worksheet_Change (ByVal Target As Range)
'Bijgewerkt door' Extendoffice 20180822
' Als Target.Column = 13 en Target.Rij = 3 Dan
If Target.Column = 13 Then
Als Target.Value = "1: Ja" Dan
Toepassing.Kolommen ("N:O").Selecteer
Application.Selection.EntireColumn.Hidden = False
Toepassing.Kolommen ("P:S").Selecteer
Application.Selection.EntireColumn.Hidden = True
Toepassing.Kolommen ("V:Z").Selecteer
Application.Selection.EntireColumn.Hidden = True
Toepassing.Kolommen ("X:Z").Selecteer
Application.Selection.EntireColumn.Hidden = True
Toepassing.Kolommen ("AB:AK").Selecteer
Application.Selection.EntireColumn.Hidden = True
Toepassing.Kolommen ("AL").Selecteer
Application.Selection.EntireColumn.Hidden = False
Toepassing.Kolommen ("AM").Selecteer
Application.Selection.EntireColumn.Hidden = True
ElseIf Target.Value = "2: Nee" Dan
Toepassing.Kolommen ("N").Selecteer
Application.Selection.EntireColumn.Hidden = True
Toepassing.Kolommen ("O:Z").Selecteer
Application.Selection.EntireColumn.Hidden = False
Toepassing.Kolommen ("AB:AK").Selecteer
Application.Selection.EntireColumn.Hidden = True
Toepassing.Kolommen ("AL").Selecteer
Application.Selection.EntireColumn.Hidden = True
Toepassing.Kolommen ("AM").Selecteer
Application.Selection.EntireColumn.Hidden = False
ElseIf Target.Value = "" Dan
Toepassing.Kolommen ("N:AN").Selecteer
Application.Selection.EntireColumn.Hidden = False
End If
End If
'Als Target.Column = 16 en Target.Rij = 3 dan
If Target.Column = 16 Then
Als Target.Value = "Cat" Dan
Toepassing.Kolommen ("V:W").Selecteer
Application.Selection.EntireColumn.Hidden = True
ElseIf Target.Value = "Hond" Dan
Toepassing.Kolommen ("V:W").Selecteer
Application.Selection.EntireColumn.Hidden = False
End If
End If
End Sub
Er zijn nog geen reacties geplaatst
Laad meer
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties