ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Combine ranges from 2 sheet into 3rd (https://www.excelbanter.com/excel-programming/272502-combine-ranges-2-sheet-into-3rd.html)

David Turner

Combine ranges from 2 sheet into 3rd
 
After selecting a group of names in ColA, I currently use the following routine(s) to
populate a range based on that selection under today's date on sheet1 with checkmarks,
confirm the Total and then copy them to a corresponding range on sheet2:

Sub FindDate()
On Error GoTo Quit
Application.ScreenUpdating = False
With Selection.Offset(0, Rows(2).Find(Date, LookIn:=xlFormulas).Column - 1)
.Value = Chr(252): .Font.Name = "Wingdings"
End With
Set Total = Rows(2).Find(Date).Offset(Range("Attendance").Rows .Count + 1, 0)
response = MsgBox("Is this total correct? " & Chr(13) & Total, vbYesNo)
If response = vbNo Then End
Call CopyToday
Quit:
Application.ScreenUpdating = True
End Sub

Sub CopyToday()
Dim Rng As Range
Set Rng = Rows(2).Find(Date).Offset(1, 0)
Range(Rng, Rng.Offset(Range("Attendance").Rows.Count - 1, 0)).Copy _
Destination:=Sheets(2).Range(Rng.Address).Offset(0 , 1)
End Sub

I now have a need to populate ranges on two sheets with checkmarks and copy all of them
to a third.

How can I do this without undoing what came from sheet1?

--
David

David Turner

Combine ranges from 2 sheet into 3rd
 
David Turner wrote

Sub CopyToday()
Dim Rng As Range
Set Rng = Rows(2).Find(Date).Offset(1, 0)
Range(Rng, Rng.Offset(Range("Attendance").Rows.Count - 1, 0)).Copy _
Destination:=Sheets(2).Range(Rng.Address).Offset(0 , 1)
End Sub

I now have a need to populate ranges on two sheets with checkmarks and
copy all of them to a third.

How can I do this without undoing what came from sheet1?


Yipee!!!
I fumbled around and ultimately came up with:

Sub CopyToday()
Dim Rng As Range
For i = 1 To 2
Set Rng = Sheets(i).Rows(2).Find(Date).Offset(1, 0)
For Each c In Range(Rng, Rng.Offset(Range("Attendance").Rows.Count - 1,
0))
If c 1 Then c.Copy _
Destination:=Sheets(3).Range(c.Address)
Next c
Next i
End Sub

--
David


All times are GMT +1. The time now is 03:33 PM.

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