LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Macro to combine data based on IF,THENs?


This macro should work for you:

Code
-------------------
Sub createList()
' Declare variables...
Dim pgStart, pgEnd, newRow, counter As Integer
Dim myTitle, ansKey, pgRng, newString, string2 As String

' Select Sheet1 first cell w/data (A2)...
ThisWorkbook.Sheets(1).Activate
ActiveSheet.Range("A2").Select
' Initialize counter
counter = 0
' Loop through all rows of data and populate Sheet2...
Do Until IsEmpty(ActiveCell)
' Count data rows to process
counter = counter + 1
' Get title...
myTitle = ActiveCell.Value
' Get page start...
pgStart = ActiveCell.Offset(0, 1).Value
' Get page end...
pgEnd = ActiveCell.Offset(0, 2).Value
' Get answer key...
ansKey = ActiveCell.Offset(0, 3).Value
' Determine page range and format accordingly...
If pgEnd pgStart Then
pgRng = "pp. " & pgStart & "-" & pgEnd
Else
pgRng = "p. " & pgStart
End If
' Concatenate data and populate Sheet2...
newString = myTitle & ", " & pgRng & ", " & ansKey
'Determine first empty row in Sheet2 to populate
If counter = 1 Then
newRow = ThisWorkbook.Sheets(2).UsedRange.Rows.Count
Else
newRow = ThisWorkbook.Sheets(2).UsedRange.Rows.Count + 1
End If
' Populate Sheet2 accordingly (2 records if answer key present)...
If ansKey < "" Then
newString = myTitle & ", " & pgRng & ", " & "answer key"
string2 = myTitle & ", " & pgRng
ThisWorkbook.Sheets(2).Cells(newRow, 1).Value = newString
ThisWorkbook.Sheets(2).Cells(newRow + 1, 1).Value = string2
Else
ThisWorkbook.Sheets(2).Cells(newRow, 1).Value = newString
End If
' Go to next row of data...
ActiveCell.Offset(1, 0).Select
Loop
' Switch to Sheet 2 to show results...
ThisWorkbook.Sheets(2).Activate
ActiveSheet.Range("A1").Select
End Su
-------------------

Hope this helps,
theDud

--
theDud
-----------------------------------------------------------------------
theDude's Profile: http://www.excelforum.com/member.php...fo&userid=1655
View this thread: http://www.excelforum.com/showthread.php?threadid=46715

 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to combine data based on two fields.. gambler1650 Excel Discussion (Misc queries) 1 May 4th 10 08:11 PM
inserting a number from a particular cell based on if/thens Peter Hansen Excel Discussion (Misc queries) 1 May 26th 08 06:40 AM
combine 2 tables of data into one based on date Tim Nealon Excel Worksheet Functions 5 September 1st 06 01:42 AM
Have "IF,Then" to get data from multiple columns--can I nest add'l IF,THENs? marlea Excel Worksheet Functions 1 August 31st 05 07:45 PM
Macro to combine data in a column Janna Excel Programming 2 February 10th 05 05:51 AM


All times are GMT +1. The time now is 08:20 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"