ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Code for meet cond, copy, pasteSpecial, ValuesOnly (https://www.excelbanter.com/excel-programming/347493-re-code-meet-cond-copy-pastespecial-valuesonly.html)

ufo_pilot

Code for meet cond, copy, pasteSpecial, ValuesOnly
 
Tom,
You are my Santa for the season!
Your code did EXACTLY what I needed it to do
Now I can study the code (with the help of your explaination)
and maybe create others step by step.
This project has awakened a spark in me I did not know I had.
Thank you sooooo much.


"Tom Ogilvy" wrote:

You said you wanted to copy row 488 to one of the rows in 493:857, but your
code is written to copy from one of the rows in 493:857 to row 488. For
your problem statement:

Sub send2()
Dim myFind As Integer
Dim rng as Range
myFind = Worksheets("INPUT").Range("A1").Value
set rng = Worksheets("INPUT").Range( _
"C493:C857").Find(myFind, _
LookIn:=xlValues, LookAt:=xlWhole)

if not rng is nothing then

Worksheets("INPUT").Range("D488:AT488").copy
rng.Offset(0,1).PasteSpecial xlValues

Worksheets("INPUT").Range("A151:A300").ClearConten ts
Else
msgbox myFind & " was not found"
end If
End Sub

if you want to copy to 488
Sub send2()
Dim myFind As Integer
Dim rng as Range
myFind = Worksheets("INPUT").Range("$A$1").Value
set rng = Worksheets("INPUT").Range( _
"C493:C857").Find(myFind, _
LookIn:=xlValues, LookAt:=xlWhole)

if not rng is nothing then

rng.offset(0,1).Resize(1,43).copy
Worksheets("INPUT").Range("D488:AT488").PasteSpeci al xlValues

Worksheets("INPUT").Range("A151:A300").ClearConten ts
Else
msgbox myFind & " was not found"
end If
End Sub

---------------
You code is offseting one row instead of one column. It is then resizing 41
rows instead of 43 columns

Range("A1").Resize(1,43) expands the range to 43 columns (and 1 row) as
demo't from the immediate window:

? Range("D1").Resize(1,43).Address
$D$1:$AT$1

xlValues is a constant - but it represents the value -4163. Again, from the
immediate window:

? xlValues
-4163

You could use the -4163 directly, but is it more readable to use xlValues.

--
Regards,
Tom Ogilvy






"ufo_pilot" wrote in message
...
I have had some great help from Bernie Deitrick on starting out with a

code
that should let me do the below mentioned activity.
I am trying to learn more about macro and codes and have started a project
given to me by my manager ( I will try to get this done for 2006 ).
I have altered the code somewhat, since I decided to change some of the
sheet a little.
But this is what I need the macro to do once it is assigned to a click -
button "send"


Copy row 488 from column D through column AT
Check the value in A1 (has a number ranging from 1 to 365)
Then Find the value from A1
In rows C493 through C857 ( each row in column C contains a number

between
1 and 365)
and PasteSpecial ValuesOnly
in the row matching A1 from column D through column AT
this needs to copy blanks as blanks too.
Then clear contets of A151 through A300

The original gave me a run error 91 and highlighted this part of the

code:
Worksheets("INPUT").Range("D488:AT488").Find(myFin d, _
LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0). _
Resize(41, 1).PasteSpecial xlPasteValues

I am running '97

This is the (altered) code

Sub send2()
Dim myFind As Integer

myFind = Worksheets("INPUT").Range("$A$1").Value
Worksheets("INPUT").Range("$C$493:$C$857").Find(my Find, _
LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0). _
Resize(41, 1).Copy
Worksheets("INPUT").Range("D488:AT488").Find(myFin d, _
LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0). _
Resize(41, 1).PasteSpecial xlPasteValues
Worksheets("INPUT").Range("$A$151:$A$300").ClearCo ntents
End Sub

btw... what does the "Resize(41,1)" mean in this code?
and why does the number -4163 show up when I place my cursor over xlValues
where is xlValues getting this number from?

I appreciate any help and/or explainations.
Thank You all.






All times are GMT +1. The time now is 01:44 PM.

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