Created
November 12, 2015 15:10
-
-
Save jdforsythe/1506f2244e6ecce517c3 to your computer and use it in GitHub Desktop.
Excel VBA Macros
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sub DeleteRowByColumnValue() | |
Dim Firstrow As Long | |
Dim Lastrow As Long | |
Dim Lrow As Long | |
Dim CalcMode As Long | |
Dim ViewMode As Long | |
With Application | |
CalcMode = .Calculation | |
.Calculation = xlCalculationManual | |
.ScreenUpdating = False | |
End With | |
'We use the ActiveSheet but you can replace this with | |
'Sheets("MySheet")if you want | |
With ActiveSheet | |
'We select the sheet so we can change the window view | |
.Select | |
'If you are in Page Break Preview Or Page Layout view go | |
'back to normal view, we do this for speed | |
ViewMode = ActiveWindow.View | |
ActiveWindow.View = xlNormalView | |
'Turn off Page Breaks, we do this for speed | |
.DisplayPageBreaks = False | |
'Set the first and last row to loop through | |
Firstrow = .UsedRange.Cells(1).Row | |
Lastrow = .UsedRange.Rows(.UsedRange.Rows.Count).Row | |
'We loop from Lastrow to Firstrow (bottom to top) | |
For Lrow = Lastrow To Firstrow Step -1 | |
'We check the values in the A column in this example | |
With .Cells(Lrow, "A") | |
If Not IsError(.Value) Then | |
If .Value = "ron" Then .EntireRow.Delete | |
'This will delete each row with the Value "ron" | |
'in Column A, case sensitive. | |
End If | |
End With | |
Next Lrow | |
End With | |
ActiveWindow.View = ViewMode | |
With Application | |
.ScreenUpdating = True | |
.Calculation = CalcMode | |
End With | |
End Sub |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sub MoveDataBasedOnColumnValue() | |
Dim Firstrow As Long | |
Dim Lastrow As Long | |
Dim Lrow As Long | |
Dim CalcMode As Long | |
Dim ViewMode As Long | |
With Application | |
CalcMode = .Calculation | |
.Calculation = xlCalculationManual | |
.ScreenUpdating = False | |
End With | |
'We use the ActiveSheet but you can replace this with | |
'Sheets("MySheet")if you want | |
With ActiveSheet | |
'We select the sheet so we can change the window view | |
.Select | |
'If you are in Page Break Preview Or Page Layout view go | |
'back to normal view, we do this for speed | |
ViewMode = ActiveWindow.View | |
ActiveWindow.View = xlNormalView | |
'Turn off Page Breaks, we do this for speed | |
.DisplayPageBreaks = False | |
'Set the first and last row to loop through | |
Firstrow = .UsedRange.Cells(1).Row | |
Lastrow = .UsedRange.Rows(.UsedRange.Rows.Count).Row | |
'We loop from Lastrow to Firstrow (bottom to top) | |
For Lrow = Lastrow To Firstrow Step -1 | |
'We check the values in the A column in this example | |
With .Cells(Lrow, "A") | |
If Not IsError(.Value) Then | |
If .Value = "ron" Then | |
Dim oldCell As String, newCell As String | |
'' move this row's B value to the row above's C column | |
oldCell = "B" + (Lrow) | |
newCell = "C" + (Lrow - 1) | |
Range(newCell).Value = Range(oldCell).Value | |
Range(oldCell).Value = "" | |
End If | |
End If | |
End With | |
Next Lrow | |
End With | |
ActiveWindow.View = ViewMode | |
With Application | |
.ScreenUpdating = True | |
.Calculation = CalcMode | |
End With | |
End Sub |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment