Jei viename lape pasirinksite kelis langelių diapazonus ir bandysite išspausdinti pasirinktus langelius, tai padarysite
gauti po vieną lapą kiekvienai pasirinktai sričiai.
Šis makro pavyzdys spausdins visas pasirinktas sritis viename lape,
išskyrus atvejus, kai plotai yra per dideli, kad tilptų viename lape.
Sub PrintSelectedCells () 'spausdina pasirinktas ląsteles, naudokite įrankių juostos mygtuką arba meniu Dim aCount As Integer, cCount As Integer, rCount As Integer Dim i As Integer, j Kaip ilgas, aRange As String Dim rHeight () kaip Single, cWidth ( ) Kaip vieno matmens AWB kaip darbaknygė, NWB kaip darbaknygė Jei UCase (TypeName (ActiveSheet)) "WORKSHETET", tada Exit Sub 'naudinga tik darbalapiuose aCount = Selection.Areas.Count If aCount = 0 Tada Exit Sub' nėra pasirinktų langelių cCount = Selection.Areas (1) .Cells.Count Jei aCount> 1 Tada pasirinktos kelios sritys Application.ScreenUpdating = False Application.StatusBar = "Spausdinimas" ir aCount & "pasirinktos sritys …" Nustatykite AWB = ActiveWorkbook rCount = ActiveSheet.Cells.SpecialCells (xlLastCell). Row cCount = ActiveSheet.Cells.SpecialCells (xlLastCell). Stulpelis ReDim rHeight (rCount) ReDim cWidth (cCount) Jei i = 1 To rCount 'raskite kiekvienos pasirinktos eilutės eilutės aukštį rHeight (i) = Rows (i). RowHeight Kitas i For i = 1 To cCount "raskite kiekvieno pasirinkto stulpelio stulpelio plotį cWidt h (i) = Stulpeliai (i). Stulpelio plotis Kitas i Nustatyti NWB = Darbaknygės. Pridėti „Sukurti naują darbaknygę. 1 Norėdami „cCount“ nustatyti stulpelių pločius Stulpeliai (i). Stulpelio plotis = cWidth (i) Kitas i For i = 1 Į AWB. Aktyvinti aRange = Selection.Areas (i). Adresas „diapazono adresas Range (aRange). Copy“ kopijuoti diapazoną NWB.Activate With Range (aRange) įklijuoja reikšmes ir formatus .PasteSpecial Paste: = xlValues, Operation: = xlNone, _ SkipBlanks: = False, Transpose: = False .PasteSpecial Paste: = xlFormats, Operation: = xlNone, _ SkipBlanks: = False, Transpose: = False End With Application. Jei cCount <10, tada pasirinkta mažiau nei 10 langelių Jei MsgBox ("Ar tikrai norite spausdinti" & _cCount & "pasirinktas ląsteles?", _ VbQuestion + vbYesNo, "Spausdinti pasirinktas ląsteles") = vbNo Th lt Išeiti iš pabaigos pabaigos, jei pasirinkta. Spausdinti iš pabaigos, jei pabaiga