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

Cum se ascunde sau se ascunde un buton de comandă bazat pe valoarea specificată a celulei în Excel?

Să presupunem că utilizați un buton de comandă pentru a declanșa un script VBA în foaia de lucru. Când scriptul VBA nu este utilizat în unele cazuri, trebuie să faceți butonul de comandă ascuns în loc să fie afișat în foaia de lucru. Și afișați-l din nou când este nevoie de scriptul VBA. Acest articol vorbește despre ascunderea sau afișarea unui buton de comandă bazat pe o valoare specificată a celulei în Excel. Vă rugăm să faceți următoarele.

Ascundeți sau afișați un buton de comandă bazat pe valoarea specificată a celulei cu codul VBA


Ascundeți sau afișați un buton de comandă bazat pe valoarea specificată a celulei cu codul VBA

Puteți rula codul VBA de mai jos pentru a ascunde sau a afișa un buton de comandă pe baza valorii de celulă specificate în Excel.

1. Faceți clic dreapta pe fila foaie care conține butonul de comandă pe care trebuie să îl afișați ascunde, apoi faceți clic pe Afișați codul din meniul cu clic dreapta.

2. În fereastra pop-up Microsoft Visual Basic pentru aplicații fereastră, copiați și lipiți codul VBA de mai jos în Cod fereastră.

Cod VBA: ascunde sau dezvăluie un buton de comandă bazat pe valoarea specificată a celulei

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Cells(1, 1).Value <> "1" Then
        Me.CommandButton1.Visible = True
    Else
        Me.CommandButton1.Visible = False
    End If
    Application.ScreenUpdating = True
End Sub

notițe: în cod, Celule (1, 1), 1 și Butonul Command1 indicați că butonul Command1 va fi ascuns când celula A1 conține numărul 1 și va fi afișat dacă celula A1 conține alte valori, cu excepția numărului 1. Vedeți mai jos captura de ecran. Și le puteți schimba în funcție de nevoile dvs.


Articole pe aceeași temă:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (13)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
hola que tal, tengo un boton con macro, que me devuelve a una hoja 'menu', pero no quiero que ese boton aparezca en la hoja menu como le puedo hacer?'


Noroc.-
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna Sebastia,

Dónde should showse?
- Uno es la hoja de menú
- El botón está integrado într-o hoja diferită, nu?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am introdus acest cod și am introdus numele butonului meu (Finalizare), am făcut referire la celula de referință (P11 - 16, 11), dar de fiecare dată când fac o modificare în celula de referință (P11) primesc o eroare de compilare și evidențiază Secțiunea „.Finish” a codului, care aparent înseamnă că numele butonului pe care l-am introdus „Finish” nu se găsește pe foaia de lucru. Am confirmat, atât în ​​zona derulantă din stânga barei de formule, cât și în zona „definire nume” din fila Formulă, că numele meu butonului este, de fapt, „Finish”, dar tot nu funcționează.


Orice ajutor?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Bryce,
Am schimbat numele butonului în „Finish” în foaia mea de lucru și funcționează bine fără nicio eroare de afișare.
Vă deranjează să testați codul într-un nou registru de lucru gol?
Multumesc pentru comentariu.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Utilizați butonul de control ActiveX.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hei

Sunt nou în VBA, am pus acest cod într-un nou Excel. Un singur CommnadButton, pe Sheet1, dar codul nu funcționează.

Trebuie să fac ceva înainte de asta?


Mulțumesc în avans
Acest comentariu a fost redus la minimum de moderatorul de pe site
Subsol de lucrări private_Change (țintă ByVal ca rază de acțiune)
Application.ScreenUpdating = Fals
Dacă Celule(1, 1).Valoare <> „1” Atunci
Me.Shapes ("Butonul 1"). Vizibil = Adevărat
Altfel
Me.Shapes(„Butonul 1”) End If
Application.ScreenUpdating = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Din anumite motive, după ce butonul trece de la invizibil înapoi la vizibil, butonul nu mai funcționează. Dacă alt + F11 în cod selectez sub XXX() și rulez cu F5, codul funcționează pentru macrocomanda mea. De ce nu mai funcționează când dau clic pe butonul? în proprietăți, „Activat” este setat la adevărat
Acest comentariu a fost redus la minimum de moderatorul de pe site
hola, el codigo este bien? este că nu îmi funcționează și ai intenționat mai multe lucruri pentru că funcționează și nana, ajută prin favor este că este necesar pentru ceva important :c
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna ziua!
Alguien sabe como puedo hacer para que el boton comando aparezca sau desaparezca segun information de otra hoja?
El ejemplo está muy bueno, pero las celdas son de la misma hoja donde este el boton. You needito ocultar un boton segun info de otra hoja.

Vă mulţumim!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Să presupunem că valoarea utilizată pentru afișarea sau ascunderea butonului de comandă se află în A1 of Sheet1, iar butonul de comandă se localizează în Sheet2. Vă rugăm să deschideți Sheet1, faceți clic dreapta pe fila foii și faceți clic Afișați codul. În deschidere Microsoft Visual Basic pentru aplicații fereastra, copiați următorul cod VBA în fereastra Sheet1 (Code), apoi apăsați pe Alt + F11 cheile pentru a-l închide.
notițe: Vă rugăm să schimbați celulele(1, 1),"1"Şi"Sheet2„după cum ai nevoie.
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Cells(1, 1).Value <> "1" Then
        Sheets("Sheet2").CommandButton1.Visible = True
    Else
        Sheets("Sheet2").CommandButton1.Visible = False
    End If
    Application.ScreenUpdating = True
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Der Code funktioniert wie er ist prima.
Ich würde nur gerne den Button bei jeder 0 und leeren Zelle ausblenden lassen. Irgendwie bekomme ich es nicht hin. Es funktioniert immer nur entweder oder. Könnten Sie mir bitte weiter helfen danke
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Christoph,

Scuze ca nu inteleg ce vrei sa spui. Pentru claritate, atașați un fișier exemplu sau o captură de ecran cu datele dvs. și rezultatele dorite.
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL