Macro To Create/name/position A Chart. |
Macro To Create/name/position A Chart. - Excel |
|
I can't seem to find this anywhere for some reason but how do you name a chart. When I use the macro recorder I see they get named Chart 1, Chart 2 etc.
I have a macro to create a chart that works the first time around, but will create a new chart each time it is run. I want it to just update, but can't figure out how to get the name of the chart to reference it.
Code:
'Make Chart Set d = .Find(Hours_Chart, LookIn:???) 'If the chart hasn't been created, then create it. If d Is Nothing Then ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlColumnClustered ActiveChart.ApplyLayout (5) ActiveWindow.SmallScroll Down:=0 ActiveChart.SetSourceData Source:=Range(("O3"), Range _ ("P3").End(xlDown)) Need to name chart as "Hours_Chart" so that below I can refer to it. 'Otherwise if it is present, then update it. Else: 'Chart you are updating ActiveSheet.ChartObjects("Hours_Chart").Activate ' Set range data Set rngChartdata = Sheets("Hours Log").Range(("O3"), Range _ ("P3").End(xlDown)) ActiveChart.SetSourceData Source:=rngChartdata, _ PlotBy:=xlColumns End If
1) How do I give the chart a specific name?
2) How do I use .find to see if it is already there.
3)What property defines the charts location on the screen.
Thanks as usual...
If I can't search for it, but can name it I can just select it, delete it and re-make it.
Similar Topics
When I create a bar chart, the bars are horizontal. I want the chart bars to be vertical. It tried to rotate the chart so that it is vertical, but the "rotate" options are greyed out.
How do I get those bars vertical?
include/exclude one of the series to see how the chart changes, all the
colors change and we have to spend time re-identifying which series is
which, using the legend to check the colors.
Is there a way to "lock" the colors, so that the bars stay the same colors
regardless of whether other bars are included/excluded?
Thanks!
Keith
I'm really hoping someone can help me with this...
I need to plot percentages over time in a line graph in excel. I don't want to have to do a percentage equation in the spreadsheet, I just want excel to take two sets of values and display the percentage in the chart. For example, I need B1 as a percentage of B2 for week 1, C1 as a percentage of C2 for week 2, etc....
Can someone please offer a suggestion for how to do this? I would really appreciate it.
Also, would it be possible to link data from other sheets in the workbook into one single chart?
I have a worksheet that is locked and protected now, except for cells in a certain collumn. I have named the cells in that column "MS96A".
If a user enters a date in a cell or range of cells anywhere in the column, the changed cells also need to be locked and protected (Once they enter a date, it is not allowed EVER to be changed again. Corporate requirement! *Shrug*).
What I am looking for is this. If the user selects that cell again, they will get the usual pop-up message, "The cell or chart that you are trying to change is protected..."
I think I am close, but I am getting an "End If without block If" error on the If Clause.
Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim MRange As Range
Set MRange = Range("MS96A")
' If Not Intersect(Target, MRange) Is Nothing Then For Each cell In MRange Sheets("Sheet1").Unprotect Password:="temp"
cell.Interior.ColorIndex = 3
cell.Font.Color = vbBlack
Selection.Locked = True
Selection.FormulaHidden = False
Next cell
ActiveSheet.Protect Password:="temp", _
DrawingObjects:=False, _
Contents:=True, _
Scenarios:=False
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
Is there a way to have the Min and Max values adjusted dynamically for the Scale of the values being displayed ??
I know that I can use named ranges to display various sections of data -- month by month, or quarter by quarter, for example.
But when the value of these ranges vary greatly from section to section I end of having to manually go and adjust the Min and Max values of the chart scale.
For example, if I was looking at a graph of the S&P 500's prices last November, a Min and Max range of 750 to 1200 would be fine. But if I had a dynamic range established and scrolled over to view the S&P 500's prices for this past February, I would need a Min and Max range of around 650 to 850.
Is there a way to have these Min & Max values adjust automatically depending on the values being displayed ??
Thanks
StanSz
Firstly i haven't used excel to a great extent since my college days. So i'm having to re-learn 99.9% of everything i once new...
I am volunteering for a non profit organization and trying to create a reservation system for the rooms that they have - kind of like hotel software, but in excel (i did a similiar thing in college but for plane seats)
Please find it attached.
What i need it to do:
Copy all of the info from the main page to the guest lit (a new row each time).
From the guest list to the Gannt chart - i did a few tutorials on dynamic gantt charts using conditional formatting but cannot get them to work when based on data on a different worksheet.
Finaly is there a way to check for availabilty on any given date?
if just someone could point me in the right direction, i would be appreciate it so much words can't express!!!
Best Regards,
Jamie
P.S for the calender drop down on the main page, i'm using 'microsoft time & date picker 6.0)
http://www.2shared.com/file/6521961/...ibsV05b32.html - pop ups on this site
http://www.easy-share.com/1906519167/RibsV0.5b3.2.xlsm - same file, better website
Code:
Range("Activecell.End(xlDown)", "Active.End(xlToRight)").Select
This is definately a problem of not knowing the right jargon to do so.
Could someone please assist?
Thanks in advance!
final
Then Paste My answer in "AM1"
This is what I have so far and for some reason is not working.
Code:
myRange = ActiveSheet.Range("H2", Range("H2").End(xlDown)) Range("AM1") = WorksheetFunction.Sum(myRange)
Any Ideas?
I have set up a workbook that is sent out to lots of different users. They each keep and use their own copy.
I have set it up so that everything looks OK and is visible on MY screen, but I'm conscious that some users may have different screen sizes, different toolbars set up, and so on, which might make some parts not immediately visible to them.
I have set up an auto-execute macro which automatically sets the zoom factor to best fit, for several of the worksheets, and this works fine.
Here's the code that does it.
Code:
Sheets("WELCOME").Select Range("A1:N18").Select ActiveWindow.Zoom = True
By repeating this code for each worksheet, I can make each one be zoomed just right.
However, the file contains 8 sheets that are all identically laid out, except the number of rows is different.
What I want to do is go to the worksheet that has the largest number of rows (it's always the same worksheet, so I know which one it is), set the zoom factor for THAT worksheet (which I can do, and it always has the same number of rows), and then take THAT zoom factor, whatever it is - and it will vary depending on the user - and apply that to the other worksheets that have a similar layout.
I could just go through each worksheet and zoom it automatically, but that would mean that some of the sheets looked very large, others very small, and I'd like them to have a consistent appearance.
I could also specify a range on each worksheet that was similar to the appropriate range on the longest worksheet, and zoom that automatically, but that's not ideal either, because some of the row heights vary from sheet to sheet, and again I'll end up with different font sizes.
Anyone know how to do this ?
I am copying charts to display the same information for different regions. When I work on the copied region, I find it a cumbersome task to go through each charts source data and change the cell references to the different region. Essentially I am doing a trending analysis for each region, with a region having its own sheet with 5 charts per sheet. What I have done is copy the original sheet and am updating the sheet for another regions source data by going to the source data. The source data is all in the same row/column format, but each regions source data has its own sheet. Is there a more automatic way to do this? Perhaps a way to update all 5 charts references at the same time.
I am using below code to Select the Visible rows in the target range:
Code:
Range("A:p").SpecialCells(xlCellTypeVisible).Select
Problems in this code a
1) after applying the filter, while selecting the data it is selecting all the rows in given range till last row on the workbook. I need this to select the the data only till the last used row in the given range.
2) It is not possible to provide the address of the first row after we apply the filter since the first row address may change depending on the values in the table.
E.g. 1st time when I am running the macro the first row in the visible filtered data is starting at Cell address A4 and next time when I will run the macro it may be A6
3) The Code is also selecting the 1st row which is a header row. How can we exclude it from selection.
Some one please revert with the solution.
Thanks in advance.
my text entries are rather lengthy. The past two weeks these lengthy entries
are showing up as pound signs (#########) when I click off the cell. I know
the text will fit in the cell, and the problem isn't solved by making the
cell bigger or using a little bit less text. I have the cells formatted as
"text" and "wrap to fit". I have printed the pages and the printed version
also has pound signs. I just want my text to show up!
I have the following code to put data from a VBA userform into Excel
Dim Sh As Worksheet
Dim Rng As Range
Set Sh = ActiveSheet
Set Rng = Sh.Range("A65536").End(xlUp).Offset(1, 0)
With Rng
.Cells(1, 1) = Surname.Text
.Cells(1, 2) = forename.Text
.Cells(1, 3) = datein.Text
.Cells(1, 4) = origin.Text
.Cells(1, 5) = Addressee.Value
.Cells(1, 6) = usual.Value
.Cells(1, 7) = dateto.Text
.Cells(1, 8) = permission.Value
.Cells(1, 9) = dateseen.Text
.Cells(1, 10) = requestview.Value
.Cells(1, 11) = Invoice.Value
.Cells(1, 12) = notes.Text
.Cells(1, 13) = datecompleted.Text
.Cells(1, 14) = holdsend.Value
.Cells(1, 15) = fee.Text
.Cells(1, 16) = notes2.Text
.Cells(1, 17) = dateseen.Text
.Cells(1, 18) = invoicesent.Text
.Cells(1, 19) = Paid.Text
.Cells(1, 20) = Complete.Value
End With
What I want to do next is click on the surname on the speadsheet and call up the userform with the fields complete for that person. I would also like to be able to edit/update the form and update the information on the speadsheet accordingly.
Any help would be greatly appreciated!
Many thanks!
Until now I have been able to find all my answers through searches. As a VBA novice, it has been very helpful. I am stumped on this one, however. I am trying to autofill from the selected cell in Column C down. I would like it to stop at the last cell with data in Column B. This is the code I have so far:
Range("C2").Select
Selection.AutoFill Destination:=Range(Selection, Selection.End(xlDown))
This does the autofill, but doesn't stop at the last cell with data in Column B.
In the past I have use this code to acheive similar results:
Dim endRow As Long
endRow = Cells(Rows.Count, "B").End(xlUp).Row
Range("C2").AutoFill Destination:=Range("C2:C" & endRow)
The problem with this code is that I will not always be starting in "C2". I need code that uses whatever the selected cell is.
All help is appreciated. Thanks!
This is a very basic question, but i have been struggling for hours, so I must ask.
I I trying to simply fill a combobox on a userform from a named range on a sheet, I want to populate the combobox as soon as the userform starts. (I launch the userform from a button on the sheet) Where must I place the code? and will this code work?
Code:
Sub Button1_Click() Set UserForm1.combobox1.List = Sheets("Sheet1").Range("MyRange") UserForm1.Show End Sub
I am very new to vba, so please excuse my ignorance,
any help would be greatly appreciated
regards
jim
Sheet 1 is the master sheet "Team Stats". There will be an undetermined number of individual worksheets to accomodate new staff.
Each worksheet will be identical, using columns A-I with row 1 having the headings:
Date, Name, Reference, Value, Price, Age, Purchased?, Destination, Add. Products (the last 3 columns will have a drop-down list which will be used to enter data into the cell).
There will be a varying number of rows in each of the individual sheets.
If possible I would like the macro to run every time data is entered into one of the individual worksheets. If this is not then it would be fien to update every time the workbook is opened.
If anyone can help it would really cut down the time I spend collating these stats every day!
I have the below code which deletes all items from a listbox and my excel sheet which is the source for populating that listbox. I am using a option button style for my listbox and the selection style as single .i.e. you can select only one item at one go in the lisbox. I want my macro to delete the selected item from my worksheet .i.e. it's entire row so that it doesn't reflect in my lisbox any more. Below is my code :
Code:
Private Sub CommandButton2_Click() 'REMOVE SELECTION Dim I As Long With ListBox1 For I = .ListCount - 1 To 0 Step -1 If .Selected(I) Then .RemoveItem I Sheets("URL List").Rows(I + 2).EntireRow.Delete End If Next I End With End Sub
Thanks a lot for your help in advance.
... If the time 04:16 falls in the time range 04:00 - 04:29, than put a one (1) in the filed x...
... If the time 04:16 doesn't fall in the time range 04:00 - 04:29, than leave the x fiel empty
Any help is appreciated.