ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Compile error, Variable not defined (https://www.excelbanter.com/excel-programming/385906-compile-error-variable-not-defined.html)

RJR[_2_]

Compile error, Variable not defined
 
I have this code in a file that searches an entire form and is activated to
print preview a file. When it works, it stops printing row at the last entry
in the sheet. I get the Compile error, Variable not defined when I fire the
macro and it appears at the "For Each "cell" .............
I need it to count rows with data in the first column and then when it comes
to the end, to send the document to the printer with only the rows with data
showing.. Any help would be appreciated.
Thanks


Sub findlastrow()
Dim lastrow As Long
Dim r As Range
lastrow = 1
For Each cell In Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))
If Trim(cell.Text) < "" Then
lastrow = cell.Row
End If
Next
Set r = ActiveSheet.Range("A1:M" & lastrow)
r.PrintPreview
' or
'Activesheet.PageSetup.PrintArea = r.address(external:=true)
'Activesheet.Printout
End Sub



Chip Pearson

Compile error, Variable not defined
 
Include the following after your existing Dim statements.

Dim Cell As Range


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
(email address is on the web site)

"RJR" wrote in message
.. .
I have this code in a file that searches an entire form and is activated to
print preview a file. When it works, it stops printing row at the last
entry in the sheet. I get the Compile error, Variable not defined when I
fire the macro and it appears at the "For Each "cell" .............
I need it to count rows with data in the first column and then when it
comes to the end, to send the document to the printer with only the rows
with data showing.. Any help would be appreciated.
Thanks


Sub findlastrow()
Dim lastrow As Long
Dim r As Range
lastrow = 1
For Each cell In Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))
If Trim(cell.Text) < "" Then
lastrow = cell.Row
End If
Next
Set r = ActiveSheet.Range("A1:M" & lastrow)
r.PrintPreview
' or
'Activesheet.PageSetup.PrintArea = r.address(external:=true)
'Activesheet.Printout
End Sub




Susan

Compile error, Variable not defined
 
i notice you don't have "cell" declared.
dim cell as range
:)
susan



On Mar 22, 2:55 pm, "RJR" wrote:
I have this code in a file that searches an entire form and is activated to
print preview a file. When it works, it stops printing row at the last entry
in the sheet. I get the Compile error, Variable not defined when I fire the
macro and it appears at the "For Each "cell" .............
I need it to count rows with data in the first column and then when it comes
to the end, to send the document to the printer with only the rows with data
showing.. Any help would be appreciated.
Thanks

Sub findlastrow()
Dim lastrow As Long
Dim r As Range
lastrow = 1
For Each cell In Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))
If Trim(cell.Text) < "" Then
lastrow = cell.Row
End If
Next
Set r = ActiveSheet.Range("A1:M" & lastrow)
r.PrintPreview
' or
'Activesheet.PageSetup.PrintArea = r.address(external:=true)
'Activesheet.Printout
End Sub




Dave Peterson

Compile error, Variable not defined
 
You have
Option Explicit
at the top of the module.

That means that you've told excel that you're going to declare every variable
you use in that module.

And Cell wasn't dimmed.

Add this line near the top:

Dim Cell As Range



RJR wrote:

I have this code in a file that searches an entire form and is activated to
print preview a file. When it works, it stops printing row at the last entry
in the sheet. I get the Compile error, Variable not defined when I fire the
macro and it appears at the "For Each "cell" .............
I need it to count rows with data in the first column and then when it comes
to the end, to send the document to the printer with only the rows with data
showing.. Any help would be appreciated.
Thanks

Sub findlastrow()
Dim lastrow As Long
Dim r As Range
lastrow = 1
For Each cell In Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))
If Trim(cell.Text) < "" Then
lastrow = cell.Row
End If
Next
Set r = ActiveSheet.Range("A1:M" & lastrow)
r.PrintPreview
' or
'Activesheet.PageSetup.PrintArea = r.address(external:=true)
'Activesheet.Printout
End Sub


--

Dave Peterson

RJR[_2_]

Compile error, Variable not defined
 
You guys and girls are great, thank you so much
Bob

"RJR" wrote in message
.. .
I have this code in a file that searches an entire form and is activated to
print preview a file. When it works, it stops printing row at the last
entry in the sheet. I get the Compile error, Variable not defined when I
fire the macro and it appears at the "For Each "cell" .............
I need it to count rows with data in the first column and then when it
comes to the end, to send the document to the printer with only the rows
with data showing.. Any help would be appreciated.
Thanks


Sub findlastrow()
Dim lastrow As Long
Dim r As Range
lastrow = 1
For Each cell In Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))
If Trim(cell.Text) < "" Then
lastrow = cell.Row
End If
Next
Set r = ActiveSheet.Range("A1:M" & lastrow)
r.PrintPreview
' or
'Activesheet.PageSetup.PrintArea = r.address(external:=true)
'Activesheet.Printout
End Sub





All times are GMT +1. The time now is 07:01 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com