![]() |
Macro Help
I need to write a macro to do some math. Cell A has a date lets say 5/15/80,
Cell G has a date lets say 5/15/06, Cell F has the eqation G-6574. If Cell A = cell G then Place an X in cell I. This is what i have so far: Dim i As Integer i = 0 Range("C:c").Select Do activecell.FormulaR1C1 = "=RC[-1]-6574" i = i + 1 Loop Until IsEmpty(activecell.Offset(i, -1)) Columns("C:C").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub For some reason this wont loop through all the cells, it work on the first cell then finishes leaving the next couple cells empty even though they should also have data in them!! Any Help would be greatly appreciated, Neal. |
Macro Help
from your description
If Cell A = cell G then Place an X in cell I Sub ProcessCells() set rng = Range(Cells(2,1),Cells(rows.count,1).End(xlup) for cell in rng if cell.Value = cells(cell.row,"G") then Cells(cell.Row,"I") = "X" Next end sub the code you show doesn't seem to have much relation to what you described. -- Regards, Tom Ogilvy "Neal" wrote: I need to write a macro to do some math. Cell A has a date lets say 5/15/80, Cell G has a date lets say 5/15/06, Cell F has the eqation G-6574. If Cell A = cell G then Place an X in cell I. This is what i have so far: Dim i As Integer i = 0 Range("C:c").Select Do activecell.FormulaR1C1 = "=RC[-1]-6574" i = i + 1 Loop Until IsEmpty(activecell.Offset(i, -1)) Columns("C:C").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub For some reason this wont loop through all the cells, it work on the first cell then finishes leaving the next couple cells empty even though they should also have data in them!! Any Help would be greatly appreciated, Neal. |
Macro Help
The first code I wrote was just to do the actual math. I didnt use the same
cells because I didnt know if the code was right. Cell F will get its value from cell G-6574. So cell A has to be greater than cell F.So the code would look like this? Dim i As Integer i = 0 Range("F:F").Select Do activecell.FormulaR1C1 = "=RC[1]-6574" i = i - 1 Loop Until IsEmpty(activecell.Offset(i, -1)) Columns("C:C").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False set rng = Range(Cells(2,1),Cells(rows.count,1).End(xlup) for cell in rng if cell.Value = cells(cell.row,"G") then Cells(cell.Row,"I") = "X" Next End Sub "Tom Ogilvy" wrote: from your description If Cell A = cell G then Place an X in cell I Sub ProcessCells() end sub the code you show doesn't seem to have much relation to what you described. -- Regards, Tom Ogilvy "Neal" wrote: I need to write a macro to do some math. Cell A has a date lets say 5/15/80, Cell G has a date lets say 5/15/06, Cell F has the eqation G-6574. If Cell A = cell G then Place an X in cell I. This is what i have so far: Dim i As Integer i = 0 Range("C:c").Select Do activecell.FormulaR1C1 = "=RC[-1]-6574" i = i + 1 Loop Until IsEmpty(activecell.Offset(i, -1)) Columns("C:C").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub For some reason this wont loop through all the cells, it work on the first cell then finishes leaving the next couple cells empty even though they should also have data in them!! Any Help would be greatly appreciated, Neal. |
Macro Help
Looks like I had a typo
for each cell in rng if cell.Value = cells(cell.row,"G") then Cells(cell.Row,"I") = "X" Next Add the workd each -- Regards, Tom Ogilvy "Neal" wrote: The first code I wrote was just to do the actual math. I didnt use the same cells because I didnt know if the code was right. Cell F will get its value from cell G-6574. So cell A has to be greater than cell F.So the code would look like this? Dim i As Integer i = 0 Range("F:F").Select Do activecell.FormulaR1C1 = "=RC[1]-6574" i = i - 1 Loop Until IsEmpty(activecell.Offset(i, -1)) Columns("C:C").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False set rng = Range(Cells(2,1),Cells(rows.count,1).End(xlup) for cell in rng if cell.Value = cells(cell.row,"G") then Cells(cell.Row,"I") = "X" Next End Sub "Tom Ogilvy" wrote: from your description If Cell A = cell G then Place an X in cell I Sub ProcessCells() end sub the code you show doesn't seem to have much relation to what you described. -- Regards, Tom Ogilvy "Neal" wrote: I need to write a macro to do some math. Cell A has a date lets say 5/15/80, Cell G has a date lets say 5/15/06, Cell F has the eqation G-6574. If Cell A = cell G then Place an X in cell I. This is what i have so far: Dim i As Integer i = 0 Range("C:c").Select Do activecell.FormulaR1C1 = "=RC[-1]-6574" i = i + 1 Loop Until IsEmpty(activecell.Offset(i, -1)) Columns("C:C").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub For some reason this wont loop through all the cells, it work on the first cell then finishes leaving the next couple cells empty even though they should also have data in them!! Any Help would be greatly appreciated, Neal. |
Macro Help
thanks for the help
"Tom Ogilvy" wrote: Looks like I had a typo for each cell in rng if cell.Value = cells(cell.row,"G") then Cells(cell.Row,"I") = "X" Next Add the workd each -- Regards, Tom Ogilvy "Neal" wrote: The first code I wrote was just to do the actual math. I didnt use the same cells because I didnt know if the code was right. Cell F will get its value from cell G-6574. So cell A has to be greater than cell F.So the code would look like this? Dim i As Integer i = 0 Range("F:F").Select Do activecell.FormulaR1C1 = "=RC[1]-6574" i = i - 1 Loop Until IsEmpty(activecell.Offset(i, -1)) Columns("C:C").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False set rng = Range(Cells(2,1),Cells(rows.count,1).End(xlup) for cell in rng if cell.Value = cells(cell.row,"G") then Cells(cell.Row,"I") = "X" Next End Sub "Tom Ogilvy" wrote: from your description If Cell A = cell G then Place an X in cell I Sub ProcessCells() end sub the code you show doesn't seem to have much relation to what you described. -- Regards, Tom Ogilvy "Neal" wrote: I need to write a macro to do some math. Cell A has a date lets say 5/15/80, Cell G has a date lets say 5/15/06, Cell F has the eqation G-6574. If Cell A = cell G then Place an X in cell I. This is what i have so far: Dim i As Integer i = 0 Range("C:c").Select Do activecell.FormulaR1C1 = "=RC[-1]-6574" i = i + 1 Loop Until IsEmpty(activecell.Offset(i, -1)) Columns("C:C").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub For some reason this wont loop through all the cells, it work on the first cell then finishes leaving the next couple cells empty even though they should also have data in them!! Any Help would be greatly appreciated, Neal. |
Macro Help
Tom,
When I rewrote the code it gives me an error on the comma for line " if cell.value= cells(cell.row,"G") the comma between cell.row,"G" I've tried a couple things to corre3ct it and I dont know how. "Tom Ogilvy" wrote: Looks like I had a typo for each cell in rng if cell.Value = cells(cell.row,"G") then Cells(cell.Row,"I") = "X" Next Add the workd each -- Regards, Tom Ogilvy "Neal" wrote: The first code I wrote was just to do the actual math. I didnt use the same cells because I didnt know if the code was right. Cell F will get its value from cell G-6574. So cell A has to be greater than cell F.So the code would look like this? Dim i As Integer i = 0 Range("F:F").Select Do activecell.FormulaR1C1 = "=RC[1]-6574" i = i - 1 Loop Until IsEmpty(activecell.Offset(i, -1)) Columns("C:C").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False set rng = Range(Cells(2,1),Cells(rows.count,1).End(xlup) for cell in rng if cell.Value = cells(cell.row,"G") then Cells(cell.Row,"I") = "X" Next End Sub "Tom Ogilvy" wrote: from your description If Cell A = cell G then Place an X in cell I Sub ProcessCells() end sub the code you show doesn't seem to have much relation to what you described. -- Regards, Tom Ogilvy "Neal" wrote: I need to write a macro to do some math. Cell A has a date lets say 5/15/80, Cell G has a date lets say 5/15/06, Cell F has the eqation G-6574. If Cell A = cell G then Place an X in cell I. This is what i have so far: Dim i As Integer i = 0 Range("C:c").Select Do activecell.FormulaR1C1 = "=RC[-1]-6574" i = i + 1 Loop Until IsEmpty(activecell.Offset(i, -1)) Columns("C:C").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub For some reason this wont loop through all the cells, it work on the first cell then finishes leaving the next couple cells empty even though they should also have data in them!! Any Help would be greatly appreciated, Neal. |
All times are GMT +1. The time now is 09:45 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com