Hoppa till huvudinnehåll

Hur kopierar och klistrar jag bara celler som inte är tomma i Excel?

De flesta av oss kan drabbas av detta problem, när vi kopierar en lista med data som innehåller några tomma celler och sedan klistrar in dem i en annan kolumn, kommer de tomma cellerna också att klistras in. Det här är väldigt irriterande när vi inte behöver blankorna och bara vill klistra in icke-tomma celler. I det här fallet, hur kan vi bara kopiera och klistra in icke-tomma celler i Excel snabbt och bekvämt? Här är några snabba knep för dig att lösa det:

Kopiera och klistra bara in celler som inte är tomma med kommandot Gå till special

Kopiera och klistra in endast icke-tomma celler med filterfunktionen

Kopiera och klistra in endast celler som inte är tomma med Array Formula

Kopiera och klistra in endast icke-tomma celler med VBA-kod

Kopiera och klistra in endast icke-tomma celler med Kutools för Excel bra idé3


pil blå höger bubbla Kopiera och klistra bara in celler som inte är tomma med kommandot Gå till special

Med Gå till Special kommandot kan du först välja all data och sedan kopiera och klistra in dem till en annan plats.

1. Välj din lista med data som du vill använda.

doc-copy-only-nonblanks1

2. Klicka sedan Hem > Hitta och välj > Gå till Special, se skärmdump:

doc-copy-only-nonblanks1

3. I Gå till Special dialogruta, kontrollera Konstant alternativ, se skärmdump:

doc-copy-only-nonblanks1

4. Klicka sedan OK, och endast värdecellerna har valts i listan.

doc-copy-only-nonblanks1

5. Kopiera och klistra sedan in data till en plats du vill ha. Och bara de icke-tomma cellvärdena har klistrats in. Se skärmdump:

doc-copy-only-nonblanks1

Anmärkningar: Denna metod är endast tillgänglig för konstanterna, den tillämpas inte på formelcellerna.


pil blå höger bubbla Kopiera och klistra in endast icke-tomma celler med filterfunktionen

Smakämnen Filter funktionen kan hjälpa dig att filtrera de icke-tomma cellerna först och sedan kan du kopiera och klistra in dem i andra celler efter behov.

2. Klicka Data > Filter, se skärmdump:

doc kopiera endast icke-tomma6

3. Klicka sedan på rullgardinsmenyn till höger i cellen i den valda listan och avmarkera kryssrutan Blanks under rullgardinsmenyn. Se skärmdump:
doc-copy-only-nonblanks1

4. Och klicka sedan på OK, alla icke-tomma celler har filtrerats ut enligt följande skärmdump:

doc-copy-only-nonblanks1

5. Äntligen kan du kopiera de filtrerade data och klistra in dem till valfri plats du behöver.

Anmärkningar: Både värden och formler träder i kraft genom att använda detta sätt.


Välj icke-tomma celler på en gång

Klicka för gratis testversion av alla funktioner om 30 dagar!
doc kutools väljer icke tomma celler

pil blå höger bubbla Kopiera och klistra in endast celler som inte är tomma med Array Formula

Om du bara vill kopiera och klistra in celler som inte är tomma kan du använda följande matrisformel.

1. Förutom dina data anger du följande formel i en tom cell:

=LOOKUP("zzzzz",CHOOSE({1,2},"",INDEX(A:A,SMALL(IF($A$1:$A$15<>"",ROW($A$1:$A$15)),ROWS($B$1:B1)))))

doc-copy-only-nonblanks1

Anmärkningar: I ovanstående formel, A1: A15 är den datalista som du vill använda. Du kan ändra den efter dina behov.

2. Tryck sedan på Skift + Ctrl + Enter tangenter tillsammans och välj sedan cell B1 och dra fyllningshandtaget till det område som du vill innehålla denna formel och alla icke-tomma cellvärden har extraherats. Se skärmdump:

doc-copy-only-nonblanks1

3. Eftersom de är formler bör du kopiera och klistra in dem som värden när du kopierar dem till en annan plats.

Anmärkningar: Denna formel är endast tillgänglig för konstanterna, inte tillämpad på formelcellerna.


pil blå höger bubbla Kopiera och klistra in endast icke-tomma celler med VBA-kod

Om du är intresserad av VBA-kod kan du utföra följande kod för att slutföra uppgiften.

