ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Urgent (https://www.excelbanter.com/excel-programming/421384-urgent.html)

Varne

Urgent
 
Hi!

Could an expert spot what is wrong with this chunk?

For f = 1 To 39
If Not Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105) =
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Workbooks("BCS Summary Lines.xls").Worksheets(1).Range(Cells(f + 9, 4),
Cells(f + 9, 4).Offset(11, 100)).Value = Workbooks("BCS
Reports.xls").Worksheets(1).Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11,
100)).Value
Else
Cells(f + 25, 130) = f
End If
Next f


The following works!

For f = 1 To 39
If Not Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105) =
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Workbooks("BCS Reports.xls").Worksheets(1).Range(Cells(f + 9, 4), Cells(f +
9, 4).Offset(11, 100)).Value
Else
Cells(f + 25, 130) = f
End If
Next f

The difference is

Workbooks("BCS Summary Lines.xls").Worksheets(1).

has been removed from the first chunk - 7th line

Both workbooks are unprotected.


Thank You.

Don Guillett

Urgent
 
You fail to mention what but maybe. I would also use WITH instead of
repeating the range name

For f = 1 To 39
If Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105) <
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value = _
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Workbooks("BCS Summary Lines.xls").Worksheets(1).Range(Cells(f + 9, 4), _
Cells(f + 9, 4).Offset(11, 100)).Value = _
Workbooks("BCSReports.xls").Worksheets(1). _
Range(Cells(f + 9, 4), Cells(f + 9, 4)).Offset(11,100).Value
Else
Cells(f + 25, 130) = f
End If
Next f


--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Varne" wrote in message
...
Hi!

Could an expert spot what is wrong with this chunk?

For f = 1 To 39
If Not Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105)
=
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Workbooks("BCS Summary Lines.xls").Worksheets(1).Range(Cells(f + 9, 4),
Cells(f + 9, 4).Offset(11, 100)).Value = Workbooks("BCS
Reports.xls").Worksheets(1).Range(Cells(f + 9, 4), Cells(f + 9,
4).Offset(11,
100)).Value
Else
Cells(f + 25, 130) = f
End If
Next f


The following works!

For f = 1 To 39
If Not Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105)
=
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Workbooks("BCS Reports.xls").Worksheets(1).Range(Cells(f + 9, 4), Cells(f
+
9, 4).Offset(11, 100)).Value
Else
Cells(f + 25, 130) = f
End If
Next f

The difference is

Workbooks("BCS Summary Lines.xls").Worksheets(1).

has been removed from the first chunk - 7th line

Both workbooks are unprotected.


Thank You.



Varne

Urgent
 
Sorry Don.

Which line you mean. In my chunk. The first one.??

"Don Guillett" wrote:

You fail to mention what but maybe. I would also use WITH instead of
repeating the range name

For f = 1 To 39
If Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105) <
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value = _
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Workbooks("BCS Summary Lines.xls").Worksheets(1).Range(Cells(f + 9, 4), _
Cells(f + 9, 4).Offset(11, 100)).Value = _
Workbooks("BCSReports.xls").Worksheets(1). _
Range(Cells(f + 9, 4), Cells(f + 9, 4)).Offset(11,100).Value
Else
Cells(f + 25, 130) = f
End If
Next f


--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Varne" wrote in message
...
Hi!

Could an expert spot what is wrong with this chunk?

For f = 1 To 39
If Not Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105)
=
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Workbooks("BCS Summary Lines.xls").Worksheets(1).Range(Cells(f + 9, 4),
Cells(f + 9, 4).Offset(11, 100)).Value = Workbooks("BCS
Reports.xls").Worksheets(1).Range(Cells(f + 9, 4), Cells(f + 9,
4).Offset(11,
100)).Value
Else
Cells(f + 25, 130) = f
End If
Next f


The following works!

For f = 1 To 39
If Not Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105)
=
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Workbooks("BCS Reports.xls").Worksheets(1).Range(Cells(f + 9, 4), Cells(f
+
9, 4).Offset(11, 100)).Value
Else
Cells(f + 25, 130) = f
End If
Next f

The difference is

Workbooks("BCS Summary Lines.xls").Worksheets(1).

has been removed from the first chunk - 7th line

Both workbooks are unprotected.


Thank You.




Varne

Urgent
 
Spotted it. Thanks.

For other members;

I tested it with a simplified code. In the second half of the formula it is
not enough to say cells(1,2) for example. The macro expects
worksheets(--).worksheets(--).cells(1,2). But for the first part of the
formula it accepts.

The one works;

Sub t()

For f = 1 To 1

