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

Hur markerar jag rad och kolumn för aktiv cell automatiskt i Excel?

När du visar ett stort kalkylblad med många data kanske du vill markera den valda cellens rad och kolumn så att du enkelt och intuitivt kan läsa informationen för att undvika felläsning av dem. Här kan jag presentera några intressanta knep för att markera raden och kolumnen för den aktuella cellen, när cellen ändras markeras kolumnen och raden i den nya cellen automatiskt som följande skärmdumpar:

Markera rad och kolumn för vald markering automatiskt med VBA-kod
Ett klick för att markera rad och kolumn för vald cell


Markera rad och kolumn för vald markering automatiskt med VBA-kod

Följande VBA-kod kan hjälpa dig att automatiskt markera hela kolumnen och raden i den aktuella cellen i kalkylbladet, gör med följande steg:

1. Öppna kalkylbladet för att automatiskt markera raden och kolumnen i den aktiva cellen, högerklicka på arkfliken och välj Visa kod från snabbmenyn.

2. Kopiera och klistra sedan in följande VBA-kod i det tomma kodfönstret:

VBA-kod: markera rad och kolumn för vald cell automatiskt

Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Update 20200430
Static xRow
Static xColumn
If xColumn <> "" Then
    With Columns(xColumn).Interior
        .ColorIndex = xlNone
    End With
    With Rows(xRow).Interior
        .ColorIndex = xlNone
    End With
End If
pRow = Selection.Row
pColumn = Selection.Column
xRow = pRow
xColumn = pColumn
With Columns(pColumn).Interior
    .ColorIndex = 6
    .Pattern = xlSolid
End With
With Rows(pRow).Interior
    .ColorIndex = 6
    .Pattern = xlSolid
End With
End Sub

3. Tryck sedan på andra + Q för att återgå till kalkylbladet, nu när du väljer en cell har hela raden och kolumnen i denna cell markerats. Och den flyttas dynamiskt när den valda cellen ändras.

doc-läsning-layout4

Anmärkningar:

  • 1. I ovanstående kod kan du ändra .ColorIndex = 6 färg till annan färg du gillar.
  • 2. Denna VBA-kod gäller endast det kalkylblad du väljer i steg 2 ovan.
  • 3. Om du inte vill markera kolumnen och raden i den markerade cellen igen måste du ta bort ovanstående VBA och ställa in ingen fyllning på den markerade raden och kolumnen genom att klicka Start > Fyllnadsfärg > Ingen fyllning.
  • 4. Om det finns några färgade celler i kalkylbladet försvinner färgen när du klickar på cellen och sedan flyttar till en annan cell.

Markera rad och kolumn i vald cell automatiskt med Kutools för Excel

Om du är nybörjare i VBA, rekommenderar du här Kutools för Excel's Läslayout verktyg. Detta verktyg hjälper till att enkelt markera rad och kolumn för vald cell i Excel som nedanstående demo visas. Ladda ner och prova nu! (30 dagars gratis spår)

Låt oss se hur du använder Kutools för ExcelÄr Läslayout funktion för att markera hela rader och kolumner i ett cellområde.

1. klick Kutools > Läslayout. Se skärmdump:

Då är läslayouten aktiverad, du kan se att raden och kolumnen i aktiv cell markeras omedelbart. Och den flyttas dynamiskt när de valda cellerna ändras.

Anmärkningar:

  • 1. Du kan ändra läslayoutinställningarna baserat på dina behov enligt nedanstående skärmdump.
  • 2. Du kan avbryta det här verktyget genom att avmarkera kryssrutan Läslayout under Läsning listrutan.
  • 3. Detta Läsningslayoutvy funktionen tillämpas på alla kalkylblad i din arbetsbok.
  • 4. Detta Läsningslayoutvy funktionen inaktiveras när du startar arbetsboken nästa gång.

