61
If you do not usePreserve, all values assigned to an array are erased.
7.8 Copying Array Values To A Range Of Cells
When transferring data from an array to a range of cells, you have to be aware that Excel treats a
single dimensional array as a set of columns, not rows, unless it is transposed. If you work with a
two dimensional array, the first dimension represents rows, and the second represents columns:
If the array and the destination range are different sizes, then Excel will either partially fill the
range if it too small, and if it is too large, it will fill the excess cells with #N/A.
Sub ArrayToRows()
Dim intData(1 To 10)
Dim I As Long
'populate the array
For I = 1 To 10
intData(I) = I
Next I
'write results out to a row range
Range("A1:A10").Value = Application.Transpose(intData)
End Sub
Sub ArrayToColumns()
Dim intData(1 To 10)
Dim I As Long
'populate the array
For I = 1 To 10
intData(I) = I
Next I
'write results out to a column range
Range("A1:J1").Value = intData
End Sub
You can also use a two dimensional area:
Sub ArrayToRange()
Dim intData(1 To 10, 1 To 2)
Dim I As Long
'populate the array.  The first dimension is the row, and second the column
Pdf rotate single page and save - rotate PDF page permanently in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Users to Change the Rotation Angle of PDF File Page Using C#
rotate pages in pdf; how to rotate all pages in pdf in preview
Pdf rotate single page and save - VB.NET PDF Page Rotate Library: rotate PDF page permanently in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
PDF Document Page Rotation in Visual Basic .NET Class Application
pdf rotate single page and save; how to rotate all pages in pdf at once
62
For I = 1 To 10
intData(I, 1) = I
intData(I, 2) = I * 100
Next I
'write results out to a range
Range("A1:B10").Value = intData
End Sub
7.9 How To Transpose A Range Of Values
Application.Transpose(any array) will transpose arrays.  The following illustrates it use:
Array2 =Application.Transpose(Array1)
The following is another example:
Sub ReverseRange()
Dim myArray, cell As Range, I As Long
If Selection.Areas.Count > 1 Then
'Only works on contiguous range
Exit Sub
End If
If Selection.Columns.Count = 1 Then
'assign the range to an array and transpose at the same time
'if one column wide
myArray = Application.Transpose(Selection)
Else
If Selection.Rows.Count = 1 Then
'transpose twice if more than one row
myArray = Application.Transpose( _
Application.Transpose(Selection))
Else
'only works on single column or single row
Exit Sub
End If
End If
'write values back to the cells
I = UBound(myArray)
For Each cell In Selection
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
this RasterEdge XDoc.PDF SDK, you can simply delete a single page from a PDF document using VB.NET or remove any page from a PDF document and save to local
how to change page orientation in pdf document; save pdf rotate pages
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
How to delete a single page from a PDF document. PDFDocument doc = new PDFDocument(filepath); // Detele page 2 (actually the third page).
pdf rotate all pages; pdf rotate page and save
63
cell.Value = myArray(I)
I = I 
-
1
Next
End Sub
7.10 Editing Cells The Fast Way
The following code removes leading letters from a group of cells that contain entries like
tt123456 or b456789.  If you have to work on each cell in a range, it's very fast to transfer the
range to an array, do what you have to do and transfer the array back to the range.  This example
illustrates this approach.
Sub RemoveAlpha()
Dim cArray As Variant
Dim i, j, dummy
'write range's value to a variant variable which acts like an array
cArray = Range("A1:A100")
'loop through the values in the array
For i = 1 To UBound(cArray, 1)
'check each character in the value/string
For j = 1 To Len(cArray(i, 1))
'extract a single character
dummy = Mid(cArray(i, 1), j, 1)
'this Like test returns true if the character is a number
If dummy Like "#" Then
'remove the text character
cArray(i, 1) = Right(cArray(i, 1), _
Len(cArray(i, 1)) 
-
j + 1)
'exit the loop
Exit For
End If
Next j
Next i
'write array values back to the original cells
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
Both single page and multi-page Tiff image files String inputFilePath = Program.RootPath + "\\" 1.pdf"; PDFDocument doc = new PDFDocument(inputFilePath
how to rotate pdf pages and save; reverse page order pdf online
C# Create PDF from Tiff Library to convert tif images to PDF in C#
Similarly, Tiff image with single page or multiple pages is supported. Description: Convert to PDF and save it on the disk. Parameters:
how to reverse pages in pdf; rotate pdf page and save
64
Range("A1:A100") = cArray
End Sub
7.11 Sorting An Array
The following illustrates how to sort an arrays:
Sub MyProcedure()
Dim MyArray As Variant, i As Integer
'create an array to use to demonstrate the sorting
MyArray = Array("Oranges", "Pears", "Apples")
'call the QuickSort procedure
QuickSort MyArray
'display the results.  Note that MyArray has been changed by QuickSort
For i = LBound(MyArray ) To UBound(MyArray )
MsgBox MyArray(i)
Next i
End Sub
The above could also have been written this way,
Sub MyProcedure()
Dim MyArray() As String, i As Integer
'create an array to use to demonstrate the sorting
ReDim MyArray(1 To 3)
MyArray(1) = "Oranges"
MyArray(2) = "Pears"
MyArray(3) = "Apples"
'call the QuickSort procedure
QuickSort MyArray
'display the results.  Note that MyArray has been changed by QuickSort
For i = LBound(MyArray) To UBound(MyArray)
MsgBox MyArray(i)
Next i
End Sub
The following is the routine that does the sorting.  The only required argument is the first, the
array.  The next two arguments are optional and allows you to specify the starting and stopping
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
file to the end of another and save to a Remarkably, all those C#.NET PDF document page processing functions and then saved and output as a single PDF with user
how to rotate a page in pdf and save it; how to rotate one pdf page
C#: XDoc.HTML5 Viewer for .NET Online Help Manual
Office 2003 and 2007, PDF. 4. -. 8. rotate page. In the mode of single page view, click to rotate file page 90 degrees in clockwise.
rotate pdf page by page; pdf rotate one page
65
sort positions.  Please note that if you do not have Option Base 1 declared in your module or have
declared the array size, the first array element is 0, not 1.
Sub QuickSort(VA_array, Optional V_Low1, Optional V_high1)
On Error Resume Next
'Dimension variables
Dim V_Low2, V_high2, V_loop As Integer
Dim V_val1, V_val2 As Variant
'If first time, get the size of the array to sort
If IsMissing(V_Low1) Then
V_Low1 = LBound(VA_array, 1)
End If
If IsMissing(V_high1) Then
V_high1 = UBound(VA_array, 1)
End If
'Set new extremes to old extremes
V_Low2 = V_Low1
V_high2 = V_high1
'Get value of array item in middle of new extremes
V_val1 = VA_array((V_Low1 + V_high1) / 2)
'Loop for all the items in the array between the extremes
While (V_Low2 <= V_high2)
'Find the first item that is greater than the mid
-
point item
While (VA_array(V_Low2) < V_val1 And V_Low2 < V_high1)
V_Low2 = V_Low2 + 1
Wend
'Find the last item that is less than the mid
-
point item
While (VA_array(V_high2) > V_val1 And V_high2 > V_Low1)
V_high2 = V_high2 
-
1
Wend
'If the new 'greater' item comes before the new 'less' item, swap them
If (V_Low2 <= V_high2) Then
V_val2 = VA_array(V_Low2)
VA_array(V_Low2) = VA_array(V_high2)
VA_array(V_high2) = V_val2
How to C#: Basic SDK Concept of XDoc.PDF for .NET
toolkit, designed particularly for manipulating and managing single-page and multi delete, re-order, copy, paste, cut, rotate, and save PDF page(s), etc.
rotate pdf pages and save; how to rotate a single page in a pdf document
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
and save as new PDF, without changing the previous two PDF documents at all. This guiding page will help you merge two or more PDF documents into a single one
rotate pages in pdf permanently; how to rotate a pdf page in reader
66
'Advance the pointers to the next item
V_Low2 = V_Low2 + 1
V_high2 = V_high2 
-
1
End If
Wend
'Iterate to sort the lower half of the extremes
If (V_high2 > V_Low1) Then _
Call QuickSort(VA_array, V_Low1, V_high2)
'Iterate to sort the upper half of the extremes
If (V_Low2 < V_high1) Then _
Call QuickSort(VA_array, V_Low2, V_high1)
End Sub
7.12 Writing Arrays To A Worksheet
The following article in the Microsoft knowledge base has examples of putting array values in a
worksheet without looping and doesn't use the restrictive FormulaArray method
http://support.microsoft.com/support/kb/articles/q149/6/89.asp
XL: Visual Basic Macro Examples for Working with Arrays
7.13 Assign Range Values Directly To An Array
In Visual Basic, it is possible to assign the values in a range directly to an array variable.  The
trick is that variable must be a Variant variable.  The following illustrates how to do this:
Sub WriteToAnArray()
Dim myArray As Variant, n As Integer, m As Integer
'assign range values to the variant variable
myArray = WorkSheets(1).Range("a1:c5")
'determine the array size display in a message
n = UBound(myArray, 1)
m = UBound(myArray, 2)
MsgBox n & " " & m
'display several values
67
MsgBox myArray(1, 1)
MsgBox myArray(5, 3)
End Sub
You can also assign a cell range the values in an Variant array, if the cell range is the same size as
the Variant array:
WorkSheets(1).Range("a1:c5").Value = myArray
The easiest way to pickup and place an array as a block on a worksheet is to use a variant
variable as an array when assigned to a range.  Note the following unique features.  If the variant
is assigned to several cells on a single row it contains a two dimensional array with dimensions
horizontalArray( 1to 1, 1to Number_of_Cells)
If the range is a single column of values, the variant contains an array with the following
dimensions
verticalArray(1to Number_of_Cells, 1to 1)
You can also transpose a range by using a variant variable as an array and
Application.Transpose:
Dim rangeValues As Variant
rangeValues = Range("A1:A5").Value
rangeValues = Application.Transpose(rangeValues)
Range("a10:e10").Value = rangeValues
7.14 Looping through an Aray of Workbooks.htm
If you have a set of workbooks you want to loop through, using an array is a good
appraoch.  The following illustrates how to assign values to the array and loop through it:
Sub test()
Dim x()
Dim y As Integer
'assign workbook names to the array
x() = Array("One.xls", "Two.xls", "Three.xls")
'the following illustrates looping through the
'array
For y = LBound(x) To UBound(x)
MsgBox "workbook " & y + 1 & " name " & (x(y))
Next y
End Sub
The variable X should not be declared as a string array.  Doing so will create an error.  As
it is undeclared, it is a Variant type variable, and thus one does not need to declare the
array size.
68
To refer to one of the workbooks, you could useWorkbooks(x(y)) in a statement.
69
8. LOOPING
8.1 Using Case Instead Of If Tests
Instead of using a series ofIF tests, you can use aCase statement instead.  For example:
Select Case ActiveCell.Value
Case "A", "B", "C"
' do this
Case "D", "F"
'do something else
Case Else
'third option
End Select
or, if the values are always in sequence, with no gaps you can write
Case "A" To "C"
Multiple statements to be executed can be placed between theCase tests.  However, a better
approach is to run subroutines instead.  This keeps the code compact, and you may be able to use
the subroutines multiple times in your code.
8.2 Using A Select Statement To Take Action
The following illustrates how to use aSelect statement to take action based on the first value in a
string,  In this case, the string is set based on the value of the cell being checked, which can
contain entries like "ABC", "23 XX"', and so forth.  The user only wants action to take place if
the first character in the string is a number.  In this example, the actions are simulated by message
boxes.  In actual practice, they could be Visual Basic statements or calls to other routines.
Sub TakeAction()
Dim cell As Range
Dim nwTestVar As Variant
For Each cell In Selection
nwTestVar = Left(cell.Value, 1)
If IsNumeric(nwTestVar) Then
Select Case nwTestVar
Case 0
MsgBox "Starts with 0"
Case 1
MsgBox "Starts with 1"
70
Case 2, 3
MsgBox "Starts with 2 or 3"
Case 4
MsgBox "Starts with 4"
Case Is > 4
MsgBox "Starts with > 4"
End Select
End If
Next
End Sub
8.3 Determining What Type A Value Is
The functionTypeName returns Error, String, Double, etc. when supplied with a value:
Sub WhatType()
MsgBox TypeName(ActiveCell.Value)
End Sub
You can supplyTypeName with variables also:
Dim R As Variant
R = Application.InputBox("Enter something")
MsgBox TypeName(R)
which returns "Boolean" if cancel is selected, and "String" if any entry is supplied.
8.4 Using Select As A Multiple Or Statement
TheSelect statement is basically a way to write complexOr statements.  The following
illustrates this:
Sub test()
Dim X As Integer
Do
X =Val(InputBox( _
"Enter a number.  0, blank, or text exits."))
Select Case X
Case 0
Exit Sub
Case 1, 3, 7, 92
MsgBox "first select"
Case 5, 10, 60
MsgBox "second select"
Case 93 To 193
MsgBox "third select"
Case Else
MsgBox "case else selected"
End Select
Documents you may be interested
Documents you may be interested