VBA help - worksheets and range questions

  • Thread starter Thread starter Bob
  • Start date Start date
B

Bob

I am working with a workbook with 3 worksheets named "Sheet1", "wtf",
and "Sheet3." My procedure should look for data in the second sheet,
"wtf", and if found, insert a row on Sheet1 and copy the data.

One problem is that I can't seem to figure out a way to refer to the
sheet by name. A second problem is that I don't want to work with a
fixed number of rows - I would like to determine how many rows have
data in the first column and use that as a loop limit.

Any help would be appreciated. Bob.



The code I have been playing with:

Option Explicit

Sub MoveData()

Dim r As Long
Dim wtf As Worksheet
wtf = ActiveWorkbook.Sheets("wtf")

For r = 1 To 500
If (Sheets("wtf").Cells(r, 3) <> "") Or (Sheet2.Cells(r, 4) <> "")
Then
Sheet1.Rows(1).Insert
Sheet1.Cells(1, 1) = Sheet2.Cells(r, 3)
Sheet1.Cells(1, 2) = Sheet2.Cells(r, 4)
Sheet1.Cells(1, 3) = Sheet2.Cells(r, 3) + ", " + Sheet2.Cells(r,
4)
End If
Next



End Sub
 
Sub MoveData()

Dim r As Long
Dim wtf As Worksheet
set wtf = ActiveWorkbook.Sheets("wtf")

For r = 1 To Cells(rows.count,1).End(xlup).Row
If sh.Cells(r, 3) <> "" Or Sheet2.Cells(r, 4) <> "" Then
Sheet1.Rows(1).Insert
Sheet1.Cells(1, 1) = Sheet2.Cells(r, 3)
Sheet1.Cells(1, 2) = Sheet2.Cells(r, 4)
Sheet1.Cells(1, 3) = Sheet2.Cells(r, 3) + ", " + Sheet2.Cells(r,
4)
End If
Next

--
Regards,
Tom Ogilvy


End Sub
 
Your structure **AS IS** of course
Causes your data to be copied to Sheet1 "inverted" (up-side-down).
Is that what you want?
 
Yes, that is the way the existing spreadsheet is (manually) created.

Thanks for you interest!
 
Tom,

I will give this a try when I get into work tomorow. Thanks for the
help. I see your name quite often on the newsgroup. Without people
like you - it wouldn't work for the rest of us. I hope I can give a
little back someday.

Bob.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top