ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   InputBox to resize all charts of active worksheet (https://www.excelbanter.com/excel-programming/443472-inputbox-resize-all-charts-active-worksheet.html)

andreashermle

InputBox to resize all charts of active worksheet
 
Dear Experts:

below code sets a new width for all charts of the active sheet.

The input box functionality should be expanded with the following
features:

- the current width of the first chart is to be displayed as the
default width
- this default width is to be displayed in cm, not in points
- likewise the new width is to be entered in cm, not in points

Your professinal help is more than appreciated. Thank you very much in
advance.

Regards, Andreas


Sub ResizeCharts()

Dim myChtObj As ChartObject
Dim myInput As String

myInput = InputBox(Prompt:="New Width for all charts.", _
Title:="ENTER NEW WIDTH FOR ALL CHARTS", Default:="400")

For Each myChtObj In ActiveSheet.ChartObjects
myChtObj.Width = myInput
Next myChtObj

End Sub


Javed

InputBox to resize all charts of active worksheet
 
Sub ResizeCharts()

Dim myChtObj As ChartObject
Dim myInput As String

'This conversion factor found in net(Not checked with other resources)
Const PoiToCm = 0.035277778

myInput = Application.InputBox(Prompt:="New Width for all charts.", _
Title:="ENTER NEW WIDTH FOR ALL CHARTS",
Default:=ActiveSheet.ChartObjects(1).Width * PoiToCm, Type:=1)

For Each myChtObj In ActiveSheet.ChartObjects
myChtObj.Width = myInput / PoiToCm
Next myChtObj


End Sub





andreashermle

InputBox to resize all charts of active worksheet
 
On Aug 9, 10:12*am, Javed wrote:
Sub ResizeCharts()

Dim myChtObj As ChartObject
Dim myInput As String

'This conversion factor found in net(Not checked with other resources)
Const PoiToCm = 0.035277778

myInput = Application.InputBox(Prompt:="New Width for all charts.", _
* * * * * Title:="ENTER NEW WIDTH FOR ALL CHARTS",
Default:=ActiveSheet.ChartObjects(1).Width * PoiToCm, Type:=1)

For Each myChtObj In ActiveSheet.ChartObjects
* * myChtObj.Width = myInput / PoiToCm
Next myChtObj

End Sub


Hi Javed,

great. This works just fine. Thank you very much for your great help.

Regards, Andreas


All times are GMT +1. The time now is 11:38 AM.

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