Microsoft Excel är speciellt förtjust i angränsande områden . När ett område bryts upp av tomma celler , tillägger Excel ett lager av svårigheter att dina kalkylblad uppgifter . Ibland är lösningen att fylla i luckorna , kopiera rader som innehåller data och klistrar in värdena i de tomma raderna nedanför . Om du arbetar med ett stort kalkylblad , vill du förmodligen inte att göra det för hand . Använd i stället en Visual Basic for Applications ( VBA ) makro för att hitta de tillgängliga rader och klistra in i data automatiskt . Instruktioner
1
Open " Microsoft Excel " version 2002 eller senare .
2
Skapa ett kalkylblad för att testa ditt makro . Inkludera rader med data och rader som är tomma . Ange följande :
Cell B1 : test1
Cell C1 : test1
Cell A4 : test2
Cell B4 : test2
cell C4 : test2
cell D4 : test2
cell A5 : test3
cell B5 : test3
cell C5 : test3
cell A9 : test4
3
Tryck " Alt + F11 " för att öppna Visual Basic Editor
4
in en tom modul för att hålla din VBA-kod . . Välj " Infoga " och sedan " Module " från menyn .
5
Starta en ny subrutin som heter " PasteAvail . " Skriv följande i koden modulen : " . Ange "
Sub PasteAvail ( ) katalog
Press Excel kommer att lägga till en " End Sub " uttalande .
6
Deklarera variabler som du kommer att använda . Skriv följande mellan " Sub " och " End Sub " uttalanden :
Dim MaxRows As Long , LastRow As Long , jag As Long
Dim MaxCols As Integer , Firstrow As Integer
7
Tilldela variabler att hålla det totala antalet rader och kolumner i kalkylbladet . Det verkliga värdet av dessa variabler kommer att bero på vilken version av Excel du använder . Skriv följande :
MaxRows = Rows.Count
MaxCols = Columns.Count
8
Tilldela variabler att hålla radnummer för den första och sista raderna som innehåller data. Detta undviker en lång slinga genom varje rad i kalkylbladet . Skriv följande : . .
Firstrow = 1
LastRow = Cells ( MaxRows , 1 ) End ( xlUp ) Rad
9
Lägg koden för att titta på varje raden , från första till sista , besluta om raden är tom , och kopiera eller klistra in efter behov . Skriv följande : .
För i = Firstrow Till LastRow
rader ( i) Välj
p Om WorksheetFunction.CountBlank ( rader ( i) ) = MaxCols Sedan
ActiveSheet.Paste
Else
Selection.Copy
End If
Nästa jag
10
Lämna " End Sub " uttalande på plats .
11
Kör makrot . Välj " Kör " och sedan " Kör Sub /UserForm " från menyn .
12
Tryck " Alt + F11 " för att återgå till Excel-kalkylbladet och se resultaten .