Ett klick för att markera rad och kolumn för vald cell


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 (56)
Klassad 5 av 5 · 1 betyg
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, den givna koden fungerar bra för att markera raden och kolumnen för aktiv cell. men den ursprungliga cellfärgen tillsammans med färginställningarna för kolumner och rader går förlorade. Hur kan man övervinna detta?
Denna kommentar minimerades av moderatoren på webbplatsen
Här är min version för att markera den aktuella raden (från A till AK). För att undvika att utplåna cellfärgning använder jag en röd kant istället... plus att den återställer min föredragna kant på raden precis till vänster. Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim lRow As Long, lCol As Long Static lPrevRow As Long 'Återställ föregående aktiva rad till...ljusblå prickad linje Om lPrevRow > 0 Sedan Range("A" & lPrevRow, "AK" & lPrevRow).BorderAround Vikt:=xlHårlinje, Färg:=RGB(162, 200, 255) End If 'Markera aktuell rad med en röd ram lRow = Target.Row Range("A" & lRow, "AK" & lRow) .BorderAround Vikt:=xlTunn, Färg:=RGB(255, 0, 0) lPrevRow = lRow End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
åh! man, funkar som en charm!!! bra
Denna kommentar minimerades av moderatoren på webbplatsen
du är ett geni nu, hur är det med rader och kolumner?
Denna kommentar minimerades av moderatoren på webbplatsen
HEJ JAG HAR SAMMA PROBLEM MED SURESH. KAN DU SNÄLLA FÖRSEGJA MIG HELA ÄNDRADE KODEN FÖR ATT INTE TORKA DEN ORIGINALA CELLFÄRGEN JAG ANVÄNDER DETTA: Sub Worksheet_SelectionChange(ByVal Target As Excel.Range Static20140318Column x6 Static6Column xXNUMX StaticXNUMXColumn x XNUMX StaticXNUMX x XNUMX "" Then With Columns(xColumn).Interior .ColorIndex = xlNone End With With Rows(xRow).Interior .ColorIndex = xlNone End With End If pRow = Selection.Row pColumn = Selection.Column xRow = pRow xColumn = pColumn With Columns( pColumn).Interiör .ColorIndex = XNUMX .Pattern = xlSolid End With With Rows(pRow).Interior .ColorIndex = XNUMX .Pattern = xlSolid End With End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Kunde inte få det här att fungera - snälla hjälp, tack :-)
Denna kommentar minimerades av moderatoren på webbplatsen
"Snälla hjälp" - förväntar du dig ett svar med en så vag förfrågan, och ingen ansträngning att förklara problemet?
Denna kommentar minimerades av moderatoren på webbplatsen
tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Detta är den perfekta koden tack!!!!! inga problem med att flytta från cell till cell och lämna ett spår av höjdpunkter och konturer bakom sig.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag använder infoga tabell till mina data och det ändrar inte originalfärgen
Denna kommentar minimerades av moderatoren på webbplatsen
Det här alternativet är nu tillgängligt för icke-kodare under 2010 så länge du har fliken Utvecklare. Under Utvecklare klickar du på Egenskaper. Ställ in EnableOutlining på True. Begränsning: Detta verkar bara gälla ett kalkylblad åt gången, även om det är lätt att ställa in för andra kalkylblad genom att klicka på flikarna längst ner (medan du lämnar dialogrutan Egenskaper öppen). Varför Excel inte gör detta tillgängligt under Alternativ, ja, det är Microsoft.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, efter att ha lagt in koden fungerar inte "ångra"-funktionen längre. Kan någon hjälpa?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej! Jag gillar verkligen den här koden men som Suresh sa, den tar bort ursprungliga cellfärger! Hur kan jag behålla mina ursprungliga cellfärger?? Snälla svara, tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Det här fungerar strålande. Finns det något sätt att få det att inte visas på utskrift?
Denna kommentar minimerades av moderatoren på webbplatsen
Precis vad jag letade efter. Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
För att behålla din cellfärg måste du skapa en villkorlig formatering för cellerna.
Denna kommentar minimerades av moderatoren på webbplatsen
Några planer på att lägga till Mac-funktionalitet för Kutools?
Denna kommentar minimerades av moderatoren på webbplatsen
Hur kan jag ändra färgerna på staplarna? Tack för denna fantastiska lösning. Hälsningar, Ton
Denna kommentar minimerades av moderatoren på webbplatsen
hur kan jag stoppa det om jag vill att det ska sluta??
Denna kommentar minimerades av moderatoren på webbplatsen
Det här är koden jag använde för bara raden (grå markering): Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Update 20140318 Static xRow If xRow "" Then With Rows(xRow).Interior .ColorIndex = xlNone End With End If pRow = Selection.Row xRow = pRow With Rows(pRow).Interiör .ColorIndex = 15 .Pattern = xlSolid End With End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Att kopiera och klistra in din kod fungerade inte korrekt, men efter att ha fixat syntaxfelen fungerade det fantastiskt! Tack. Här är arbetskoden för att endast markera (gul) raden: Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Update 20140318 Static xRow If xRow "" Then With Rows(xRow).Interior .ColorIndex = xlNone End With End If pRow = Urval.Rad xRow = PRow With Rows(pRow).Interiör .ColorIndex = 6 .Pattern = xlSolid End With End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Bravo..precis vad jag letade efter.....tack så mycket!!
Denna kommentar minimerades av moderatoren på webbplatsen
När jag öppnar min arbetsbok igen finns den markerade kolumnen från föregående session kvar - och ändras när jag flyttar runt i kalkylbladet i en ny session. Finns det något sätt att "rensa" föregående session varje gång arbetsboken öppnas?
Denna kommentar minimerades av moderatoren på webbplatsen
Detta fungerar om du inte har färger som inte är i villkorlig formatering. Lägg bara till två till med slingor. Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Update 20140318 Static xRow Static xColumn If xColumn "" Then With Rows(xRow).Interior .ColorIndex = xlNone End With End If pRow = Selection.Row With Rows) = p(pRow) .Interior .ColorIndex = 6 .Pattern = xlSolid End With With Rows(pRow - 1).Interiör .ColorIndex = 0 .Pattern = x1Solid End With With Rows(pRow + 1).Interior .ColorIndex = 0 .Pattern With = x1Solid End With Avsluta Sub
Denna kommentar minimerades av moderatoren på webbplatsen
HUR KAN JAG GÖRA DET MÖJLIGT OM HAR ARK SOM REDAN ÄR FÄRGT.
Denna kommentar minimerades av moderatoren på webbplatsen
Bra artikel!. Livräddare för mig. Och om du vill att den faktiska cellen ska markeras i gult och rad/celler i grått, är detta koden: Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Update 20151216 Static xRow Static xColumn If xColumn "" Then With Columns(xColumn) ).Interior .ColorIndex = xlNone End With With Rows(xRow).Interior .ColorIndex = xlNone End With End If pRow = Selection.Row pColumn = Selection.Column xRow = pRow xColumn = pColumn With Columns(pColumn).Interior . 15 .Pattern = xlSolid End With With Rows(pRow).Interiör .ColorIndex = 15 .Pattern = xlSolid End With Selection.Interior.ColorIndex = 6 End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Korrigera koden enligt följande: Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Uppdatera 20151216 Static xRow Static xColumn If xColumn "" Then With Columns(xColumn).Interior .ColorIndex = xlNone =Ingen =xlNone End With With RowsInterior(xRColumn). xlIngen End With End If pRow = Selection.Row pColumn = Selection.Column xRow = pRow xColumn = pColumn With Columns(pColumn).Interiör .ColorIndex = 15 .Pattern = xlSolid End With With Rows(pRow).Interior =Color15 Index. Mönster = xlSolid End With Selection.Interior.ColorIndex = 6 End Sub [quote]Bra artikel!. Livräddare för mig. Och om du vill att den faktiska cellen ska markeras i gult och rad/celler i grått, är detta koden: Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Update 20151216 Static xRow Static xColumn If xColumn "" Then With Columns(xColumn) ).Interior .ColorIndex = xlNone End With With Rows(xRow).Interior .ColorIndex = xlNone End With End If pRow = Selection.Row pColumn = Selection.Column xRow = pRow xColumn = pColumn With Columns(pColumn).Interior . 15 .Pattern = xlSolid End With With Rows(pRow).Interiör .ColorIndex = 15 .Pattern = xlSolid End With Selection.Interior.ColorIndex = 6 End SubAv Vicente[/ Quote]
Denna kommentar minimerades av moderatoren på webbplatsen
Hej. Hur kan jag markera hela raden om en av cellen är sammanfogad. Jag ser att kutool kan göra en linje över en sammanfogningscell. Snälla hjälp mig den här lösningen
Denna kommentar minimerades av moderatoren på webbplatsen
Jag ändrade din kod från att markera interiören till att göra röda kanter.
.BorderAround Vikt:=xlTjock, Färg:=vbRöd
Jag väljer en cell, kanterna blir röda. Bra. Jag kopierar, väljer en annan cell, de kanterna blir röda, men urklipp rensas. Jag kan inte ta reda på hur man använder ramar och behåller funktionen för att kopiera/klistra in.
Några förslag?
Denna kommentar minimerades av moderatoren på webbplatsen
kan du dela hela koden?
Denna kommentar minimerades av moderatoren på webbplatsen
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

'Uppdatering 20192021
Statisk xRow
Om xRow <> "" Då
Rader(xRow).BorderAround Vikt:=xlTunn, Färg:=vbsvart
End If
pRow = Selection.Row
xRow = pRow
Rader(pRow).BorderAround Vikt:=xltjock, Färg:=vbRöd
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
hur förhindrar du att knapparna ångra och gör om tas bort med detta makro som inte använder Kutools
Denna kommentar minimerades av moderatoren på webbplatsen
God dag,
Förlåt för det. Problemet med att ångra och göra om i makrot kan inte lösas.
Denna kommentar minimerades av moderatoren på webbplatsen
VBA för att markera en enskild cell fungerar men den här gör det inte.
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för att du postade detta! Det är mycket användbart vid checkavstämning via kalkylblad.
Det finns inga kommentarer här ännu
Ladda fler
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