Combine ranges from 2 sheet into 3rd

  • Thread starter Thread starter David Turner
  • Start date Start date
D

David Turner

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 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
 
Back
Top