ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Help with writing macro (https://www.excelbanter.com/excel-programming/414928-help-writing-macro.html)

Bertha needs help[_2_]

Help with writing macro
 
Ok this is the first macro i have ever written

So, i have two worksheets sheet 2 brings in data from another source. On
column D it brings in the name of the alarm that went off.

In Sheet "Bf4 alarms" column 1 i have a list of the 710 alarms that are
known to go off.

The problem is that sometimes new alarms that are not part of this list go
off.
So, im trying to write a macro that identifies these new alarms and places
them on Sheet 1 Column 2.

I really dont knoow how to do it. this is my idea.

Obviously it doesnt work cause i dont know what im doing and an error keeps
coming up but i dont know how to make it work.

Sub IdentNewAlarm()
x = ActiveCell.Row
y = x + 1
Do While Cells(x, 4).Value < ""
Do While Cells(y, 4).Value < ""

If (Cells(x, 4).Value = Sheets("BF4 AlarmsCells").Range("A:A")) Then
Sheets("BF4 AlarmsCells").Cells(1,2).value= cells(x,4))
Else
y = y + 1
End If
Loop
x = x + 1
y = x + 1
Loop


End Sub







joel

Help with writing macro
 
Try this

Sub IdentNewAlarm()

'Find Last Row in column B
with Sheets("BF4 AlarmsCells")
Lastrow = .Range("B" & rows.count).end(xlup).row
NewRow = LastRow + 1
end with

RowCount = ActiveCell.Row
Do While Cells(RowCount, "D").Value < ""
ID = Cells(RowCount, "D").Value
with Sheets("BF4 AlarmsCells")
set c = .Range("A").find(what:=ID,lookin:=xlvalues,lookat: =xlwhole)
if c is nothing then
.Cells(NewRow,"B").value= _
cells(RowCount,"D"))
NewRow = NewRow + 1
End If
end with
RowCount = RowCount + 1
Loop

End Sub



"Bertha needs help" wrote:

Ok this is the first macro i have ever written

So, i have two worksheets sheet 2 brings in data from another source. On
column D it brings in the name of the alarm that went off.

In Sheet "Bf4 alarms" column 1 i have a list of the 710 alarms that are
known to go off.

The problem is that sometimes new alarms that are not part of this list go
off.
So, im trying to write a macro that identifies these new alarms and places
them on Sheet 1 Column 2.

I really dont knoow how to do it. this is my idea.

Obviously it doesnt work cause i dont know what im doing and an error keeps
coming up but i dont know how to make it work.

Sub IdentNewAlarm()
x = ActiveCell.Row
y = x + 1
Do While Cells(x, 4).Value < ""
Do While Cells(y, 4).Value < ""

If (Cells(x, 4).Value = Sheets("BF4 AlarmsCells").Range("A:A")) Then
Sheets("BF4 AlarmsCells").Cells(1,2).value= cells(x,4))
Else
y = y + 1
End If
Loop
x = x + 1
y = x + 1
Loop


End Sub







Bertha needs help[_2_]

Help with writing macro
 
i tried running the macro but it came up with an error box

it said run time error 1004 then when i clicked ont he d bug it took me to
this line of the macro

set c = .Range("A").find(what:=ID,lookin:=xlvalues,lookat: =xlwhole)

"Joel" wrote:

Try this

Sub IdentNewAlarm()

'Find Last Row in column B
with Sheets("BF4 AlarmsCells")
Lastrow = .Range("B" & rows.count).end(xlup).row
NewRow = LastRow + 1
end with

RowCount = ActiveCell.Row
Do While Cells(RowCount, "D").Value < ""
ID = Cells(RowCount, "D").Value
with Sheets("BF4 AlarmsCells")
set c = .Range("A").find(what:=ID,lookin:=xlvalues,lookat: =xlwhole)
if c is nothing then
.Cells(NewRow,"B").value= _
cells(RowCount,"D"))
NewRow = NewRow + 1
End If
end with
RowCount = RowCount + 1
Loop

End Sub



"Bertha needs help" wrote:

Ok this is the first macro i have ever written

So, i have two worksheets sheet 2 brings in data from another source. On
column D it brings in the name of the alarm that went off.

In Sheet "Bf4 alarms" column 1 i have a list of the 710 alarms that are
known to go off.

The problem is that sometimes new alarms that are not part of this list go
off.
So, im trying to write a macro that identifies these new alarms and places
them on Sheet 1 Column 2.

I really dont knoow how to do it. this is my idea.

Obviously it doesnt work cause i dont know what im doing and an error keeps
coming up but i dont know how to make it work.

Sub IdentNewAlarm()
x = ActiveCell.Row
y = x + 1
Do While Cells(x, 4).Value < ""
Do While Cells(y, 4).Value < ""

If (Cells(x, 4).Value = Sheets("BF4 AlarmsCells").Range("A:A")) Then
Sheets("BF4 AlarmsCells").Cells(1,2).value= cells(x,4))
Else
y = y + 1
End If
Loop
x = x + 1
y = x + 1
Loop


