VBA för varje cell i intervallet i Excel (3 metoder)

  • Dela Detta
Hugh West

I stora databaser har du tillbringat den mesta tiden med att hantera intervall och celler. Ibland måste du upprepa samma åtgärd i stora intervall eller ett stort antal celler. Detta tar tid och minskar effektiviteten. Den smarta lösningen på detta problem är att bygga en VBA-programmeringskod som kommer att köra igenom varje cell i intervallet och utföra samma åtgärd som du har anvisat. I den här artikeln diskuterar vi hur man gör VBA för varje cell i intervallet i Excel.

Ladda ner övningsboken

Ladda ner den här övningsboken för att träna på uppgiften medan du läser den här artikeln.

VBA-kod för varje cell i ett intervall i Excel.xlsx

3 lämpliga sätt att tillämpa VBA för varje cell i intervallet i Excel

Med hjälp av en VBA-kod kan du utföra samma formel för varje cell i ett intervall, en kolumn eller en rad. I det här avsnittet går vi igenom alla avsnitt.

1. Tillämpa VBA för varje cell i intervallet

Tänk dig en situation där du måste använda samma VBA-kod för varje cell i ett visst intervall ( B3:F12 ). För att göra detta ska vi skapa en VBA-kod. Anvisningarna finns nedan.

Steg 1:

  • Först ska vi infoga en kommandoknapp för att förenkla vårt arbete. Gå till din Fliken för utvecklare , välj Infoga och klicka på kommandoknappen för att få en.

  • Vi har fått vår kommandoknapp.

  • Högerklicka på kommandoknappen för att öppna alternativ. Välj och klicka på Egenskaper för att ändra vissa alternativ.

  • Ändra rubriken för kommandoknappen. Här ändrar vi namnet till " Klicka här ".

Steg 2:

  • Dubbelklicka på kommandoknappen för att öppna VBA-versionen. Modul Här skriver vi ner vår VBA-kod för uppgiften.

  • Först deklarerar vi två variabler. Vi kallar intervallobjekten för CL och Rng Du kan namnge dem som du vill.
 Dim CL som intervall Dim Rng som intervall 

  • Tilldela ett specifikt intervall med det här kommandot,

Set Rng = Arbetsblad("VBA1").Range("B3:F12")

  • Här är VBA1 vårt arbetsbladsnamn och B3:F12 är vårt definierade område.

  • Nu ska vi använda koden för att gå igenom varje cell i intervallet. Koden är,
 För varje CL i Rng CL.Value = 100 Nästa CL 
  • Värde = 100 hänvisar till att den kommer att återge 100 för varje cell i det givna intervallet.

  • Vår slutliga kod blir alltså,
 Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng CL.Value = 100 Next CL End Sub 
  • Gå till huvudarbetsbladet och klicka på kommandoknappen för att köra VBA för varje cell i intervallet.

Steg 3:

  • Liksom numeriska värden kan vi också ange textvärden för varje cell i intervallet. I det fallet går du till VBA-fönstret och i stället för 100 anger du det textvärde som du vill köra igenom. Den ändrade raden är
 CL.Value = "ExcelWIKI" 

  • Klicka på kommandoknappen och VBA-koden returnerar detta textvärde för varje cell i intervallet.

Steg 4:

  • I det här steget ska vi gräva lite djupare. Låt oss säga att vi vill markera varje tom cell i vårt intervall.

  • Lägg därför till ett nytt villkor i din befintliga kod. Den nya formeln är,
 Om CL.Value = " " Då CL.Interior.ColorIndex = 3 End If 
  • Den nya koden markerar den tomma cellen med röd färg. Den fullständiga koden är alltså,
 Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If Next CL End Sub 

  • Få resultatet genom att klicka på kommandoknappen.

Liknande läsningar:

  • Hur man använder Range Object i VBA i Excel (5 egenskaper)
  • Använd VBA Range Offset (11 sätt)
  • Hur du räknar text i Excel (7 enkla knep)

2. Infoga VBA-kod för varje cell i en kolumn i ett intervall

Vi kan också köra VBA-kod för varje cell i en kolumn. Antag att vi har en kolumn med siffror och att vi måste färglägga värden som är lägre än 10. Vi kommer att skapa en VBA-kod för att köra varje cell i kolumnen.

Steg 1:

  • Skapa en kommandoknapp enligt de instruktioner som vi har diskuterat.

Steg 2:

  • Dubbelklicka på kommandoknappen för att öppna VBA-fönstret.
  • Vi deklarerar en variabel som heter " c "Vi använder variabeln av typen Long här eftersom Long-variabler har större kapacitet än Integer-variabler.
 Dim c som lång 

  • Lägg sedan till kodraden som ändrar teckensnittsfärgen för alla celler i vår kolumn till svart.
 Columns(1).Font.Color = vbBlack 

  • Infoga slingan för den här koden.
 For c = 1 To Rows.Count Next c 

  • I det här steget anger vi ett villkor för att färga de värden som är lägre än värdet i cell C4 (10). Ange den här koden för att göra det.
 If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If 

  • Den slutliga koden är alltså,
 Private Sub CommandButton1_Click () Dim c As Long Columns(1).Font.Color = vbBlack For c = 1 To Rows.Count If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If Next c End Sub 
  • VBA-programmet körs och visar resultat när du klickar på kommandoknappen.

3. Skriv en VBA-kod för varje cell i en rad i ett intervall

Vi kan också köra en VBA-kod för varje cell i en rad. I den givna raden måste vi utföra samma åtgärd på varje cell i raden.

Steg 1:

  • Lägg till en kommandoknapp och ändra dess namn till " Klicka här! "

  • Dubbelklicka på knappen för att öppna VBA-fönstret. Skriv ner VBA-koden nedan.
 Private Sub CommandButton1_Click () Dim r As Range Dim MyString As String 'För varje cell i en rad och tillämpa en gul färgfyllning For Each r In Range("B3:F3").Rows r.Interior.ColorIndex = 6 Next End Sub 
  • Koden går igenom varje cell i raden och fyller varje cell med en gul färg.

  • Klicka på knappen och resultatet finns här.

Snabba anteckningar

👉 Om du inte har din utvecklarflik synlig kan du aktivera den med hjälp av den här instruktionen.

Anpassat snabbåtkomstverktygsfält → Fler kommandon → Anpassa bandet → Utvecklare → OK

Slutsats

Vi har gått igenom tre olika tillvägagångssätt för att köra VBA för varje cell i ett intervall. Du är varmt välkommen att kommentera om du har några frågor eller funderingar. Du kan också kolla in våra andra artiklar om Excel-uppgifterna!

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.