Compare files & Insert row per condition VBA
Solved/Closed
j3kj3k
Posts
15
Registration date
Tuesday June 1, 2010
Status
Member
Last seen
July 11, 2012
-
Jun 1, 2010 at 05:07 PM
j3kj3k Posts 15 Registration date Tuesday June 1, 2010 Status Member Last seen July 11, 2012 - Jun 15, 2010 at 06:37 PM
j3kj3k Posts 15 Registration date Tuesday June 1, 2010 Status Member Last seen July 11, 2012 - Jun 15, 2010 at 06:37 PM
Related:
- Vba insert row
- Vba case like - Guide
- Saints row 2 cheats - Guide
- Insert check mark in word - Guide
- How to insert photo in word for resume - Guide
- Insert draft watermark in word on all pages - Guide
2 responses
rizvisa1
Posts
4478
Registration date
Thursday January 28, 2010
Status
Contributor
Last seen
May 5, 2022
766
Jun 3, 2010 at 06:10 PM
Jun 3, 2010 at 06:10 PM
See if that works for you. I am presuming that all "XX" had to be replaced with "Y"
Sub FixData() Dim SheetName1 As String Dim SheetName2 As String Dim WS1 As Worksheet Dim WS2 As Worksheet Dim lRowWS1 As Long Dim lRowWS2 As Long Dim iTempWS1 As Integer Dim iTempWS2 As Integer Dim lFixRow As Long SheetName1 = "FileA" SheetName2 = "FileB" Set WS1 = Sheets(SheetName1) Set WS2 = Sheets(SheetName2) lRowWS1 = WS1.Cells(Rows.Count, "A").End(xlUp).Row lRowWS2 = WS2.Cells(Rows.Count, "A").End(xlUp).Row iTempWS1 = WS1.Cells.Find("*", Cells(1, 1), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Column + 1 iTempWS2 = WS2.Cells.Find("*", Cells(1, 1), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Column + 1 WS1.Select With Range(Cells(1, iTempWS1), Cells(lRowWS1, iTempWS1)) .FormulaR1C1 = "=""|*| "" & LEFT(RC1, FIND("" "", RC1, 1)-1)" .Copy .PasteSpecial xlPasteValues End With With Range(Cells(1, iTempWS1 + 1), Cells(lRowWS1, iTempWS1 + 1)) .FormulaR1C1 = "=SUBSTITUTE(RC1, ""XX"", ""Y"")" .Copy .PasteSpecial xlPasteValues End With With Range(Cells(1, iTempWS1 + 2), Cells(lRowWS1, iTempWS1 + 2)) .FormulaR1C1 = "=LEN(RC" & iTempWS1 & ")" .Copy .PasteSpecial xlPasteValues End With Range(Cells(1, iTempWS1), Cells(lRowWS1, iTempWS1 + 2)).Select Selection.Sort _ Key1:=Cells(1, iTempWS1 + 2), Order1:=xlAscending, _ Key2:=Cells(1, iTempWS1), Order2:=xlAscending, _ Key3:=Cells(1, iTempWS1 + 1), Order3:=xlAscending, _ Header:=xlNo, MatchCase:=False WS2.Select With Range(Cells(1, iTempWS2), Cells(lRowWS2, iTempWS2)) .FormulaR1C1 = "=""|*| "" & RC1" .Copy .PasteSpecial xlPasteValues End With With Range(Cells(1, iTempWS2 + 1), Cells(lRowWS2, iTempWS2 + 1)) .FormulaR1C1 = "=LOOKUP(10000,SEARCH('" & SheetName1 & "'!R1C" & iTempWS1 & ":R" & lRowWS1 & "C" & iTempWS1 & ", RC" & iTempWS2 & ",1),'" & SheetName1 & "'!C" & iTempWS1 + 1 & ":C" & iTempWS1 + 1 & ")" .Copy .PasteSpecial xlPasteValues End With With Range(Cells(1, iTempWS2 + 2), Cells(lRowWS2, iTempWS2 + 2)) .FormulaR1C1 = "=IF(ISERROR(RC[-1]), """", RC[-1])" .Copy .PasteSpecial xlPasteValues End With For lFixRow = 1 To lRowWS2 If (Cells(lFixRow, iTempWS2 + 2) <> "") Then Rows(lFixRow + 5).Insert Cells(lFixRow + 5, 1) = Cells(lFixRow, iTempWS2 + 2) lRowWS2 = lRowWS2 + 1 End If Next lFixRow Range(Cells(1, iTempWS2), Cells(lRowWS2, iTempWS2 + 2)).Clear WS1.Select Range(Cells(1, iTempWS1), Cells(lRowWS2, iTempWS1 + 2)).Clear Set WS1 = Nothing Set WS2 = Nothing End Sub
rizvisa1
Posts
4478
Registration date
Thursday January 28, 2010
Status
Contributor
Last seen
May 5, 2022
766
Jun 1, 2010 at 05:30 PM
Jun 1, 2010 at 05:30 PM
Could you please upload a sample file with sample data etc on some shared site like https://authentification.site , http://wikisend.com/ , http://www.editgrid.com etc and post back here the link to allow better understanding of how it is now and how you foresee.
j3kj3k
Posts
15
Registration date
Tuesday June 1, 2010
Status
Member
Last seen
July 11, 2012
Jun 1, 2010 at 06:16 PM
Jun 1, 2010 at 06:16 PM
Here they are : Let me know if you have any issue to see the file.
http://www.editgrid.com/user/j3kj3k/FileA
http://www.editgrid.com/user/j3kj3k/FileB
http://www.editgrid.com/user/j3kj3k/FileB-RESULT
Thanks!!!!!
http://www.editgrid.com/user/j3kj3k/FileA
http://www.editgrid.com/user/j3kj3k/FileB
http://www.editgrid.com/user/j3kj3k/FileB-RESULT
Thanks!!!!!
rizvisa1
Posts
4478
Registration date
Thursday January 28, 2010
Status
Contributor
Last seen
May 5, 2022
766
Jun 1, 2010 at 07:50 PM
Jun 1, 2010 at 07:50 PM
Could FileA and FileB be incorporated into same workbook as two different worksheet?
j3kj3k
Posts
15
Registration date
Tuesday June 1, 2010
Status
Member
Last seen
July 11, 2012
Jun 3, 2010 at 02:33 PM
Jun 3, 2010 at 02:33 PM
Hi rzvisa1
Absolutely.... I just separated input and output data on a diffrent files just to make my question clear.
Thanks.
Absolutely.... I just separated input and output data on a diffrent files just to make my question clear.
Thanks.
j3kj3k
Posts
15
Registration date
Tuesday June 1, 2010
Status
Member
Last seen
July 11, 2012
Jun 3, 2010 at 06:45 PM
Jun 3, 2010 at 06:45 PM
Thanks rzvisa1 !!!!!!!!!!!
rizvisa1
Posts
4478
Registration date
Thursday January 28, 2010
Status
Contributor
Last seen
May 5, 2022
766
Jun 3, 2010 at 08:27 PM
Jun 3, 2010 at 08:27 PM
I have just updated the code. The sort was wrong. If stars and moon align, it would have given you wrong result. You should update too