Workbooks("dd.xls").Worksheets(1).Range(Cells(f + 4, 1), Cells(f + 4,
1).Offset(2, 0)).Value = Workbooks("BCS Summary
Lines.xls").Worksheets(1).Range(Workbooks("BCS Summary
Lines.xls").Worksheets(1).Cells(3, 1), Workbooks("BCS Summary
Lines.xls").Worksheets(1).Cells(3, 1).Offset(2, 0)).Value

Next f

End Sub


The one that would not work;

Sub t()


For f = 1 To 1

Workbooks("dd.xls").Worksheets(1).Range(Cells(f + 4, 1), Cells(f + 4,
1).Offset(2, 0)).Value = Workbooks("BCS Summary
Lines.xls").Worksheets(1).Range(Cells(3, 1), Cells(3, 1).Offset(2, 0)).Value

Next f

End Sub


Thanks.

M Varnendra


"Don Guillett" wrote:

You fail to mention what but maybe. I would also use WITH instead of
repeating the range name

For f = 1 To 39
If Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105) <
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value = _
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Workbooks("BCS Summary Lines.xls").Worksheets(1).Range(Cells(f + 9, 4), _
Cells(f + 9, 4).Offset(11, 100)).Value = _
Workbooks("BCSReports.xls").Worksheets(1). _
Range(Cells(f + 9, 4), Cells(f + 9, 4)).Offset(11,100).Value
Else
Cells(f + 25, 130) = f
End If
Next f


--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Varne" wrote in message
...
Hi!

Could an expert spot what is wrong with this chunk?

For f = 1 To 39
If Not Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105)
=
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Workbooks("BCS Summary Lines.xls").Worksheets(1).Range(Cells(f + 9, 4),
Cells(f + 9, 4).Offset(11, 100)).Value = Workbooks("BCS
Reports.xls").Worksheets(1).Range(Cells(f + 9, 4), Cells(f + 9,
4).Offset(11,
100)).Value
Else
Cells(f + 25, 130) = f
End If
Next f


The following works!

For f = 1 To 39
If Not Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105)
=
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Workbooks("BCS Reports.xls").Worksheets(1).Range(Cells(f + 9, 4), Cells(f
+
9, 4).Offset(11, 100)).Value
Else
Cells(f + 25, 130) = f
End If
Next f

The difference is

Workbooks("BCS Summary Lines.xls").Worksheets(1).

has been removed from the first chunk - 7th line

Both workbooks are unprotected.


Thank You.




Don Guillett

Urgent
 
If what you posted works, try it this way using WITH . Notice the dots . .
..
Sub t()

For f = 1 To 1

with Workbooks("BCS Summary Lines.xls").Worksheets(1)

Workbooks("dd.xls").Worksheets(1). _
Range(Cells(f + 4, 1), Cells(f + 4,1).Offset(2, 0)).Value = _
.Range(.Cells(3, 1), .Cells(3, 1).Offset(2, 0)).Value
end with
Next f

End Sub


--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Varne" wrote in message
...
Spotted it. Thanks.

For other members;

I tested it with a simplified code. In the second half of the formula it
is
not enough to say cells(1,2) for example. The macro expects
worksheets(--).worksheets(--).cells(1,2). But for the first part of the
formula it accepts.

The one works;

Sub t()

For f = 1 To 1

Workbooks("dd.xls").Worksheets(1).Range(Cells(f + 4, 1), Cells(f + 4,
1).Offset(2, 0)).Value = Workbooks("BCS Summary
Lines.xls").Worksheets(1).Range(Workbooks("BCS Summary
Lines.xls").Worksheets(1).Cells(3, 1), Workbooks("BCS Summary
Lines.xls").Worksheets(1).Cells(3, 1).Offset(2, 0)).Value

Next f

End Sub


The one that would not work;

Sub t()


For f = 1 To 1

Workbooks("dd.xls").Worksheets(1).Range(Cells(f + 4, 1), Cells(f + 4,
1).Offset(2, 0)).Value = Workbooks("BCS Summary
Lines.xls").Worksheets(1).Range(Cells(3, 1), Cells(3, 1).Offset(2,
0)).Value

Next f

End Sub


Thanks.

M Varnendra


"Don Guillett" wrote:

You fail to mention what but maybe. I would also use WITH instead of
repeating the range name

For f = 1 To 39
If Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9, 105) <
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105) Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value = _
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Workbooks("BCS Summary Lines.xls").Worksheets(1).Range(Cells(f + 9, 4), _
Cells(f + 9, 4).Offset(11, 100)).Value = _
Workbooks("BCSReports.xls").Worksheets(1). _
Range(Cells(f + 9, 4), Cells(f + 9, 4)).Offset(11,100).Value
Else
Cells(f + 25, 130) = f
End If
Next f


--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Varne" wrote in message
...
Hi!

Could an expert spot what is wrong with this chunk?

For f = 1 To 39
If Not Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9,
105)
=
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105)
Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Workbooks("BCS Summary Lines.xls").Worksheets(1).Range(Cells(f + 9, 4),
Cells(f + 9, 4).Offset(11, 100)).Value = Workbooks("BCS
Reports.xls").Worksheets(1).Range(Cells(f + 9, 4), Cells(f + 9,
4).Offset(11,
100)).Value
Else
Cells(f + 25, 130) = f
End If
Next f


The following works!

For f = 1 To 39
If Not Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 9,
105)
=
Workbooks("BCS Summary Lines.xls").Worksheets(1).Cells(f + 10, 105)
Then
Range("d10:cz477").ClearContents
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Range(Cells(f + 1009, 4), Cells(f + 1009, 4).Offset(11, 100)).Value
Range(Cells(f + 9, 4), Cells(f + 9, 4).Offset(11, 100)).Value =
Workbooks("BCS Reports.xls").Worksheets(1).Range(Cells(f + 9, 4),
Cells(f
+
9, 4).Offset(11, 100)).Value
Else
Cells(f + 25, 130) = f
End If
Next f

The difference is

Workbooks("BCS Summary Lines.xls").Worksheets(1).

has been removed from the first chunk - 7th line

Both workbooks are unprotected.


Thank You.






All times are GMT +1. The time now is 11:19 AM.

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