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

Hur ändrar man cellvärdet genom att klicka på cellen?

Är det möjligt för oss att ändra cellvärde genom att klicka på en cell i Excel? När du till exempel klickar på en specifik cell A1 första gången visar den texten "Excel". Om du klickar på A1 igen visas texten "Word" och texten "Outlook" när du klickar på den här cell för tredje gången. I det här fallet kommer värdet i cell A1 att återkomma från "Excel" till "Word" till "Outlook" till "Excel" ...… som följande skärmdump visas:

doc ändra värde genom att klicka 1

Ändra cellvärde genom att klicka på en cell med VBA-kod


pil blå höger bubbla Ändra cellvärde genom att klicka på en cell med VBA-kod

För att slutföra denna uppgift i Excel kan följande VBA-kod hjälpa dig, gör så här:

1. Högerklicka på arkfliken som du vill ändra cellvärde genom att klicka på och välj Visa kod från snabbmenyn och i den öppnade Microsoft Visual Basic för applikationer fönster, kopiera och klistra in följande kod i den tomma modulen:

VBA-kod: Ändra cellvärde genom att klicka på en cell:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Updateby Extendoffice
  Application.EnableEvents = False
  With Target
  If .Address = Range("A1").Address Then
    Select Case .Value
      Case "Excel"
        .Value = "Word"
      Case "Word"
        .Value = "Outlook"
      Case "Outlook"
        .Value = "Excel"
      Case Else
        .Value = "Word"
    End Select
  End If
  End With
  Range("A2").Select
  Application.EnableEvents = True
End Sub

doc ändra värde genom att klicka 2

Anmärkningar: I ovanstående kod, A1 är cellen där du vill ändra värde genom att klicka på ”excel","ord","utsikterna”Är de cellvärden du vill visa upprepade gånger, du kan ändra dem efter behov.

2. När du har klistrat in koden sparar du koden och stänger fönstret. Nu när du klickar på cellen A1 första gången visas texten "Excel" på en gång, klicka på den igen, texten "Word" visas, texten "Outlook" visas om du klickar på den för tredje gången, se skärmdump:

doc ändra värde genom att klicka 1


Fler relaterade artiklar:

Hur filtrerar jag data bara genom att klicka på cellinnehåll i Excel?

Hur sorterar jag kolumndata genom att klicka på rubriken i Excel?


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 (7)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag försöker tillämpa detta på en hel kolumn av enskilda celler, inte bara en cell. Är detta möjligt? När jag ändrar intervallet från "A1" till "A1:A100" händer ingenting när jag klickar på cellerna i det intervallet.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag gjorde det men jag kommer inte att berätta för någon MUWAHAHAHAHAHAHAHAHAHA
Denna kommentar minimerades av moderatoren på webbplatsen
Du kan göra det genom att deklarera intervallet du vill ha som KeyCells och sedan lägga in det i Application.Intersection Method. Detta låter dig ändra valfritt värde från alla celler. Fungerade för mig men jag är dålig på att förklara ^^

Dimma KeyCells som intervall

Set KeyCells = Range("A1:A100")

Om inte Application.Intersect(KeyCells, Range(Target.Address)) är ingenting då

Välj Case .Value

...
Denna kommentar minimerades av moderatoren på webbplatsen
Du kan göra det genom att deklarera intervallet du vill ha som KeyCells och sedan lägga in det i Application.Intersection Method. Detta låter dig ändra valfritt värde från alla celler. Fungerade för mig men jag är dålig på att förklara ^^


Application.EnableEvents = False
Med Target


Dimma KeyCells som intervall

Set KeyCells = Range("A1:A100")

Om inte Application.Intersect(KeyCells, Range(Target.Address)) är ingenting då

Välj Case .Value

...
Denna kommentar minimerades av moderatoren på webbplatsen
Det här är den sista koden som fungerade för mig. Jag använder den för att kontrollera en cell när ett objekt är färdigt.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Application.EnableEvents = False
    Med Target
      Dimma nyckelceller som intervall
      Set KeyCells = Range("D6:D8000")
      Om inte Application.Intersect(KeyCells, Range(Target.Address)) är ingenting då
        Välj Case .Value
          Fall "ü"
            .Value = ""
          Fall ""
            .Value = "ü"
        Avsluta Välj
      End If
    Sluta med
  Application.EnableEvents = True
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Detta är bra information, tack för allas input! Är det möjligt att tillämpa samma typ av tillvägagångssätt med ett uppslags- eller index\matchningsvärde?

Till exempel, om jag klickar på ett värde i A1, kan VBA konfigureras för att indexera det värdet i en annan kalkylbladskolumn och visa ett matchat värde i B1? Tack igen!
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