Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9
Default Problem with matching pasted cells

OK, I have a userform where a user will input values. Then the program will
copy and paste row values from another workbook and write the input values in
worksheets("Selection").Range("D4").End(xlDown) I have this macro that will
look at one column "S" in a different worksheet("System") and if it doesn't
match with values in ("D4").End(xlDown) it will delete the entire row. But it
doesn't work it deletes every row even if they are similar values, curiously
if I type in a value in Column "S" it works. This is what I have. Thanks in
advance.

Sub Redundancy()
Dim iLastRow As Long
Dim i As Long
'With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
'End With
iLastRow = worksheets("System").Cells(Rows.Count, "S").End(xlUp).Row
For i = iLastRow To 2 Step -1
If IsError(Application.Match(worksheets("System").Cel ls(i,
"S").Value, _
worksheets("Selection").Range("D4").End(xlDown), 0)) Then
worksheets("System").Cells(i, "S").EntireRow.Delete
Shift:=xlUp
End If
Next i
If worksheets("System").Column("S:S").Value = "" Then
worksheets("System").EntireRow.Delete
End If
With Application
.ScreenUpdating = True
.Calculation = CalcMode
End With
End Sub
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Problem with matching pasted cells

Try this from immediate window in the VBE:

MsgBox Worksheets("Selection").Range("D4").End(xlDown).Ad dress

You'll see that this is just one cell.

I'm betting that's not what you meant.

I think I'd use a variable for that range:

Dim LookupRng As Range
With Worksheets("Selection")
Set LookupRng = .Range("d4", .Range("D4").End(xlDown))
End With

Then that little portion of code changes to:

For i = iLastRow To 2 Step -1
If IsError(Application.Match(Worksheets("System").Cel ls(i, "S").Value, _
LookupRng, 0)) Then
Worksheets("System").Cells(i, "S").EntireRow.Delete
End If
Next i

Aonghus wrote:

OK, I have a userform where a user will input values. Then the program will
copy and paste row values from another workbook and write the input values in
worksheets("Selection").Range("D4").End(xlDown) I have this macro that will
look at one column "S" in a different worksheet("System") and if it doesn't
match with values in ("D4").End(xlDown) it will delete the entire row. But it
doesn't work it deletes every row even if they are similar values, curiously
if I type in a value in Column "S" it works. This is what I have. Thanks in
advance.

Sub Redundancy()
Dim iLastRow As Long
Dim i As Long
'With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
'End With
iLastRow = worksheets("System").Cells(Rows.Count, "S").End(xlUp).Row
For i = iLastRow To 2 Step -1
If IsError(Application.Match(worksheets("System").Cel ls(i,
"S").Value, _
worksheets("Selection").Range("D4").End(xlDown), 0)) Then
worksheets("System").Cells(i, "S").EntireRow.Delete
Shift:=xlUp
End If
Next i
If worksheets("System").Column("S:S").Value = "" Then
worksheets("System").EntireRow.Delete
End If
With Application
.ScreenUpdating = True
.Calculation = CalcMode
End With
End Sub


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9
Default Problem with matching pasted cells

Thanks Dave for your response. I tried what you told me and the result is
still the same. It doesn't seem to match the values in the Column 'S' that
I've pasted from another workbook, I've tried copying and pasting the values
in the same column but it still doesn't match with the values in the column
in the "Selection" worksheet. The only time that the whole thing works
perfectly is when I manually type in similar values in the 'S' Column even
though they are the same values. Would it be possible that the macro is
unable to read the imported data?

"Dave Peterson" wrote:

Try this from immediate window in the VBE:

MsgBox Worksheets("Selection").Range("D4").End(xlDown).Ad dress

You'll see that this is just one cell.

I'm betting that's not what you meant.

I think I'd use a variable for that range:

Dim LookupRng As Range
With Worksheets("Selection")
Set LookupRng = .Range("d4", .Range("D4").End(xlDown))
End With

Then that little portion of code changes to:

For i = iLastRow To 2 Step -1
If IsError(Application.Match(Worksheets("System").Cel ls(i, "S").Value, _
LookupRng, 0)) Then
Worksheets("System").Cells(i, "S").EntireRow.Delete
End If
Next i

Aonghus wrote:

OK, I have a userform where a user will input values. Then the program will
copy and paste row values from another workbook and write the input values in
worksheets("Selection").Range("D4").End(xlDown) I have this macro that will
look at one column "S" in a different worksheet("System") and if it doesn't
match with values in ("D4").End(xlDown) it will delete the entire row. But it
doesn't work it deletes every row even if they are similar values, curiously
if I type in a value in Column "S" it works. This is what I have. Thanks in
advance.

