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

Hur döljer eller visar jag en viss form baserat på specificerat cellvärde i Excel?

Egentligen kan en viss form döljas eller döljas baserat på värdet på en viss cell. Följande metod kan hjälpa dig.

Dölj eller visa en viss form baserat på specificerat cellvärde med VBA-kod


Dölj eller visa en viss form baserat på specificerat cellvärde med VBA-kod

Till exempel vill du ta bort en viss form när du anger nummer 1 i cell A1 eller dölja denna form om cell A1 är andra värden. Vänligen kör följande VBA-kod för att uppnå den.

1. Högerklicka på arkfliken som innehåller den form du döljer eller visar och klicka sedan på Visa kod från högerklickmenyn.

2. Sedan Microsoft Visual Basic för applikationer fönstret dyker upp. Kopiera och klistra in nedanstående VBA-kod i Koda fönster.

VBA-kod: Dölj eller ta bort en viss form baserat på det angivna cellvärdet

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 1 And Target.Column = 1 Then _
        Me.Shapes("Oval 6").Visible = (Cells(1, 1).Value = 1)
End Sub

Anmärkningar: I koden:

1) Rad = 1 och Kolumn = 1 ange den specifika cellen som finns i rad ett och kolumn ett, celler (1, 1) är motsvarande cell A1.
2) Värde = 1är siffran 1 det specifika värde som du vill visa formen baserat på.
3) "Oval 6”Är namnet på den specifika formen.

Du kan ändra dem baserat på vad du behöver.

3. tryck på andra + Q samtidigt för att stänga Microsoft Visual Basic för applikationer fönster.

Från och med nu, när du matar in nummer 1 i cell A1, är formen "Oval 6" oskyddad. Men om du anger ett annat värde som nummer 2 i cellen A1, döljs formen "Oval 6" omedelbart.


Relaterade artiklar:


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (11)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Detta fungerar utmärkt för mig så länge det angivna värdet är ett nummer. Jag behöver det för att fungera på bokstäver som ABC etc: när jag använder bokstäver fungerar det baklänges skriv in A och det döljer jag behöver det ska vara synligt när jag skriver in en bokstav några idéer
Denna kommentar minimerades av moderatoren på webbplatsen
Du kan använda bokstäver istället, du behöver bara lägga till " på endera sidan. T.ex. Me.Shapes("Oval 6").Visible = (Cells(1, 1).Value = "A")
Denna kommentar minimerades av moderatoren på webbplatsen
Vad sägs om om jag vill lägga till två värden som indata som t.ex. Me.Shapes("Oval 6").Visible = (Celler(1, 1).Value = "A" Eller "B")?
Denna kommentar minimerades av moderatoren på webbplatsen
Me.Shapes("Rundad rektangel 2").Synlig = (Cells(1, 1).Value = "A" Eller Cells(1, 1).Value = "B")
Denna kommentar minimerades av moderatoren på webbplatsen
Jag är nybörjare i VBA Excel. Jag arbetar med den här koden och jag skulle vilja optimera den. Denna kod gör en form synlig på en aktiv cell om värdet är 1 andra värden döljer den. Serien inkluderar J13:AC161. Om jag använder koden nedan kommer det att ta mig fler rader kod. All hjälp kommer att uppskattas mycket.

Privata delarkivsförändring (ByVal-mål som område)
Om ActiveSheet.Range("E13").Value = 1 Då
ActiveSheet.Shapes("rt1").Visible = True
annars
ActiveSheet.Shapes("rt1").Visible = False
End If

Om ActiveSheet.Range("F13").Value = 1 Då
ActiveSheet.Shapes("rt2").Visible = True
annars
ActiveSheet.Shapes("rt2").Visible = False
End If

Om ActiveSheet.Range("G13").Value = 1 Då
ActiveSheet.Shapes("rt3").Visible = True
annars
ActiveSheet.Shapes("rt3").Visible = False
End If

Om ActiveSheet.Range("H13").Value = 1 Då
ActiveSheet.Shapes("rt4").Visible = True
annars
ActiveSheet.Shapes("rt4").Visible = False
End If

Om ActiveSheet.Range("I13").Value = 1 Då
ActiveSheet.Shapes("rt5").Visible = True
annars
ActiveSheet.Shapes("rt5").Visible = False
End If

Om ActiveSheet.Range("J13").Value = 1 Då
ActiveSheet.Shapes("rt6").Visible = True
annars
ActiveSheet.Shapes("rt6").Visible = False
End If
...

End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
God dag,
Menar du att du vill visa eller dölja massor av specificerade former baserat på celler i intervallet J13:AC161 med kort kod?
Denna kommentar minimerades av moderatoren på webbplatsen
2 frågor:

1. Jag verkar inte få den här koden att köra och jag förstår inte varför ... kopierade och klistrade in den precis som den är där ... hjälp!!!


2. hur ändrar jag det för former som Shapes.Range(Array("Rundad rektangel 1"))
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Gus,
Du måste missa något i operationen.
Anta att ditt formnamn är "Rundad rektangel 1", kopiera nedanstående kod till kalkylbladets kodfönster (detta kalkylblad bör innehålla den angivna formen "Rundad rektangel 1").
Från och med nu är det bara att skriva nummer 1 i A1-cellen som kan visa formen "Rundad rektangel 1". Om du skriver in annat innehåll döljs formen.

Privata delarkivsförändring (ByVal-mål som område)
Om Target.Row = 1 Och Target.Column = 1 Då _
Me.Shapes("Rundad rektangel 1").Synlig = (Celler(1, 1).Värde = 1)
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Du utelämnade ":"
Denna kommentar minimerades av moderatoren på webbplatsen
Den här artikeln ger ingen antydan om hur man får namnet på en form.

Jag har kollat ​​namnhanteraren och objekthanteraren i VBA samt snabbmenyn - det finns ingen "Egenskaper"-meny för former.

Så, var är formens namn?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Cornan,
Formnamnet kommer att visas i rutan Namn på kalkylbladet när du väljer form. Beklagar olägenheten.
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL