Macro Editing

D

Doug B

I want to find an object in a column that matches the cell I am in, but I
want it to be interactive so that it always looks for whatever data exists in
the current cell I am in. I am no programmer but I do edit Macros to do what
I want.

What I have tried to do is copy the current cell while recording a macro and
then go to the column that I want to find this information in and select
find. I then paste what is stored on the clipboard into the find box and
then I end the Macro. What I see in the Macro is not what I want though. I
want to paste what is on the current clipboard not a fixed set of text
"Northwest Region - NW Region - Dist 3".

ActiveCell.Offset(0, -1).Range("A1").Select
Selection.Copy
ActiveCell.Offset(0, -3).Columns("A:A").EntireColumn.Select
ActiveCell.Offset(-12, -3).Range("A1").Activate
Selection.Find(What:="Northwest Region - NW Region - Dist 3", After:= _
ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole,
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False,
SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Range("A1").Select
End Sub
 
D

Don Guillett

This will copy the cell one to the left from the active cell to one to the
right of finding your text in the column requested. Is that what you want?

Sub copyactivecelllessone()
mc = InputBox("Enter column to search ie: C")
mt = "xx"

ActiveCell.Offset(0, -1).Range("A1").Copy _
Columns(mc).Find(What:=mt, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Offset(, 1)
End Sub
 
D

Doug B

Don,

I have tried what you input but I am getting an Object Variable not set??
The macro gets down to here and stops with this error. I have input Column L
into the popup box and then the macro fails.

ActiveCell.Offset(0, -1).Range("A1").Copy _
Columns(mc).Find(What:=mt, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Offset(, 1)
 
D

Don Guillett

Perhaps you didn't change xx to your desired search string.
If all else fails, send your file to my address below along with a copy of
this and clear explanations.
 
D

Don Guillett

first one does one at at time based on a double click in the next empty
cell. 2nd does all for you at once.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column <> 16 Then Exit Sub
Range(Target, Target.End(xlToRight)).ClearContents
what = Target.Offset(, -1)
p1 = Columns("L").Find(what, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Row
'MsgBox p1
p2 = Application.CountIf(Columns("L"), Target.Offset(, -1))
'MsgBox p2
Cells(p1, "m").Resize(p2).Copy 'target
Target.PasteSpecial Paste:=xlPasteAll, Transpose:=True
Application.CutCopyMode = False
End Sub

Sub doemall()
'Looks in col p for blanks to fill in for data in col o
r1 = Cells(Rows.Count, "p").End(xlUp).Row + 1
'MsgBox r1
r2 = Cells(Rows.Count, "o").End(xlUp).Row '
'MsgBox r2

'finds the data range>copies>transposes
On Error Resume Next
For i = r1 To r2
Range(Cells(i, "q"), Cells(i, "q").End(xlToRight)).ClearContents
what = Cells(i, "o")
p1 = Columns("L").Find(what, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Row
'MsgBox p1
p2 = Application.CountIf(Columns("L"), Cells(i, "o"))
'MsgBox p2
Cells(p1, "m").Resize(p2).Copy
Cells(i, "p").PasteSpecial Paste:=xlPasteAll, Transpose:=True
Application.CutCopyMode = False
Next i
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