Microsoft Excel er spesielt glad i sammenhengende områder. Når et område blir brutt opp av tomme celler , legger Excel et lag av problemer med å regnearkendringene oppgaver. Noen ganger er løsningen å fylle ut feltene , kopiering rader som inneholder data og lime verdiene inn i de tomme rader under. Hvis du arbeider med et stort regneark , har du sannsynligvis ikke ønsker å gjøre dette for hånd . Bruk i stedet en Visual Basic for Applications ( VBA ) makro for å finne de tilgjengelige radene og lime inn data automatisk . Instruksjoner
en
Åpne " Microsoft Excel " versjon 2002 eller senere .
2
Lag et regneark for å teste makroen . Inkluder rader med data og rader som er blank . Skriv inn følgende : en
Cell B1 : test1
Cell C1: test1
Cell A4 : test2
Cell B4 : test2
celle C4 : test2
Cell D4 : test2
Cell A5 : test3
Cell B5 : test3
Cell C5 : test3
celle A9 : test4
3
Trykk " Alt + F11 " for å åpne Visual Basic Editor
4
Sett inn en blank modul for å holde VBA-kode . . Velg " Sett inn " og deretter " Module" fra menyen .
5
Start en ny subrutine som heter " PasteAvail . " Skriv inn følgende i koden modul: " . Enter"
Sub PasteAvail ( )
Press Excel vil legge til en " End Sub " statement.
6
Erklærer variablene du vil bruke. Skriv inn følgende mellom " Sub " og " End Sub " utsagn :
Dim MaxRows Som Long , LastRow As Long , i. Som lange
Dim MaxCols As Integer , FirstRow As Integer
Side 7
Tilordne variabler å holde det totale antallet rader og kolonner i regnearket . Den faktiske verdien av disse variablene vil avhenge av hvilken versjon av Excel du bruker. Skriv inn følgende :
MaxRows = Rows.Count
MaxCols = Columns.Count
8
Angi variabler å holde radtall for første og siste radene som inneholder data . Dette unngår en lang sløyfe gjennom hver rad i regnearket. Skriv inn følgende : . .
FirstRow = 1
LastRow = Cells ( MaxRows , 1 ) End ( xlUp ) Row
9
Legg kode for å se på hver rad , fra først til sist , avgjøre om raden er blank , og kopiere eller lime etter behov. Skriv inn følgende : .
For i = FirstRow å LastRow
Rows ( i) Velg
p Hvis WorksheetFunction.CountBlank ( Rows ( i) ) = MaxCols Deretter
ActiveSheet.Paste
Else
Selection.Copy
End If
Neste jeg
10
La " End Sub " statement på plass .
11
Kjør makroen. Velg "Kjør " og deretter " Run Sub /UserForm " fra menyen .
12
Trykk " Alt + F11 " for å gå tilbake til Excel-regnearket og vise resultatene .