Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am working on old county migration flow datasets.
The datasets are for in-migration into a specific county. For example, a typical file includes many in-migration counties. C D E F St. FIPS Name # of returns 30 017 Custer 10 30 111 Yellowstone 6 30 031 Gallatin 2 Same State 8 Diff Region 7 30 017 County Non-Migrants 13 30 019 Daniels 17 30 162 Missula 8 30 033 King 4 30 031 Gallatin 5 Same State 2 Diff Region 9 30 019 County Non-Migrants 16 I want to make a macro that takes the first numbers by the cell right below a "County Non-Migrants" and copies them to the next "County Non-Migrants," taking into account that the number of rows is not constant. Example of End Result: A B C D E F To To From St. FIPS St. FIPS Name # of returns 30 017 30 017 Custer 10 30 017 30 111 Yellowstone 6 30 017 30 031 Gallatin 2 30 017 Same State 8 30 017 Diff Region 7 30 017 30 017 County Non-Migrants 13 30 019 30 019 Daniels 17 30 019 30 162 Missula 8 30 019 30 033 King 4 30 019 30 031 Gallatin 5 30 019 Same State 2 30 019 Diff Region 9 30 019 30 019 County Non-Migrants 16 The problem I see is that the rows are not constant. How would you write a complex if statement to take into account the "county non-migrants" information? Thanks for your help. (By the way, I have thousands rows of cells of this type of information for over 10 years with cells for each county in three states. A lot of work for a long time if I have to the procedure manually.) |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
You can try this: Public Sub CopyInCounty() Dim sST As String Dim sFIPS As String Columns("A:B").Select Selection.NumberFormat = "@" Range("A1").Value = "To" Range("B1").Value = "To" Range("A2").Value = "S." Range("B2").Value = "FIPS" Columns("B:B").Select Selection.NumberFormat = "@" Range("C3").Select Do While Not IsEmpty(ActiveCell) sST = ActiveCell.Text sFIPS = ActiveCell.Offset(0, 1).Text ActiveCell.Offset(0, -2).Value = sST ActiveCell.Offset(0, -1).Value = sFIPS Do While StrComp(ActiveCell.Offset(0, 2).Text, "County Non-Migrants", vbTextCompare) < 0 ActiveCell.Offset(1, 0).Select ActiveCell.Offset(0, -2).Value = sST ActiveCell.Offset(0, -1).Value = sFIPS Loop ActiveCell.Offset(1, 0).Select Loop End Sub Good luck, Wouter wrote in message ... I am working on old county migration flow datasets. The datasets are for in-migration into a specific county. For example, a typical file includes many in-migration counties. C D E F St. FIPS Name # of returns 30 017 Custer 10 30 111 Yellowstone 6 30 031 Gallatin 2 Same State 8 Diff Region 7 30 017 County Non-Migrants 13 30 019 Daniels 17 30 162 Missula 8 30 033 King 4 30 031 Gallatin 5 Same State 2 Diff Region 9 30 019 County Non-Migrants 16 I want to make a macro that takes the first numbers by the cell right below a "County Non-Migrants" and copies them to the next "County Non-Migrants," taking into account that the number of rows is not constant. Example of End Result: A B C D E F To To From St. FIPS St. FIPS Name # of returns 30 017 30 017 Custer 10 30 017 30 111 Yellowstone 6 30 017 30 031 Gallatin 2 30 017 Same State 8 30 017 Diff Region 7 30 017 30 017 County Non-Migrants 13 30 019 30 019 Daniels 17 30 019 30 162 Missula 8 30 019 30 033 King 4 30 019 30 031 Gallatin 5 30 019 Same State 2 30 019 Diff Region 9 30 019 30 019 County Non-Migrants 16 The problem I see is that the rows are not constant. How would you write a complex if statement to take into account the "county non-migrants" information? Thanks for your help. (By the way, I have thousands rows of cells of this type of information for over 10 years with cells for each county in three states. A lot of work for a long time if I have to the procedure manually.) |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
The last lines of the macro do not work!!!
It also does not like the loop. ActiveCell.Offset(1,)). Select Loop I am not very experienced with VB programming. Could you respond to my new entry on April 14th 10:07am. Thank you. Alex Bujak -----Original Message----- Hi, You can try this: Public Sub CopyInCounty() Dim sST As String Dim sFIPS As String Columns("A:B").Select Selection.NumberFormat = "@" Range("A1").Value = "To" Range("B1").Value = "To" Range("A2").Value = "S." Range("B2").Value = "FIPS" Columns("B:B").Select Selection.NumberFormat = "@" Range("C3").Select Do While Not IsEmpty(ActiveCell) sST = ActiveCell.Text sFIPS = ActiveCell.Offset(0, 1).Text ActiveCell.Offset(0, -2).Value = sST ActiveCell.Offset(0, -1).Value = sFIPS Do While StrComp(ActiveCell.Offset(0, 2).Text, "County Non-Migrants", vbTextCompare) < 0 ActiveCell.Offset(1, 0).Select ActiveCell.Offset(0, -2).Value = sST ActiveCell.Offset(0, -1).Value = sFIPS Loop ActiveCell.Offset(1, 0).Select Loop End Sub Good luck, Wouter wrote in message ... I am working on old county migration flow datasets. The datasets are for in-migration into a specific county. For example, a typical file includes many in-migration counties. C D E F St. FIPS Name # of returns 30 017 Custer 10 30 111 Yellowstone 6 30 031 Gallatin 2 Same State 8 Diff Region 7 30 017 County Non-Migrants 13 30 019 Daniels 17 30 162 Missula 8 30 033 King 4 30 031 Gallatin 5 Same State 2 Diff Region 9 30 019 County Non-Migrants 16 I want to make a macro that takes the first numbers by the cell right below a "County Non-Migrants" and copies them to the next "County Non-Migrants," taking into account that the number of rows is not constant. Example of End Result: A B C D E F To To From St. FIPS St. FIPS Name # of returns 30 017 30 017 Custer 10 30 017 30 111 Yellowstone 6 30 017 30 031 Gallatin 2 30 017 Same State 8 30 017 Diff Region 7 30 017 30 017 County Non-Migrants 13 30 019 30 019 Daniels 17 30 019 30 162 Missula 8 30 019 30 033 King 4 30 019 30 031 Gallatin 5 30 019 Same State 2 30 019 Diff Region 9 30 019 30 019 County Non-Migrants 16 The problem I see is that the rows are not constant. How would you write a complex if statement to take into account the "county non-migrants" information? Thanks for your help. (By the way, I have thousands rows of cells of this type of information for over 10 years with cells for each county in three states. A lot of work for a long time if I have to the procedure manually.) . |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Need Macro- Insert rows based on dates and copy info from that row | Excel Discussion (Misc queries) | |||
Copy info into empty cells below info, until finds cell with new d | Excel Discussion (Misc queries) | |||
Look up part of serial number and copy back associate info | Excel Worksheet Functions | |||
copy down with variable number of rows | Excel Discussion (Misc queries) | |||
Copy a selected number of rows | Excel Discussion (Misc queries) |