End Sub







joel

Help with writing macro
 
I should of been columns not range

from
set c = .Range("A").find(what:=ID,lookin:=xlvalues,lookat: =xlwhole)
to
set c = .Columns("A").find(what:=ID,lookin:=xlvalues,looka t:=xlwhole)


"Bertha needs help" wrote:

i tried running the macro but it came up with an error box

it said run time error 1004 then when i clicked ont he d bug it took me to
this line of the macro

set c = .Range("A").find(what:=ID,lookin:=xlvalues,lookat: =xlwhole)

"Joel" wrote:

Try this

Sub IdentNewAlarm()

'Find Last Row in column B
with Sheets("BF4 AlarmsCells")
Lastrow = .Range("B" & rows.count).end(xlup).row
NewRow = LastRow + 1
end with

RowCount = ActiveCell.Row
Do While Cells(RowCount, "D").Value < ""
ID = Cells(RowCount, "D").Value
with Sheets("BF4 AlarmsCells")
set c = .Range("A").find(what:=ID,lookin:=xlvalues,lookat: =xlwhole)
if c is nothing then
.Cells(NewRow,"B").value= _
cells(RowCount,"D"))
NewRow = NewRow + 1
End If
end with
RowCount = RowCount + 1
Loop

End Sub



"Bertha needs help" wrote:

Ok this is the first macro i have ever written

So, i have two worksheets sheet 2 brings in data from another source. On
column D it brings in the name of the alarm that went off.

In Sheet "Bf4 alarms" column 1 i have a list of the 710 alarms that are
known to go off.

The problem is that sometimes new alarms that are not part of this list go
off.
So, im trying to write a macro that identifies these new alarms and places
them on Sheet 1 Column 2.

I really dont knoow how to do it. this is my idea.

Obviously it doesnt work cause i dont know what im doing and an error keeps
coming up but i dont know how to make it work.

Sub IdentNewAlarm()
x = ActiveCell.Row
y = x + 1
Do While Cells(x, 4).Value < ""
Do While Cells(y, 4).Value < ""

If (Cells(x, 4).Value = Sheets("BF4 AlarmsCells").Range("A:A")) Then
Sheets("BF4 AlarmsCells").Cells(1,2).value= cells(x,4))
Else
y = y + 1
End If
Loop
x = x + 1
y = x + 1
Loop


End Sub







Bertha needs help[_2_]

Help with writing macro
 
I dont know why it still gives me an error with that line.

Now it says compile error
expected: =

"Joel" wrote:

I should of been columns not range

from
set c = .Range("A").find(what:=ID,lookin:=xlvalues,lookat: =xlwhole)
to
set c = .Columns("A").find(what:=ID,lookin:=xlvalues,looka t:=xlwhole)


"Bertha needs help" wrote:

i tried running the macro but it came up with an error box

it said run time error 1004 then when i clicked ont he d bug it took me to
this line of the macro

set c = .Range("A").find(what:=ID,lookin:=xlvalues,lookat: =xlwhole)

"Joel" wrote:

Try this

Sub IdentNewAlarm()

'Find Last Row in column B
with Sheets("BF4 AlarmsCells")
Lastrow = .Range("B" & rows.count).end(xlup).row
NewRow = LastRow + 1
end with

RowCount = ActiveCell.Row
Do While Cells(RowCount, "D").Value < ""
ID = Cells(RowCount, "D").Value
with Sheets("BF4 AlarmsCells")
set c = .Range("A").find(what:=ID,lookin:=xlvalues,lookat: =xlwhole)
if c is nothing then
.Cells(NewRow,"B").value= _
cells(RowCount,"D"))
NewRow = NewRow + 1
End If
end with
RowCount = RowCount + 1
Loop

End Sub



"Bertha needs help" wrote:

Ok this is the first macro i have ever written

So, i have two worksheets sheet 2 brings in data from another source. On
column D it brings in the name of the alarm that went off.

In Sheet "Bf4 alarms" column 1 i have a list of the 710 alarms that are
known to go off.

The problem is that sometimes new alarms that are not part of this list go
off.
So, im trying to write a macro that identifies these new alarms and places
them on Sheet 1 Column 2.

I really dont knoow how to do it. this is my idea.

Obviously it doesnt work cause i dont know what im doing and an error keeps
coming up but i dont know how to make it work.

Sub IdentNewAlarm()
x = ActiveCell.Row
y = x + 1
Do While Cells(x, 4).Value < ""
Do While Cells(y, 4).Value < ""

If (Cells(x, 4).Value = Sheets("BF4 AlarmsCells").Range("A:A")) Then
Sheets("BF4 AlarmsCells").Cells(1,2).value= cells(x,4))
Else
y = y + 1
End If
Loop
x = x + 1
y = x + 1
Loop


End Sub








All times are GMT +1. The time now is 01:56 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com