1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic for Applications-fönstret.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.

VBA-kod: Kopiera och klistra in endast icke-tomma celler i Excel

Sub PasteNotBlanks()
'Update 20140325
Dim rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
If InputRng.Columns.Count > 1 Then
    MsgBox "Please select one column."
    Exit Sub
End If
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
InputRng.SpecialCells(xlCellTypeConstants).Copy Destination:=OutRng.Range("A1")
End Sub

3. Tryck sedan på F5 -knappen för att köra den här koden visas en snabbruta som påminner dig om att välja det dataområde som du vill använda. Se skärmdump:

doc-copy-only-nonblanks1

4. Och klicka sedan på OKkommer en annan snabbruta att dyka upp för att låta dig välja en cell för att lägga in data.

doc-copy-only-nonblanks1

5. Klicka OK för att avsluta den här koden, och endast de icke-tomma cellvärdena har klistrats in i din angivna position.

Anmärkningar: Den här koden är endast tillgänglig för konstanterna.


pil blå höger bubbla Kopiera och klistra in endast icke-tomma celler med Kutools för Excel

Finns det något mycket enklare sätt än ovan? Självklart, Kutools för Excel's Välj Nonblank Cells-verktyget kan hjälpa dig att välja icke-tomma celler först och sedan kopiera och klistra in dem.

Kutools för Excel, med mer än 300 praktiska funktioner, gör dina jobb enklare. 

Efter gratis installation Kutools för Excel, gör så här:

1. Markera cellområdet och klicka Kutools > Välja > Välj icke-tomma celler. Se skärmdump:
välj icke tom cell 2

2. Sedan väljs de icke-tomma cellerna, tryck på Ctrl + C för att kopiera dem och välj sedan en cell där du vill mata ut det passerade resultatet, tryck på Ctrl + V för att klistra in valda icke-tomma celler. Se skärmdump:
välj icke tom cell 3

pil blå höger bubbla Kopiera och klistra in en cell som inte är tom

Kutools för Excel: 300+ funktioner du måste ha i Excel, 30-dagars gratis testperiod härifrån

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

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...

Beskrivning


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!
Comments (11)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
=Filter(A:A,A:A<>"")
This comment was minimized by the moderator on the site
Array formula Works fine on text
but don't work on numbers.
This comment was minimized by the moderator on the site
Not working on Numbers !!!
Works fine on text !!!
Please guide
This comment was minimized by the moderator on the site
Thanks for the great tips! I am using the Find & Select feature, but it's taking a long time because my spreadsheet contains 70 columns and 450k rows. Is there a way to fasten the process?
This comment was minimized by the moderator on the site
When i select and copy only non-blank cells, how can i then paste it somewhere else with keeping the same empty ranges between them?
This comment was minimized by the moderator on the site
These tools delete the blank cells and compress the row. I want the format to be retained, including the spaces, but I do not want empty cells to overwrite cells containing existing data. i.e. I want to add the new, copied, cells in a column onto an existing column.
This comment was minimized by the moderator on the site
Hi #abc I have used your formula =LOOKUP("zzzzz",CHOOSE({1,2},"",INDEX('List of Overdue items'!A:A,SMAL L(IF('List of Overdue items'!A$1:A$15 00"",ROW('List of Overdue items'!A$1:A$15 00)),ROWS('List of Overdue items'!B$1:B2)) ))) I have data in one Worksheet and want to copy that data into another worksheet (same doc). Can you help?
This comment was minimized by the moderator on the site
Is there a way to make the macro work when referencing between different sheets?
This comment was minimized by the moderator on the site
This formula is absolutely amazing, thank you. Unfortunately it breaks when trying to copy from another sheet, is there a workaround?
This comment was minimized by the moderator on the site
correct the references when using the formula between different sheets. It does work. =LOOKUP("zzzzz",CHOOSE({1,2},"",INDEX('List of Overdue items'!A:A,SMALL(IF('List of Overdue items'!A$1:A$1500"",ROW('List of Overdue items'!A$1:A$1500)),ROWS('List of Overdue items'!B$1:B2)))))
This comment was minimized by the moderator on the site
thanks for the super formula: =LOOKUP("zzzzz",CHOOSE({1,2},"",INDEX(A:A,SMALL(IF($A$1:$A$15"",ROW($A$1:$A$15)),ROWS($B$1:B1)))))
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations