ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Changing the test of checkboxes (shapes) programmatically? (https://www.excelbanter.com/excel-programming/448082-changing-test-checkboxes-shapes-programmatically.html)

[email protected]

Changing the test of checkboxes (shapes) programmatically?
 
Dear all,

I've found a way to change the text *next to* a single checkbox on a worksheet with this code:

Sub change()
ActiveSheet.Shapes.Range(Array("Check Box 12")).Select
Selection.Characters.Text = "any_new_text"
End Sub

But If there are many textboxes in a file, on different worksheets, there must be a way to address them all in one go. I also managed to read the 'name' and 'alternative text' of shapes with this code:

Dim c As Shape
For Each c In Worksheets(1).Shapes
Debug.Print c.Name & " " & c.AlternativeText
Next c
End Sub

I guess there must be a way to change the text (which appears not to be the properties 'Name' or 'Alternativetext') of all shapes, but can't get my head around it. Anyone who can?

Regards,
Dr

[email protected]

Changing the test of checkboxes (shapes) programmatically?
 
Ehm, 'test' in the subject line should have been 'text'.

Dr


On 29-1-2013 14:26, lid wrote:
Dear all,

I've found a way to change the text *next to* a single checkbox on a worksheet with this code:
Sub change()
ActiveSheet.Shapes.Range(Array("Check Box 12")).Select
Selection.Characters.Text = "any_new_text"
End Sub

But If there are many textboxes in a file, on different worksheets, there must be a way to address them all in one go. I also managed to read the 'name' and 'alternative text' of shapes with this code:

Dim c As Shape
For Each c In Worksheets(1).Shapes
Debug.Print c.Name & " " & c.AlternativeText
Next c
End Sub

I guess there must be a way to change the text (which appears not to be the properties 'Name' or 'Alternativetext') of all shapes, but can't get my head around it. Anyone who can?

Regards,
Dr



[email protected]

Changing the test of checkboxes (shapes) programmatically?
 
.... and I'm working in Excel 2010.

Dr


On 29-1-2013 15:56, lid wrote:
Ehm, 'test' in the subject line should have been 'text'.

Dr


On 29-1-2013 14:26,
lid wrote:
Dear all,

I've found a way to change the text *next to* a single checkbox on a worksheet with this code:
Sub change()
ActiveSheet.Shapes.Range(Array("Check Box 12")).Select
Selection.Characters.Text = "any_new_text"
End Sub

But If there are many textboxes in a file, on different worksheets, there must be a way to address them all in one go. I also managed to read the 'name' and 'alternative text' of shapes with this code:

Dim c As Shape
For Each c In Worksheets(1).Shapes
Debug.Print c.Name & " " & c.AlternativeText
Next c
End Sub

I guess there must be a way to change the text (which appears not to be the properties 'Name' or 'Alternativetext') of all shapes, but can't get my head around it. Anyone who can?

Regards,
Dr




Sheriff[_2_]

Changing the test of checkboxes (shapes) programmatically?
 
could this help?
If c.Type = msoTextBox Then
Debug.Print c.Name & " " & c.AlternativeText
End If

rgds

wrote in message
...
... and I'm working in Excel 2010.

Dr


On 29-1-2013 15:56, lid wrote:
Ehm, 'test' in the subject line should have been 'text'.

Dr


On 29-1-2013 14:26,
lid wrote:
Dear all,

I've found a way to change the text *next to* a single checkbox on a
worksheet with this code:
Sub change()
ActiveSheet.Shapes.Range(Array("Check Box 12")).Select
Selection.Characters.Text = "any_new_text"
End Sub

But If there are many textboxes in a file, on different worksheets,
there must be a way to address them all in one go. I also managed to
read the 'name' and 'alternative text' of shapes with this code:

Dim c As Shape
For Each c In Worksheets(1).Shapes
Debug.Print c.Name & " " & c.AlternativeText
Next c
End Sub

I guess there must be a way to change the text (which appears not to be
the properties 'Name' or 'Alternativetext') of all shapes, but can't get
my head around it. Anyone who can?

Regards,
Dr





---
news://freenews.netfront.net/ - complaints: ---

[email protected]

Changing the test of checkboxes (shapes) programmatically?
 
I'm afraid that doesn't work, because the texts *next to* the CheckBoxes (= shapes) are not msoTextBoxes, nor .Name, nor .AlternativeText. The texts I want to change are 'elements' of a Shapes.Range(Array("xxx")) object and can be selected with the .Select method, as can be seen in this working code snippet:

Sub change()
ActiveSheet.Shapes.Range(Array("Check Box 12")).Select
Selection.Characters.Text = "any_new_text"
End Sub

My purpose was to change all these 'elements' in one pass, but I don't know how to do that with VBA. I was thinking of a For... Next loop and would need som help to write that routine.

Kind regards
Dr



On 30-1-2013 15:50, Sheriff wrote:
If c.Type = msoTextBox Then
Debug.Print c.Name & " " & c.AlternativeText
End If




All times are GMT +1. The time now is 12:06 PM.

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