Excel VBA Selection.Delete Shift:=xlToLeft

B

bbcdancer

I have a table and in the column D there are values that could either
be "A" or "T".

What I would like is a macro that could go though each value in column
D and if

The value is "A" Then for that row would shift the data in the row
left...

Range("G4:H4").Select ' Not limited to row 4 but to that specific
row

Selection.Delete Shift:=xlToLeft

Else

If The value is "T" Then for that row would shift the data in the row
left...

Range("H4:J4").Select ' Not limited to row 4 but to that specific
row
Selection.Delete Shift:=xlToLeft

Is this doable?

Brenda...Many thanks.
 
D

Dave Peterson

Something like:

Option Explicit
Sub testme()

Dim wks As Worksheet
Dim myRng As Range
Dim myCell As Range

Set wks = Worksheets("sheet1")

With wks
Set myRng = .Range("d1", .Cells(.Rows.Count, "D").End(xlUp))
For Each myCell In myRng.Cells
Select Case LCase(myCell.Value)
Case Is = "a"
'G:H
.Cells(myCell.Row, "G").Resize(1, 2).Delete shift:=xlToLeft
Case Is = "t"
'H:J
.Cells(myCell.Row, "H").Resize(1, 3).Delete shift:=xlToLeft
Case Else
Beep
End Select
Next myCell
End With

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top