Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Clearing an Active X text box with a macro
I have an Active X text box in an Excel workbook that I would like to be able to clear the contents of the box using a macro. Currently the workbook uses a macro to clear the contents of cells to prepare it for use. I would like to add instructions to this exiting macro to also clear the text box being used to enter notes. Below is the macro. The workbook has multiple sheets, but the text box only appear on the BG Info sheet. That section appears at teh end of the Macro. Thanks for any input. Sub Clear_All() ' ' Clear_All Macro ' Macro recorded 03/03/2005 by covingj ' ' Sheets("FI Resources").Select Range("Clear_FI_Resource").Activate Selection.ClearContents Range("C8").Select ActiveCell.FormulaR1C1 = "1500" Range("B2:C2").Select Sheets("PW").Select Range("Clear_PW").Activate Selection.ClearContents Range("F3").Select Sheets("Preg Minor").Select Range("Clear_Preg_Minor").Activate Selection.ClearContents Range("B7:C7").Select Sheets("FP").Select Range("Clear_FP").Activate Selection.ClearContents Range("F2").Select Sheets("LIF").Select Range("Clear_LIF").Activate Selection.ClearContents Range("N2").Select Sheets("TMA").Select Range("Clear_TMA").Activate Selection.ClearContents Range("F2").Select Sheets("HCPC").Select Range("Clear_HCPC").Activate Selection.ClearContents Range("F2").Select Sheets("ABD-SLMB").Select Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_ABD").Activate Selection.ClearContents Range("G2").Select Sheets("QI").Select Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_QI").Activate Selection.ClearContents Range("G2").Select Sheets("OSS").Select Range("Clear_OSS").Activate Selection.ClearContents Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("F2").Select Sheets("NH-HCBS").Select Range("E7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_NH").Activate Selection.ClearContents Range("J28").Select ActiveCell.FormulaR1C1 = "=R[-6]C" Range("I2:J2").Select Sheets("IT").Select Range("Clear_IT").Activate Selection.ClearContents Range("C16").Select ActiveCell.FormulaR1C1 = "='NH-HCBS'!R22C10" Range("F16").Select ActiveCell.FormulaR1C1 = "='NH-HCBS'!R22C10" Range("C7").Select With ActiveCell.Characters(Start:=1, Length:=1) End With Range("C7").Select Sheets("BG Info").Select Range("Clear_BG_Info").Activate Selection.ClearContents Range("Primary").Select End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Clearing an Active X text box with a macro
If you know the name of the textbox: Worksheets("BG Info").TextBox1.Value = "" ps. This code: Sheets("FI Resources").Select Range("Clear_FI_Resource").Activate Selection.ClearContents Range("C8").Select ActiveCell.FormulaR1C1 = "1500" could be rewritten as: Sheets("FI Resources").Range("Clear_FI_Resource").clearconten ts sheets("FI Resources").Range("C8").value = 1500 This kind of thing will make the code run a bit faster, but even better, it's easier to understand. covingj wrote: I have an Active X text box in an Excel workbook that I would like to be able to clear the contents of the box using a macro. Currently the workbook uses a macro to clear the contents of cells to prepare it for use. I would like to add instructions to this exiting macro to also clear the text box being used to enter notes. Below is the macro. The workbook has multiple sheets, but the text box only appear on the BG Info sheet. That section appears at teh end of the Macro. Thanks for any input. Sub Clear_All() ' ' Clear_All Macro ' Macro recorded 03/03/2005 by covingj ' ' Sheets("FI Resources").Select Range("Clear_FI_Resource").Activate Selection.ClearContents Range("C8").Select ActiveCell.FormulaR1C1 = "1500" Range("B2:C2").Select Sheets("PW").Select Range("Clear_PW").Activate Selection.ClearContents Range("F3").Select Sheets("Preg Minor").Select Range("Clear_Preg_Minor").Activate Selection.ClearContents Range("B7:C7").Select Sheets("FP").Select Range("Clear_FP").Activate Selection.ClearContents Range("F2").Select Sheets("LIF").Select Range("Clear_LIF").Activate Selection.ClearContents Range("N2").Select Sheets("TMA").Select Range("Clear_TMA").Activate Selection.ClearContents Range("F2").Select Sheets("HCPC").Select Range("Clear_HCPC").Activate Selection.ClearContents Range("F2").Select Sheets("ABD-SLMB").Select Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_ABD").Activate Selection.ClearContents Range("G2").Select Sheets("QI").Select Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_QI").Activate Selection.ClearContents Range("G2").Select Sheets("OSS").Select Range("Clear_OSS").Activate Selection.ClearContents Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("F2").Select Sheets("NH-HCBS").Select Range("E7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_NH").Activate Selection.ClearContents Range("J28").Select ActiveCell.FormulaR1C1 = "=R[-6]C" Range("I2:J2").Select Sheets("IT").Select Range("Clear_IT").Activate Selection.ClearContents Range("C16").Select ActiveCell.FormulaR1C1 = "='NH-HCBS'!R22C10" Range("F16").Select ActiveCell.FormulaR1C1 = "='NH-HCBS'!R22C10" Range("C7").Select With ActiveCell.Characters(Start:=1, Length:=1) End With Range("C7").Select Sheets("BG Info").Select Range("Clear_BG_Info").Activate Selection.ClearContents Range("Primary").Select End Sub -- Dave Peterson |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Clearing an Active X text box with a macro
Thanks, that worked like a charm.
As far as the code, that's what you get when you let Microsoft record a macro for you. It is indented to make it a little easier on the eyes, but the formating did not carry over when I pasted. When I have time, I'll try to clean it up like you suggested. Of course it would help if I understood what I was doing and not just making it up as I went, LOL. Thanks again. "Dave Peterson" wrote: If you know the name of the textbox: Worksheets("BG Info").TextBox1.Value = "" ps. This code: Sheets("FI Resources").Select Range("Clear_FI_Resource").Activate Selection.ClearContents Range("C8").Select ActiveCell.FormulaR1C1 = "1500" could be rewritten as: Sheets("FI Resources").Range("Clear_FI_Resource").clearconten ts sheets("FI Resources").Range("C8").value = 1500 This kind of thing will make the code run a bit faster, but even better, it's easier to understand. covingj wrote: I have an Active X text box in an Excel workbook that I would like to be able to clear the contents of the box using a macro. Currently the workbook uses a macro to clear the contents of cells to prepare it for use. I would like to add instructions to this exiting macro to also clear the text box being used to enter notes. Below is the macro. The workbook has multiple sheets, but the text box only appear on the BG Info sheet. That section appears at teh end of the Macro. Thanks for any input. Sub Clear_All() ' ' Clear_All Macro ' Macro recorded 03/03/2005 by covingj ' ' Sheets("FI Resources").Select Range("Clear_FI_Resource").Activate Selection.ClearContents Range("C8").Select ActiveCell.FormulaR1C1 = "1500" Range("B2:C2").Select Sheets("PW").Select Range("Clear_PW").Activate Selection.ClearContents Range("F3").Select Sheets("Preg Minor").Select Range("Clear_Preg_Minor").Activate Selection.ClearContents Range("B7:C7").Select Sheets("FP").Select Range("Clear_FP").Activate Selection.ClearContents Range("F2").Select Sheets("LIF").Select Range("Clear_LIF").Activate Selection.ClearContents Range("N2").Select Sheets("TMA").Select Range("Clear_TMA").Activate Selection.ClearContents Range("F2").Select Sheets("HCPC").Select Range("Clear_HCPC").Activate Selection.ClearContents Range("F2").Select Sheets("ABD-SLMB").Select Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_ABD").Activate Selection.ClearContents Range("G2").Select Sheets("QI").Select Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_QI").Activate Selection.ClearContents Range("G2").Select Sheets("OSS").Select Range("Clear_OSS").Activate Selection.ClearContents Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("F2").Select Sheets("NH-HCBS").Select Range("E7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_NH").Activate Selection.ClearContents Range("J28").Select ActiveCell.FormulaR1C1 = "=R[-6]C" Range("I2:J2").Select Sheets("IT").Select Range("Clear_IT").Activate Selection.ClearContents Range("C16").Select ActiveCell.FormulaR1C1 = "='NH-HCBS'!R22C10" Range("F16").Select ActiveCell.FormulaR1C1 = "='NH-HCBS'!R22C10" Range("C7").Select With ActiveCell.Characters(Start:=1, Length:=1) End With Range("C7").Select Sheets("BG Info").Select Range("Clear_BG_Info").Activate Selection.ClearContents Range("Primary").Select End Sub -- Dave Peterson |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Clearing an Active X text box with a macro
The problem with the Recorder is it must encode each action you take one at
a time... it has no facilities to optimize the code after it has done this. Perhaps this previous posting of mine will help you when you do get around to cleaning your code up: Whenever you see code constructed like this... Range("A1").Select Selection.<whatever you can almost always do this instead... Range("A1").<whatever In your particular case, you have this... Range("C2:C8193").Select 'select cells to export For Each r In Selection.Rows which, using the above concept, can be reduced to this... For Each r In Range("C2:C8193").Rows Notice, all I have done is replace Selection with the range you Select(ed) in the previous statement and eliminate the process of doing any Select(ion)s. Stated another way, the Selection produced from Range(...).Select is a range and, of course, Range(...) is a range... and, in fact, they are the same range, so it doesn't matter which one you use. The added benefit of not selecting ranges first is your active cell does not change. -- Rick (MVP - Excel) "covingj" wrote in message ... Thanks, that worked like a charm. As far as the code, that's what you get when you let Microsoft record a macro for you. It is indented to make it a little easier on the eyes, but the formating did not carry over when I pasted. When I have time, I'll try to clean it up like you suggested. Of course it would help if I understood what I was doing and not just making it up as I went, LOL. Thanks again. "Dave Peterson" wrote: If you know the name of the textbox: Worksheets("BG Info").TextBox1.Value = "" ps. This code: Sheets("FI Resources").Select Range("Clear_FI_Resource").Activate Selection.ClearContents Range("C8").Select ActiveCell.FormulaR1C1 = "1500" could be rewritten as: Sheets("FI Resources").Range("Clear_FI_Resource").clearconten ts sheets("FI Resources").Range("C8").value = 1500 This kind of thing will make the code run a bit faster, but even better, it's easier to understand. covingj wrote: I have an Active X text box in an Excel workbook that I would like to be able to clear the contents of the box using a macro. Currently the workbook uses a macro to clear the contents of cells to prepare it for use. I would like to add instructions to this exiting macro to also clear the text box being used to enter notes. Below is the macro. The workbook has multiple sheets, but the text box only appear on the BG Info sheet. That section appears at teh end of the Macro. Thanks for any input. Sub Clear_All() ' ' Clear_All Macro ' Macro recorded 03/03/2005 by covingj ' ' Sheets("FI Resources").Select Range("Clear_FI_Resource").Activate Selection.ClearContents Range("C8").Select ActiveCell.FormulaR1C1 = "1500" Range("B2:C2").Select Sheets("PW").Select Range("Clear_PW").Activate Selection.ClearContents Range("F3").Select Sheets("Preg Minor").Select Range("Clear_Preg_Minor").Activate Selection.ClearContents Range("B7:C7").Select Sheets("FP").Select Range("Clear_FP").Activate Selection.ClearContents Range("F2").Select Sheets("LIF").Select Range("Clear_LIF").Activate Selection.ClearContents Range("N2").Select Sheets("TMA").Select Range("Clear_TMA").Activate Selection.ClearContents Range("F2").Select Sheets("HCPC").Select Range("Clear_HCPC").Activate Selection.ClearContents Range("F2").Select Sheets("ABD-SLMB").Select Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_ABD").Activate Selection.ClearContents Range("G2").Select Sheets("QI").Select Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_QI").Activate Selection.ClearContents Range("G2").Select Sheets("OSS").Select Range("Clear_OSS").Activate Selection.ClearContents Range("C7").Select ActiveCell.FormulaR1C1 = "1500" Range("F2").Select Sheets("NH-HCBS").Select Range("E7").Select ActiveCell.FormulaR1C1 = "1500" Range("Clear_NH").Activate Selection.ClearContents Range("J28").Select ActiveCell.FormulaR1C1 = "=R[-6]C" Range("I2:J2").Select Sheets("IT").Select Range("Clear_IT").Activate Selection.ClearContents Range("C16").Select ActiveCell.FormulaR1C1 = "='NH-HCBS'!R22C10" Range("F16").Select ActiveCell.FormulaR1C1 = "='NH-HCBS'!R22C10" Range("C7").Select With ActiveCell.Characters(Start:=1, Length:=1) End With Range("C7").Select Sheets("BG Info").Select Range("Clear_BG_Info").Activate Selection.ClearContents Range("Primary").Select End Sub -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
macro for clearing cells | Excel Discussion (Misc queries) | |||
run macro although blinking cursor is active in an active cell | Excel Programming | |||
Clearing text in TextBoxes | Excel Programming | |||
clearing text from text boxes | Excel Discussion (Misc queries) | |||
Clearing all Active Cells | Excel Worksheet Functions |