Sub Redundancy()
Dim iLastRow As Long
Dim i As Long
'With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
'End With
iLastRow = worksheets("System").Cells(Rows.Count, "S").End(xlUp).Row
For i = iLastRow To 2 Step -1
If IsError(Application.Match(worksheets("System").Cel ls(i,
"S").Value, _
worksheets("Selection").Range("D4").End(xlDown), 0)) Then
worksheets("System").Cells(i, "S").EntireRow.Delete
Shift:=xlUp
End If
Next i
If worksheets("System").Column("S:S").Value = "" Then
worksheets("System").EntireRow.Delete
End If
With Application
.ScreenUpdating = True
.Calculation = CalcMode
End With
End Sub


--

Dave Peterson

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Problem with matching pasted cells

I didn't notice this earlier, but this looks bad, too:

If worksheets("System").Column("S:S").Value = "" Then

..value should return to a single cell (when you're comparing it to a string).

And this line:
Worksheets("System").EntireRow.Delete
shouldn't run at all.

But I don't know what you're really trying to do.

This compiled and ran for me--but try it against a test copy of your workbook:

Option Explicit

'OK, I have a userform where a user will input values. Then the program will
'copy and paste row values from another workbook and write the input values in
'worksheets("Selection").Range("D4").End(xlDown) I have this macro that will
'look at one column "S" in a different worksheet("System") and if it doesn't
'match with values in ("D4").End(xlDown) it will delete the entire row. But it
'doesn't work it deletes every row even if they are similar values, curiously
'if I type in a value in Column "S" it works. This is what I have. Thanks in
'advance.

Sub Redundancy()
Dim iLastRow As Long
Dim i As Long
Dim RngToMatch As Range
Dim CalcMode As Long

With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With

With Worksheets("selection")
Set RngToMatch = .Range("d4", .Range("D4").End(xlDown))
End With

With Worksheets("System")
iLastRow = .Cells(.Rows.Count, "S").End(xlUp).Row
For i = iLastRow To 2 Step -1
If IsError(Application.Match(.Cells(i, "S").Value, _
RngToMatch, 0)) Then
.Cells(i, "S").EntireRow.Delete
End If
Next i
End With
With Application
.ScreenUpdating = True
.Calculation = CalcMode
End With
End Sub

Aonghus wrote:

Thanks Dave for your response. I tried what you told me and the result is
still the same. It doesn't seem to match the values in the Column 'S' that
I've pasted from another workbook, I've tried copying and pasting the values
in the same column but it still doesn't match with the values in the column
in the "Selection" worksheet. The only time that the whole thing works
perfectly is when I manually type in similar values in the 'S' Column even
though they are the same values. Would it be possible that the macro is
unable to read the imported data?

"Dave Peterson" wrote:

Try this from immediate window in the VBE:

MsgBox Worksheets("Selection").Range("D4").End(xlDown).Ad dress

You'll see that this is just one cell.

I'm betting that's not what you meant.

I think I'd use a variable for that range:

Dim LookupRng As Range
With Worksheets("Selection")
Set LookupRng = .Range("d4", .Range("D4").End(xlDown))
End With

Then that little portion of code changes to:

For i = iLastRow To 2 Step -1
If IsError(Application.Match(Worksheets("System").Cel ls(i, "S").Value, _
LookupRng, 0)) Then
Worksheets("System").Cells(i, "S").EntireRow.Delete
End If
Next i

Aonghus wrote:

OK, I have a userform where a user will input values. Then the program will
copy and paste row values from another workbook and write the input values in
worksheets("Selection").Range("D4").End(xlDown) I have this macro that will
look at one column "S" in a different worksheet("System") and if it doesn't
match with values in ("D4").End(xlDown) it will delete the entire row. But it
doesn't work it deletes every row even if they are similar values, curiously
if I type in a value in Column "S" it works. This is what I have. Thanks in
advance.

Sub Redundancy()
Dim iLastRow As Long
Dim i As Long
'With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
'End With
iLastRow = worksheets("System").Cells(Rows.Count, "S").End(xlUp).Row
For i = iLastRow To 2 Step -1
If IsError(Application.Match(worksheets("System").Cel ls(i,
"S").Value, _
worksheets("Selection").Range("D4").End(xlDown), 0)) Then
worksheets("System").Cells(i, "S").EntireRow.Delete
Shift:=xlUp
End If
Next i
If worksheets("System").Column("S:S").Value = "" Then
worksheets("System").EntireRow.Delete
End If
With Application
.ScreenUpdating = True
.Calculation = CalcMode
End With
End Sub


--

Dave Peterson


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem with excel charts pasted into Word laudrup Excel Discussion (Misc queries) 2 March 9th 06 12:08 AM
Not all pasted text appears in cells cjswift Excel Discussion (Misc queries) 1 August 8th 05 03:43 PM
VBA: Pasted Cells Not Formatted ajocius[_3_] Excel Programming 1 July 23rd 05 05:55 PM
cell validation even for values pasted into cells JR_06062005 Excel Worksheet Functions 2 July 13th 05 05:36 PM
how do I remove spaces from cells that were pasted GolfKing Excel Discussion (Misc queries) 1 December 31st 04 07:40 AM


All times are GMT +1. The time now is 11:15 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"