Hur kör man makro baserat på cellvärde i Excel?
Antag att jag har flera makrokoder i min arbetsbok, och nu vill jag köra dessa koder baserat på cellvärdet. Den här artikeln kommer jag att prata om flera situationer som du kan drabbas av i ditt dagliga arbete när du använder Excel.
Kör eller utlös makro om cellvärdet är större eller mindre än ett specifikt värde med VBA-kod
Kör eller utlös makro om cellvärdet motsvarar specifik text med VBA-kod
Kör eller utlös makro om cellvärdet är större eller mindre än ett specifikt värde med VBA-kod
Till exempel, om värdet i cell A1 är mellan 10 och 50, kör makro1, och om värdet är större än 50, kör makro2. För att lösa detta jobb i Excel, använd följande VBA-kod.
1. Högerklicka på arkfliken som du vill utföra makrot baserat på ett cellvärde och välj sedan 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: Kör makro om cellvärdet är större eller mindre än:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Cells.Count > 1 Then Exit Sub
If IsNumeric(Target) And Target.Address = "$A$1" Then
Select Case Target.Value
Case 10 To 50: Macro1
Case Is > 50: Macro2
End Select
End If
End Sub
Anmärkningar: I ovanstående kod:
A1 är cellen som innehåller det specifika värde du vill köra makrot baserat på;
Fall 10 till 50: Makro1: det betyder att om värdet är mellan 10 och 50, kör Macro1;
Fall är> 50: Macro2: det betyder att om värdet är större än 50, kör Macro2.
Ändra dessa makronamn och kriterier efter dina behov, och du kan också lägga till fler kriterier efter Fall skript.
2. Spara och stäng sedan detta kodfönster, nu, när värdet du anger är mellan 10 och 50 i cell A1, kommer Macro1 att utlösas, om det inmatade värdet är större än 50, körs Macro2.
Kör eller utlös makro om cellvärdet motsvarar specifik text med VBA-kod
Om du till exempel vill utlösa makrot baserat på specifik text i en cell för att köra makro1 om texten ”Radera” är angiven och köra makro2 om texten ”Infoga” skrivs. Följande kod kan göra dig en tjänst.
1. Högerklicka på arket som du vill utföra makrot baserat på cellvärdet och välj sedan 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: Kör makro om cellvärdet är en specifik text
Sub worksheet_change(ByVal target As Range)
Set target = Range("A1")
If target.Value = "Delete" Then
Call Macro1
End If
If target.Value = "Insert" Then
Call Macro2
End If
End Sub
Anmärkningar: I ovanstående kod, “Radera"Och"Insert”Är celltexterna som du vill köra makron baserat på, och Macro1 och Macro2 är de makron du vill köra baserat på text. Ändra dem efter dina behov.
2. Spara sedan den här koden och stäng fönstret, nu när du skriver in texten "Radera" i cell A1, utlöses makro1. Om texten "Infoga" matas in kommer makro2 att köras.
Relaterade artiklar:
Hur kör man makro när cellvärdet ändras i Excel?
Hur kör man makro automatiskt innan man skriver ut i Excel?
Hur kör man makro baserat på värde valt från listrutan i Excel?
Hur kör man makro genom att klicka på hyperlänkar i Excel?
Hur kör man makro när ark väljs från en arbetsbok?
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
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!