Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Perfect! Without the quotes, it works flawlessly!! Thank you very much for
your help!! -Allen "Jim Thomlinson" wrote: Remove the quotes... I should not have left them in my original response... Sub Rearrange() Dim SearchVariable As String Dim rngCopy As Range Dim rngPaste As Range Dim a As Integer Dim x As Integer a = 2 c = 1 Do While Worksheets("Correct Order").Cells(a, 1).Value < "" SearchVariable = Worksheets("Correct Order").Cells(a, 1).Value b = 1 Do While x < 1 If Worksheets("Raw Data").Cells(b, 1).Value = SearchVariable Then With Worksheets("Raw Data") Set rngCopy = .Range(.Cells(b, 1), .Cells(b, 10)) End With With Worksheets("Sorted Data") Set rngPaste = .Range(.Cells(c, 1), .Cells(c, 10)) End With rngCopy.Copy rngPaste c = c + 1 x = 1 End If b = b + 1 Loop a = a + 1 x = 0 Loop End Sub -- HTH... Jim Thomlinson "Allen Geddes" wrote: Thank you both for your replies! Jim, I can follow your logic perfectly! However, when I try and implement your code, I get a "Type Mismatch" error on the line which reads: "set rngCopy = .range(.cells("B", 1),.cells("B", 10))" I'll paste the whole code... I apologize if it's not written in the correct sequence (I'm not really a programmer...), but it makes perfect sense to me! Sub Rearrange() Dim SearchVariable As String Dim rngCopy As Range Dim rngPaste As Range Dim a As Integer Dim x As Integer a = 2 c = 1 Do While Worksheets("Correct Order").Cells(a, 1).Value < "" SearchVariable = Worksheets("Correct Order").Cells(a, 1).Value b = 1 Do While x < 1 If Worksheets("Raw Data").Cells(b, 1).Value = SearchVariable Then With Worksheets("Raw Data") Set rngCopy = .Range(.Cells("b", 1), .Cells("b", 10)) End With With Worksheets("Sorted Data") Set rngPaste = .Range(.Cells("c", 1), .Cells("c", 10)) End With rngCopy.Copy rngPaste c = c + 1 x = 1 End If b = b + 1 Loop a = a + 1 x = 0 Loop End Sub "Jim Thomlinson" wrote: Without seeing all of the code this will have to be a bit general... Dim rngCopy as range Dim rngPaste as range with Worksheets("Raw Data") set rngCopy = .range(.cells("B", 1),.cells("B", 10)) end with with Worksheets("Sorted Data") set rngPaste = .range(.cells("C", 1),.cells("C", 10)) end with rngCopy.copy rngPaste -- HTH... Jim Thomlinson "Allen Geddes" wrote: I'm trying to copy a row and paste it in another worksheet. My Problem is declaring the range using variables that are a different value with every iteration of the loop. I know the syntax below is horribly wrong, but I can't find the proper syntax for what I'm trying to do! Worksheets("Raw Data").Range(b & "1", b & "10").Copy Destination:=Worksheets("Sorted Data").Range(c & "1", c & "10") I want it to copy from the range Cells((b,1):(b,10)) and past them in another worksheet to the range Cells((c,1):(c,10)) I'm very new to this whole VBA in Excel thing, so please forgive me if this has already been asked. A search didn't yield what I was looking for... Thanks -Allen |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
copy,paste and loop through workbook | Excel Discussion (Misc queries) | |||
Advancing to the next iteration of a loop? | Excel Programming | |||
Iteration loop | Excel Programming | |||
Iteration loop | Excel Programming | |||
copy and paste loop | Excel Programming |