display pdf byte array in browser c# : How to rotate one page in a pdf file application software tool html winforms .net online 1200%20macro_examples11-part127

111
.Cells(.Cells.Count)).Select
End With
Note thatCells is qualified with a period, which means that it is qualified by theWith object, the
active sheet's used range.  The code .Cells.Countreturns the number of cells in the used range.
.Cells(.Cells.Count)) returns the bottom right cell in the used range.
You can assign this range to an object variable, which you then use in your code instead of
selecting it.
Dim someCells As Range
With ActiveSheet.UsedRange
Set someCells = ActiveSheet.Range(ActiveCell, _
.Cells(.Cells.Count))
End With
9.6.9 Determining The Last Cell When Multiple Areas Are
Selected
Selecting the last cell in a multiple area selection is not difficult 
-
if you have a clear definition of
what you mean by the last cell.  For example, is it the last cell selected, the cell with the highest
row number, or the highest column number, or some other combination, or is it the cell that is the
intersection of the largest row and column number (an may not be part of the selected range)?
The following examples illustrate solutions to several of these possible last cell possibilities.
The following code returnsthe last selected cell, which may not be the one with the largest row
or column number:
Dim Rng As Range, lastArea As Range, lastCell As Range
Set Rng = Selection
'determine the last area selected
Set lastArea = Rng.Areas(Rng.Areas.Count)
'determine the last cell in the last area
Set lastCell = lastArea.Cells(lastArea.Cells.Count)
MsgBox lastCell.Address
The following returns the last cell, which is the intersection of the largest row number and
the largest column number.  Typically, this cell is not in the selected range.
Dim lastCell As Range
Set lastCell = Selection.SpecialCells(xlLastCell)
MsgBox lastCell.Address
The following returns the cell that has the largest row number, and is in the right most column:
How to rotate one page in a pdf file - 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 pdf page permanently; how to reverse page order in pdf
How to rotate one page in a pdf file - 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
rotate pages in pdf; reverse pdf page order online
112
Dim lastCell As Range
Dim rng As Range
Dim area As Range
Dim tempR As Range
'store selection to a range variable
Set rng = Selection
'loop through each area
For Each area In rng.Areas
'set a variable to the last cell in an area
Set tempR = area.Cells(area.Cells.Count)
If lastCell Is Nothing Then
'initialize last cell the first time through
Set lastCell = tempR
ElseIf tempR.Row > lastCell.Row Then
'if the row number is bigger, update last cell variable
Set lastCell = tempR
ElseIf tempR.Row = lastCell.Row Then
'if rows numbers are the same, update if the column is higher
If tempR.Column > lastCell.Column Then
Set lastCell = tempR
End If
End If
Next
MsgBox lastCell.Address
9.6.10 Finding the Last Row and Column Numbers
The following code returns the row and column numbers of the last row with an entry and last
column with an entry:
Dim
rNum
As Long
rNum =
Cells
.
Find
(
What
:="*",
After
:=
Range
("a1"), _
SearchOrder
:=
xlByRows
, _
SearchDirection:=xlPrevious).Row
MsgBox
"last row with an entry: " & rNum
Dim
cNum
As Integer
cNum =
Cells.Find(What
:="*",
After:=Range
("a1"), _
SearchOrder:=xlByColumns, _
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
C# developers can easily merge and append one PDF document to document imaging toolkit, also offers other advanced PDF document page processing and
how to permanently rotate pdf pages; rotate pdf pages
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
This guiding page will help you merge two or more PDF documents into a single one in a Visual Basic .NET imaging application.
how to rotate a single page in a pdf document; pdf save rotated pages
113
SearchDirection:=xlPrevious).Column
MsgBox
"Last column with an entry:  " & cNum
Once you have the above, you could then select the range from A1 to the bottom corner of the
used range:
Range
(
Range
("A1"),
Cells
(rNum, cNum)).
Select
The above approach is often preferred to using theUsedRangeproperty of a sheet, as
UsedRangewill sometimes return a much broader range due to formats beyond cells with entries.
9.6.11 Fill Down
If you have a column of cells and modify the first cell, double clicking on the fill handle
on the cell you changed will copy the modified cell down the column, to the first empty
cell.  The following macro does the same action:
Sub Fill_Down()
Dim cell As Range
Set cell = ActiveCell
If IsEmpty(cell.Offset(1, 0)) Then
MsgBox "The active cell is the last cell"
Else
Set lastcell = cell.End(xlDown)
cell.Copy Range(cell, lastcell)
End If
End Sub
9.7 COLOR AND FORMAT EXAMPLES
9.7.1 Color Every Other Row Gray And Bold Text
The following code illustrates a way to color every other row gray and to bold the text in those
rows
Sub Gray_Alt_Rows()
Dim Cell As Range, my_Range As Range
'eliminate screen flashing
Application.ScreenUpdating = False
'set the range to change 
-
must be single column wide
Set my_Range = ActiveSheet.Range("B1:B100")
For Each Cell In my_Range
'act on the entire row that the cell is on
VB.NET PDF File Split Library: Split, seperate PDF into multiple
document splitter control provides VB.NET developers an easy to use solution that they can split target multi-page PDF document file to one-page PDF files or
how to rotate all pages in pdf in preview; pdf page order reverse
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
a solution to conveniently delete one page from your PDF document, you can use this VB.NET PDF Library, which supports a variety of PDF file editing features
rotate pdf page and save; how to rotate a pdf page in reader
114
With Cell.EntireRow
'Mod divides two numbers and returns only the remainder
'color only the rows when this value is zero
'and reset the other rows
If Cell.Row Mod 2 = 0 Then
.Interior.ColorIndex = 15
.Font.Bold = True
Else
.Interior.ColorIndex = xlNone
.Font.Bold = False
End If
End With
Next
End Sub
The following is another approach.  It sets a conditional format on the range of selected cells.
The advantage of this approach is that you can insert rows and the formatting automatically
adjusts:
Sub SetConditionalFormatting()
WithSelection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=MOD(ROW(),2)=0"
With .FormatConditions(1).Interior
.ColorIndex = 15
.PatternColorIndex = 15
.Pattern =xlGray50
End With
End With
End Sub
9.7.2 Coloring Cells Based On Their Value
The following routine will color a cell in a selection red if the cell's value is greater than 5
Dim cell As Range
For Each cell In Selection
'test for a numeric value first
If IsNumeric(cell.ValueThen
'test the value of the cell
If cell.Value > 5 Then
'color if greater than 5
cell.Interior.ColorIndex = 3
Else
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Extract PDF Pages, Copy Pages from One PDF File and Paste into Others in C#.NET Program. Free PDF document processing SDK supports PDF page extraction, copying
pdf rotate page and save; rotate pdf pages by degrees
VB.NET PDF Annotate Library: Draw, edit PDF annotation, markups in
A PDFDocument object contains all information about source PDF document file. PDFPage: As for one page of PDFDocument instance, RasterEdge VB.NET PDF annotator
rotate pages in pdf permanently; pdf reverse page order
115
'clear color if not greater than 5
cell.Interior.ColorIndex = xlNone
End If
End If
Next
9.7.3 Coloring Cells Example
The following will change the background color of each row that has the text "account" in
column 1.
Sub ColorThem()
Dim Ndx As Long
For Ndx = 1 To ActiveSheet.UsedRange.Rows.Count
If LCase(Cells(Ndx, 1).Value) = "account" Then
Rows(Ndx).Interior.ColorIndex = 3
EnIf
Next Ndx
End Sub
How to have your macro wait for a few seconds
The following statement,
Application.Wait Now + TimeValue("00:00:05")
will wait for 5 seconds and then run the next statement.
9.7.4 Copying Formats From One Sheet To Another
The following code illustrates how to perform an action, in this case copying formats, on a group
of selected sheets:
Sub Copy_Formats()
Dim sh As Object
Dim topCell As Range
'set a range variable to the first cell in the selection
Set topCell = Selection.Cells(1)
'copy the selection for later use
Selection.Copy
'rotate through each selected sheet, and paste the formats if
'the sheet is a worksheet
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
unnecessary page from target existing PDF document file. Using RasterEdge Visual C# .NET PDF page deletion component, developers can easily select one or more
rotate single page in pdf file; how to save a pdf after rotating pages
C# PDF File Compress Library: Compress reduce PDF size in C#.net
document of 1000+ pages to smaller one in a Easy to compress & decompress PDF document file Remove bookmarks, annotations, watermark, page labels and article
rotate individual pages in pdf; rotate all pages in pdf and save
116
For Each sh In ActiveWindow.SelectedSheets
If TypeName(sh) = "Worksheet" Then _
sh.Range(topCell.Address).PasteSpecial _
Paste:=xlFormats
Next
End Sub
9.7.5 Summing Cells Based On Cell Color
The following macro will sum all cells in the selection that have a background color of red.
Sub SumOfColor()
Dim sumIt As Single
Dim cell As Range
'initialize the sum variable to zero (not required, but good practice
sumIt = 0
'check each cell in the selection that is also in the used range.
'This avoids having to check empty cells if an entire column
'or row is selected.
For Each cell In Intersect(SelectionActiveSheet.UsedRange)
'the interior refers to the background of a cell
If cell.Interior.ColorIndex = 3 Then
sumIt = sumIt + cell.Value
End If
Next cell
'display the results
MsgBox "the sum is " & sumIt
End Sub
9.7.6 Outlining A Selection
The macro recorder records far too much code when creating a border around a selection.  The
following is the compact code:
Selection.BorderAround xlContinuous, xlThin
For more information onBorderAround, highlight it and press F1.
9.7.7 Getting The Formatted Contents Of A Cell
117
The range propertyText returns the formatted content of a cell versus its fully calculated value.
For example if a cell contains the equation =22/3, the calculated value is 3.14285714285714.
But if you format the cell to two decimals, thenActiveCell.Text returns 3.14.
If the cell's column width is too small to display the formatted text,ActiveCell.Text returns what
you see, which is a series of # signs
9.8 WORKING WITH FORMULAS
9.8.1 Writing Formulas That Require Double Quotes
If you need to have Visual Basic write a formula to a worksheet cell and quotes are needed in the
resulting formula, use two double quotes instead of one.  For example, if you want the following
formula to appear in a cell:
= Text(A1,"0000")
Then use a statement like the following in your code:
Worksheets(1).Range("B1").Formula = "=Text(A1,""0000"")"
Notice the two double quotes in front and after the 0000.
You could also write the above statement usingChr(34), which returns a double quote:
Worksheets(1).Range("B1").Formula = _
"=Text(A1, Chr(34) & "0000" & Chr(34) & ")"
9.8.2 The Difference Between Formula And FormulaR1C1
If you care creating a formula for a cell or a range, you can use eitherFormula or
FormulaR1C1.  If you useFormula, then you must use A1 notation.  If you useFormulaR1C1,
then you must use R1C1 notation.  A1 notation is the one you see when you are editing a
worksheet.  R1C1 allows you to reference cells by their relative distance from the formula cell or
by absolute reference, and is what the macro recorder uses.
These two are the same
ActiveCell.Formula = "= A1+B2"
ActiveCell.FormulaR1C1 = "= R1C1 + R2C2
These two are the same:
ActiveCell.Formula = "'=" & ActiveCell.Offset(1,0).Address
ActiveCell.FormulaR1C1 = "=R[1]C"
118
Mixing A1 and R1C1 notation or using the wrong notation will cause an error or unpredictable
results.
9.8.3 Modifying A Cell's Formula
The following examples illustrate how to modify a cell's formula.  In this case the formulas are
being modified to multiply the existing equation by the range name "BaseRate"
Sub CellTimesBaseRate()
With ActiveCell
.Formula = .Formula & " * baserate"
End With
End Sub
Sub RangeTimesBaseRate()
Dim cell As Range
'loop through all the cells in the selection using a For..Next loop
For Each cell In Selection
'write back a formula, which requires an equal sign
cell.Formula = cell.Formula & " * baserate"
Next cell
End Sub
If the cells contain values instead of formulas, then use code like the following:
Sub CellTimesBaseRate()
With ActiveCell
'write back a formula, which requires an equal sign
.Formula = "=" & .Value & "*baserate"
End With
End Sub
Sub RangeTimesBaseRate()
Dim cell As Range
'loop through all the cells in the selection using a For..Next loop
For Each cell In Selection
'write back a formula, which requires an equal sign
cell.Formula = "=" & cell.Value & "*baserate"
Next cell
End Sub
119
9.8.4 Determining If A Cell Contains A Formula
You can use theHasFormula property to determine if a cell contains a formula.  It returnsTrue
if the cell has a formula,False if it does not.
If ActiveCell.HasFormula Then
'code to run if cell has a formula
End If
9.9 WORKING WITH COMMENTS
9.9.1 Checking For Comments
The following is how to check to see if a cell has a comment:
Dim C As Comment
On Error Resume Next
Set C = ActiveCell.Comment
On Error Goto 0
If C Is Nothing Then MsgBox "No comment."
This macro should give you an idea of how to check if a range for comments:
Sub FindComments()
Dim rngToSearch As Range
Dim rngToFind As Range
On Error GoTo ExitFindComments
'Set the range to check for comments
Set rngToSearch = Selection
For Each rngToFind In rngToSearch
If Not rngToFind.Comment Is Nothing Then
MsgBox "Comment found in " & rngToFind.Address
End If
Next rngToFind
ExitFindComments:
End Sub
9.9.2 Commenting A Cell With A Macro
The sub routine "CommentTheCell" can be called by other routines to place a comment in a cell
note, or to remove any comment by using the word "none" as the argument.
120
Sub CommentExample1()
Dim cell As Range
'create a range name to use when calling the routine CommentTheCell
Set cell = Worksheets(1).Range("a1")
'call the subroutine and pass a cell reference and a text string for a cell note
CommentTheCell cell, "This is a cell note"
End Sub
Sub CommentExample2()
Dim cell As Range
'create a range name to use when calling the routine CommentTheCell
Set cell = Worksheets(1).Range("a1")
'call the subroutine, but this time use it to just remove any cell note
CommentTheCellWorksheets(1).Range("B2"), "none"
End Sub
Sub CommentTheCell(xlCellAs Range, strCommentTextAs String)
Application.DisplayAlerts = False
xlCell.ClearNotes
IfLCase(strCommentText) = "none"Then Exit Sub
xlCell.NoteTextText:=strCommentText
End Sub
9.9.3 Working With Comments
The following code illustrates how to use Visual Basic to add a comment to a cell and then auto
size it :
With ActiveSheet.Range("A1")
.Addcomment "This is my meaningful comment"
.Comment.Shape.TextFrame.AutoSize = True
End With
The following code will auto size all comments on all worksheets in the active workbook:
Dim cmt As Comment, sh As Worksheet
'rotate through all the worksheets
For Each sh In Worksheets
'rotate through all the comments in the worksheet
Documents you may be interested
Documents you may be interested