Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi everyone!
I need some assistence to come up with come code that will copy a range of cells from a single column. The text in the first cell and the last cell are always the same. But sometimes there could be 5 cells inbetween and other times there could be 100 cells inbetween. Below is what I ahve come up with to so far to show where I am trying to go. Thank you for your help!! startrow = Columns(2).Find("start example 1").Select ActiveCell.Copy ******Need to also copy all cells inbetween here**** startrow = Columns(2).Find("end example 1").Select ActiveCell.Copy |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
here's one way : Sub test() Dim rStart As Range Dim rEnd As Range Set rStart = Columns(2).Find("start example 1") Set rEnd = Columns(2).Find("end example 1") If Not rStart Is Nothing And Not rEnd Is Nothing Then Range(rStart, rEnd).Copy End If End Sub -- Hope that helps. Vergel Adriano "BCLivell" wrote: Hi everyone! I need some assistence to come up with come code that will copy a range of cells from a single column. The text in the first cell and the last cell are always the same. But sometimes there could be 5 cells inbetween and other times there could be 100 cells inbetween. Below is what I ahve come up with to so far to show where I am trying to go. Thank you for your help!! startrow = Columns(2).Find("start example 1").Select ActiveCell.Copy ******Need to also copy all cells inbetween here**** startrow = Columns(2).Find("end example 1").Select ActiveCell.Copy |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Rock on!! thank you!!!!!
"Vergel Adriano" wrote: Hi, here's one way : Sub test() Dim rStart As Range Dim rEnd As Range Set rStart = Columns(2).Find("start example 1") Set rEnd = Columns(2).Find("end example 1") If Not rStart Is Nothing And Not rEnd Is Nothing Then Range(rStart, rEnd).Copy End If End Sub -- Hope that helps. Vergel Adriano "BCLivell" wrote: Hi everyone! I need some assistence to come up with come code that will copy a range of cells from a single column. The text in the first cell and the last cell are always the same. But sometimes there could be 5 cells inbetween and other times there could be 100 cells inbetween. Below is what I ahve come up with to so far to show where I am trying to go. Thank you for your help!! startrow = Columns(2).Find("start example 1").Select ActiveCell.Copy ******Need to also copy all cells inbetween here**** startrow = Columns(2).Find("end example 1").Select ActiveCell.Copy |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
hi
try something like this..... Sub Macro1() Dim f As Range Dim l As Range Set ws = Sheets("Sheet1") With ws.Range("A1:A10000") Set f = .Find("firstfind", LookIn:=xlValues) Set l = .Find("lastfind", LookIn:=xlValues) Range(f, l).Select End With End Sub edit for your data Regards FSt1 "BCLivell" wrote: Hi everyone! I need some assistence to come up with come code that will copy a range of cells from a single column. The text in the first cell and the last cell are always the same. But sometimes there could be 5 cells inbetween and other times there could be 100 cells inbetween. Below is what I ahve come up with to so far to show where I am trying to go. Thank you for your help!! startrow = Columns(2).Find("start example 1").Select ActiveCell.Copy ******Need to also copy all cells inbetween here**** startrow = Columns(2).Find("end example 1").Select ActiveCell.Copy |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On 8 Jun, 13:58, BCLivell wrote:
I need some assistence to come up with come code that will copy a range of cells from a single column. The text in the first cell and the last cell are always the same. But sometimes there could be 5 cells inbetween and other times there could be 100 cells inbetween. Below is what I ahve come up with to so far to show where I am trying to go. Thank you for your help!! startrow = Columns(2).Find("start example 1").Select ActiveCell.Copy ******Need to also copy all cells inbetween here**** startrow = Columns(2).Find("end example 1").Select ActiveCell.Copy How will the range be populated? If it is by the insertion of rows then you could name the range in the worksheet and just copy it, regardless of how many rows are added. Alternatively, do something like this: Dim rngCopyRange As Range Dim lngStartRow As Long Dim lngEndRow As Long lngStartRow = Columns(2).Find("start example 1").Row lngEndRow = Columns(2).Find("end example 1").Row Set rngCopyRange = Range("B" & lngStartRow & ":B" & lngEndRow) rngCopyRange.Copy -- juux |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On 8 Jun, 15:00, wrote:
Dim rngCopyRange As Range Dim lngStartRow As Long Dim lngEndRow As Long lngStartRow = Columns(2).Find("start example 1").Row lngEndRow = Columns(2).Find("end example 1").Row Set rngCopyRange = Range("B" & lngStartRow & ":B" & lngEndRow) rngCopyRange.Copy -- juux ...although Vergel's way is more elegant! -- juux |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I forgot to ask about my next step which is pasting that range into another
worksheet starting at cell "a10" in the new worksheet. Thank you! "Vergel Adriano" wrote: Hi, here's one way : Sub test() Dim rStart As Range Dim rEnd As Range Set rStart = Columns(2).Find("start example 1") Set rEnd = Columns(2).Find("end example 1") If Not rStart Is Nothing And Not rEnd Is Nothing Then Range(rStart, rEnd).Copy End If End Sub -- Hope that helps. Vergel Adriano "BCLivell" wrote: Hi everyone! I need some assistence to come up with come code that will copy a range of cells from a single column. The text in the first cell and the last cell are always the same. But sometimes there could be 5 cells inbetween and other times there could be 100 cells inbetween. Below is what I ahve come up with to so far to show where I am trying to go. Thank you for your help!! startrow = Columns(2).Find("start example 1").Select ActiveCell.Copy ******Need to also copy all cells inbetween here**** startrow = Columns(2).Find("end example 1").Select ActiveCell.Copy |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
try replacing this line
Range(rStart, rEnd).Copy with this one Range(rStart, rEnd).Copy ThisWorkbook.Worksheets.Add.Range("A10") ... if the destination is on a sheet that already exists, for example, a sheet named "Sheet2", then, you can do it this way: Range(rStart, rEnd).Copy ThisWorkbook.Worksheets("Sheet2").Range("A10") -- Hope that helps. Vergel Adriano "BCLivell" wrote: I forgot to ask about my next step which is pasting that range into another worksheet starting at cell "a10" in the new worksheet. Thank you! "Vergel Adriano" wrote: Hi, here's one way : Sub test() Dim rStart As Range Dim rEnd As Range Set rStart = Columns(2).Find("start example 1") Set rEnd = Columns(2).Find("end example 1") If Not rStart Is Nothing And Not rEnd Is Nothing Then Range(rStart, rEnd).Copy End If End Sub -- Hope that helps. Vergel Adriano "BCLivell" wrote: Hi everyone! I need some assistence to come up with come code that will copy a range of cells from a single column. The text in the first cell and the last cell are always the same. But sometimes there could be 5 cells inbetween and other times there could be 100 cells inbetween. Below is what I ahve come up with to so far to show where I am trying to go. Thank you for your help!! startrow = Columns(2).Find("start example 1").Select ActiveCell.Copy ******Need to also copy all cells inbetween here**** startrow = Columns(2).Find("end example 1").Select ActiveCell.Copy |
#9
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thank you!!
"Vergel Adriano" wrote: try replacing this line Range(rStart, rEnd).Copy with this one Range(rStart, rEnd).Copy ThisWorkbook.Worksheets.Add.Range("A10") .. if the destination is on a sheet that already exists, for example, a sheet named "Sheet2", then, you can do it this way: Range(rStart, rEnd).Copy ThisWorkbook.Worksheets("Sheet2").Range("A10") -- Hope that helps. Vergel Adriano "BCLivell" wrote: I forgot to ask about my next step which is pasting that range into another worksheet starting at cell "a10" in the new worksheet. Thank you! "Vergel Adriano" wrote: Hi, here's one way : Sub test() Dim rStart As Range Dim rEnd As Range Set rStart = Columns(2).Find("start example 1") Set rEnd = Columns(2).Find("end example 1") If Not rStart Is Nothing And Not rEnd Is Nothing Then Range(rStart, rEnd).Copy End If End Sub -- Hope that helps. Vergel Adriano "BCLivell" wrote: Hi everyone! I need some assistence to come up with come code that will copy a range of cells from a single column. The text in the first cell and the last cell are always the same. But sometimes there could be 5 cells inbetween and other times there could be 100 cells inbetween. Below is what I ahve come up with to so far to show where I am trying to go. Thank you for your help!! startrow = Columns(2).Find("start example 1").Select ActiveCell.Copy ******Need to also copy all cells inbetween here**** startrow = Columns(2).Find("end example 1").Select ActiveCell.Copy |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Vary the Range in a Function | Excel Worksheet Functions | |||
How do I create a macro that will select a range that can vary in | Excel Discussion (Misc queries) | |||
INDIRECT / Setting to vary a range? | Excel Discussion (Misc queries) | |||
Subtotals in a range that could vary in size | Excel Programming | |||
How can I vary graph color by range value | Charts and Charting in Excel |