Jos valitset useita solualueita yhdelle arkille ja yrität tulostaa valitut solut, teet sen
saat yhden arkin kullekin valitulle alueelle.
Seuraava esimerkki makro tulostaa kaikki valitut alueet yhdelle arkille,
paitsi jos alueet ovat liian suuria yhdelle arkille.
Sub PrintSelectedCells () 'tulostaa valitut solut. ) Yhden himmennyksen AWB työkirjana, NWB työkirjana Jos UCase (TypeName (ActiveSheet)) "WORKSHEET" Sitten Exit Sub 'on hyödyllinen vain laskentataulukoissa aCount = Selection.Areas.Count If aCount = 0 Sitten Exit Sub' ei soluja valittu cCount = Selection.Areas (1) .Cells.Count Jos aCount> 1 Sitten 'useita alueita valittu Application.ScreenUpdating = False Application.StatusBar = "Tulostus" & aCount & "valitut alueet …" Aseta AWB = ActiveWorkbook rCount = ActiveSheet.Cells.SpecialCells (xlLastCell) .Row cCount = ActiveSheet.Cells.SpecialCells (xlLastCell) .Column ReDim rHeight (rCount) ReDim cWidth (cCount) i = 1 To rCount 'etsi rivin korkeus jokaisen valinnan rHeight (i) = Rows (i) .RowHeight Seuraava i For i = 1 To cCount 'etsi sarakkeen leveys jokaisesta sarakkeesta valinnassa cWidt h (i) = Sarakkeet (i). Sarakkeen leveys Seuraava i Aseta NWB = Työkirjat. Lisää "luo uusi työkirja I = 1 To rCount" aseta rivien korkeudet Rivit (i). RowHeight = rHeight (i) Seuraava i For i = 1 Jos haluat laskea ', aseta sarakkeiden leveydet sarakkeet (i) .ColumnWidth = cWidth (i) Seuraava i For i = 1 to AWB.Activate aRange = Selection.Areas (i). alueen NWB.Activate With Range (aRange) 'kopioi arvot ja muodot .PasteSpecial Paste: = xlValues, Operation: = xlNone, _ SkipBlanks: = False, Transpose: = False .PasteSpecial Paste: = xlFormats, Operation: = xlNone, _ SkipBlanks: = False, Transpose: = False End With Application.CutCopyMode = False Next i NWB.PrintOut NWB.Close False 'sulje väliaikainen työkirja tallentamatta Application.StatusBar = False AWB.Activate Set AWB = Nothing Set NWB = Nothing Else Jos cCount <10 Sitten valitaan alle 10 solua Jos MsgBox ("Haluatko varmasti tulostaa" & _ cCount & "valitut solut?", _ VbQuestion + vbYesNo, "Tulosta valitut solut") = vbNo Th fi Poistu alipäästä, jos valinta Tulosta Loppu, jos loppuosa