Just a bin of macros and sql queries I use to manipulate data in excel or mysql
Index
- Scan Top of Row Till End and return 3 columns
- Opposite of Lineemup
- Delete Rows When Second Column Is Blank
- Delete everything after certain character in quotes:
- Remove everything left of NTH character
- Remove everything left and right of middle
- Remove everything before
- Remove everything after
- Remove trailing characters
- Remove string contained in neighboring cell
- Remove first character if =”/”
- Remove last character if =”.”
- Bulk find and replace
- Caps and Lowe Case (proper)
- SQL query for category layout in opencart
- Remove all capital alpha
- Find OpenCart stock status differences
- Update OpenCart stock status based on imported table
//1. Scan Top of Row Till End and return 3 columns Sub lineemupSAS() Dim i As Long Dim dr As Long For i = 2 To Cells(2, Columns.Count).End(xlToLeft).Column Step 2 dr = Cells(Rows.Count, 1).End(xlUp).Row + 1 Cells(2, 1).Resize(65).Copy Cells(dr, 1) Cells(2, i).Resize(65).Copy Cells(dr, 2) Cells(2, 1 + i).Resize(65).Copy Cells(dr, 3) Next i End Sub
//2. Opposite of Lineemup Sub Mergeitems() Dim cl As Range Dim rw As Range Set rw = ActiveCell Do While rw <> "" ' for each row in data set ' find first empty cell on row Set cl = rw.Offset(0, 1) Do While cl <> "" Set cl = cl.Offset(0, 1) Loop ' if next row needs to be processed... Do While rw = rw.Offset(1, 0) i = 1 Do While rw.Offset(1, i) <> "" cl = rw.Offset(1, i) Set cl = cl.Offset(0, 1) i = i + 1 Loop rw.Offset(1, 0).EntireRow.Delete xlShiftUp 'delete old data Loop ' next row Set rw = rw.Offset(1, 0) Loop End Sub
//3. Delete Rows When Second Column Is Blank Sub DeleteRowsWithBlanks() Range("B:B").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub
//4. Delete everything after certain character in quotes: Sub CleanText() Dim iPos As String Dim c As Range For Each c In Range("a1:h66" & Range("a" & Rows.Count).End(xlUp).Row) iPos = InStr(1, c.Value, "<a") If iPos > 0 Then c.Value = Left(c.Value, iPos - 1) End If Next End Sub
//5. Remove everything left of NTH character =LEFT(K2, 13) or =RIGHT(B2, LEN( B2)-2)
//6. Remove everything left and right of middle =MID(A2, 10, 100)
//7. Remove everything before =RIGHT(E2,LEN(E2)-FIND("src",E2)+1)
//8. Remove everything after =LEFT(F2,FIND("png",F2,1) + 2)
//9. Remove trailing characters =IF(RIGHT(A1,1)="/",LEFT(A1,LEN(A1)-3),A1)
//10. Remove string contained in neighboring cell =SUBSTITUTE(F2,B2,"")
//11. Remove first character if ="/" =IF(LEFT(E2,1)="/",MID(E2,2,255),E2)
//12. Remove last character if ="." =IF(RIGHT(G2,1)=".",LEFT(G2,LEN(G2)-1),G2)
//13. Bulk find and replace Sub multiFindandReplace() Dim myList, myRange Set myList = Sheets("aid").Range("B2:C4139") Set myRange = Sheets("narea").Range("F2:F200044") For Each cel In myList.Columns(1).Cells myRange.Replace What:=cel.Value, Replacement:=cel.Offset(0, 1).Value, LookAt:=xlWhole Next cel End Sub
//14. Caps and Lower Case (proper) =PROPER(A1)
//15. SQL query for category layout in opencart INSERT INTO oc_category_to_layout(category_id, store_id, layout_id) select category_id, store_id, product_count from oc_category_to_store where not exists (select * from oc_category_to_layout where oc_category.category_id = oc_category_to_layout.category_id); update oc_category_to_layout layout_id = 13;
//16. Remove all capital alpha =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D211," ",""),"A",""),"B",""),"C",""),"D",""),"E",""),"F",""),"G",""),"H",""),"I",""),"J",""),"K",""),"L",""),"M",""),"N",""),"O",""),"P",""),"Q",""),"R",""),"S",""),"T",""),"U",""),"V",""),"W",""),"X",""),"Y",""),"Z",""),"-","")
//17. Find OpenCart stock status differences SELECT p.model, p.stock_status_id FROM oc_product p JOIN obsolete_temp o ON p.model = o.model AND p.stock_status_id <> o.stock_status;
//18. Update OpenCart stock status based on imported table update oc_product op join obsolete_temp ot set op.stock_status_id = ot.stock_status where op.model = ot.model and op.stock_status_id <> ot.stock_status;