VBA - Adding Named Shape To Sheet
Jun 25, 2012With VBA I need to add a rectangle to a sheet and have the shape named. They usually start out as "Rectangle 1", but I would like to set the name with the code.
View 9 RepliesWith VBA I need to add a rectangle to a sheet and have the shape named. They usually start out as "Rectangle 1", but I would like to set the name with the code.
View 9 RepliesI am currently working on an excel file in which we track progress through the use of an autoshape line. Everytime the progress needs to be changed the line must manually be resized. I am using buttons with macros and trying to add a certain length to the line. So far I have been using the following
Sub line()
ActiveSheet.Shapes("AutoShape 80").Select
Selection.ShapeRange.IncrementLeft 28.5
End Sub
This code resizes the line by adding a percentage of the line length to the line. I want to be able to add the same length everytime.
I need to add a colored rectangle or box to a page footer in 2010 Excel.
View 2 Replies View RelatedSo I created a list
A
B
C
D
and named it "Alphabet"
but now I have E and F and would like to make the list
A
B
C
D
E
F
and name it "Alphabet" again
however, when I select it all and make it Alphabet, it selects A to D automatically
is there any way I could make A - F named Alphabet?
I have 2 columns named "ASC" and "AE" which have total calculations of stores inventory data. To the right of the "ASC" and "AE" columns are store columns with (C1="store#"), (C2="state"), (C3="name"), and (C4:C14="inventory count") totals.
If at anytime a stores "name"="AE", I want the "inventory count" for that store to calculate within the the "AE" column.
Anytime a stores "name"="anything except AE", I want the "inventory count" for that store to calculate within the the "ASC" column.
A1:A3= "ASC"
A4 through A14= Inventory Total
B1:B3= "AE"
B4 through B14= Inventory Total
C1= Store#
C2= State
C3= Name
C4 through C14= Inventory count
D1= Store#
D2= State...
I have a named range on a hidden sheet which populates data validation lists on 'sheet 1, cells b5-b55. My question is this...Is it possible to, upon entering a new item in b5 (for example), to have that item automatically added to the named range? (preferably through a button on a pop up form that opens w/ the question 'would you like to add to the list?, similar to an access form)...I've seen one example in the past which I found with a link from this site, but couldn't make it work. If the answer to my question is yes, could you also suggest a location of an example if you know of one?
View 14 Replies View RelatedI keep losing my named ranges when attempting to reopen a particular file I am working on. I get the "excel found unreadable content....." error message and then when it corrects, the range names are all gone. is it efficient to create the named ranges at open? Otherwise how should it be done so that my workbook will definitely have these names each time its used?
View 3 Replies View Relatedwhen i run the below code i get an error 438 'object doesnt support this property or method'
View 2 Replies View RelatedI have found that this only works on the sheet being viewed, how can I make it work on a different sheet than the one that I am on?
Option Explicit
Private Sub Worksheet_Calculate()
If Range("C1").Value = "5" Then
ActiveSheet.Shapes("rectangle 1").Visible = True
Else
ActiveSheet.Shapes("rectangle 1").Visible = False
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
I'm trying to make a macro in Excel 2003 to create x amount of named worksheets that are a copy of a different worksheet.
1. I have a main worksheet that will have a number manually entered into a cell (lets say A1);
2. I have a 'template' worksheet;
3. I'll assign the macro to a button on the main worksheet
If I enter '10' into cell A1 of the main worksheet, I'd like to click the button and have Excel create 10 copies of the template worksheet. These new worksheets should all share the same name with a number after them (ex: banana 1, banana 2..... banana 10).
Is there any way (in vba code) to unhide the sheet of a given named range?
If would come before the following line of code whee CurReference is already defined
Application.Goto Reference:=CurReference
How do i change the below code to not reference a named sheet but the active sheet.
In case you need it i'm trying to sort columns A:CQ on row 2 smallest to largest from left to right.
Code:
Sub Sort_Left_Right()
' Sort_Left_Right Macro
Columns("A:CQ").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:CQ2") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
[Code ..........
In a sheet (4) I have a pivot refreshed by a VBA macro code. Since I have defined a Chart on this pivot, I need to copy this pivot in a new sheet to avoid to reduce rows using a filter of the Chart. I copy this pivot using this VBA code
Sheet4.Select
Sheet4.Copy After:=Sheet2
I have e new sheet with a number Sheet(n) not equal to maximum sheet number +1
For a new run of the VBA macro I need to delete this sheet
Sheets(n).Select where (n) is not = maximum sheet number +1
ActiveWindow.SelectedSheets.Delete
Then I need to avoid the message box where I need to confirm to delete the sheet because the sheet is not empty.
Is there a solution to copy a pivot in a new sheet replacing the previous pivot and vithout changing the number of the sheet?
On the attached spreadsheet there is two irregular shapes. "Area1" & "Area2". I need to be able to determine which area the "ball" shape is located in. If the ball is in Area1 then "Multiply 8" gets the ball and "Multiply 9" moves to the blue cell "AH39". If the ball is in "AreaB" Multiply 9 gets the ball and "Multiply 8" runs to cell "S37"
I should be able to do the moving of the shapes using all the samples, its determining which area the ball is in is the problem.
In the real spreadsheet i will probably have around 10 different Areas.
Move Two Objects - Select Case.xlsm‎
I am trying to use a named range on a different sheet in the same workbook to which the named range is on.
I have a named range on sheet2 called "Letters" and comprises of cells D20-D25 .
I am trying to call this range on Sheet1 at A1-A6 , so in A1 to A6 I simply have "=Letters" (No quote marks) , but I simply get "#VALUE!" (No Quote Marks), If I then extend the selected cell down to A25 the "Letters" will appear in A20-A25
whereas if I put the same "=Letters" in Sheet1 cell A20-A25 I will get the correct named range.
How can I get the range to show in Sheet 1 Cell A1-A6.
I want to reproduce a named range at a different location on a different sheet in the same workbook.
Sub AddSheet()
Dim strName As String
Dim oSHeet As Object
Dim intNumSheets As Integer
strName = Range("A1")
On Error Resume Next
If Sheets(strName) Is Nothing Then
Sheets.Add().Name = strName
If Sheets(strName) Is Nothing Then Goto NonValidName
Else
MsgBox "Sheet: " & strName & " already exists"
End If
On Error Goto 0.....................
However once the code has run it then deletes the content of A1, is there a way to stop it doing this as I would like the name left there.
I have a namd sheet for everyday of the year in a workbook, so jan1 jan2 jan3 etc. I have a stats page which brings together certain pertinent data from those pages, so a formula on the stats page might look like this =sum('jan1'!$m$25:$m$900). What I would like to do is to name each day - jan1 jan2 etc as a named range perhaps date1 date2 etc so that the above formula would then look like =sum(date1!$m$25:$m$900).
View 2 Replies View RelatedMy vb code currently creates a new sheet via "Sheets.add". This new sheet has the default name of "sheet1" which I rename as "tempSheet". I then populate tempSheet with data, save as a CVS file and then I remove tempSheet.
If I stay in my workbook and try to execute the code again, the default name of the sheet it now creates is "sheet2" and not "sheet1" - this is a problem becuase my code is trying to rename "sheet1" "tempSheet" and of course it cant.
I just named a range on a sheet and would like to paste that range on a different worksheet within the same workbook. I can't figure out how to refer to the range. I've tried several different variations so far. Example below:
ActiveWorkbook.ActiveSheet.Names.Add Name:="RawSectorData", RefersToR1C1:="=R6C1:R29C11"
'Add new sheet and paste data
ActiveSheet.Name = "Raw_data_Sector_Summary"
ActiveWorkbook.Sheets.Add.Name = "RawData"
Range("A1").Formula = "=RawData!(RawSectorData)"
I need a button to delete a sheet and the sheet to be deleted needs to come from a cell. For example: Active sheet is sheet 1. User selects the name "sheet 5" within cell B10 via data validation from cells E1:E9. Then the user clicks the button and that sheet is deleted. The data validation is a list of every sheet name except sheet 1. If possible, there is a sheet labeled "0" and I cant have that sheet deleted or it will screw up all my formulas if that's too difficult I can work with the data validation to keep a zero from showing up.
View 3 Replies View RelatedI am trying to get VBA to insert a new sheet and have it be renamed or just named by data that is in a certain cell. My attempt:
sheets.add.name = range("A1")
Most of the methods used for returning the sheet name are quite cumbersome. "=MID(CELL("filename",A1), FIND("]",CELL("filename",A1))+1,256)" takes up a lot of space in a larger formula.
Is it possible, please, to create a Name which returns the sheet name? For example I could write "=ThisSheet" and it would return the name of the sheet.
Of course I could resort to a UDF, but I wondered if it could be done directly in Excel.
When I try to insert the formula "=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256)" into a Name, Excel helpfully converts A1 to "'Sheet1'!A1". So "=ThisSheet" in Sheet2 returns "Sheet1".
If I make the sheet name part of the Name, as in "'Sheet1'!ThisSheet, it works OK, but has to be added for each new sheet (though it works if an old sheet is copied).
I have a named range on one sheet, and I want to show this as a reference on other sheets. I thought this would be simple, but maybe it's just not the way named ranges are used.
Attached is a sample spreadsheet. First tab shows the table defined; in practice it would be much larger. Second tab shows how I want it to appear. I see that I can do this by copying each cell reference. But what would be nice is to simply say "Put the named range block of cells right here."
I have a challenge I'm trying to surmount. I have an excel sheet in which I want to be able to select Zone codes from a drop down, click on a link "search" which takes me to a place in the document that has been named according to the Zone code i pick in the drop-down. I want to achieve this using only formulas as i'm distributing the file to a wide audience who are not versed enough with computers to know how to enable macros.
View 3 Replies View RelatedHow can i find if a named range exists in a sheet using VBA?
E.g.: I have a named range called test that houses 4 numbers in four cells. Using
Code:
Dim rtest As Range
Set rtest = Worksheets("sheet1").Range("test")
.
.
.
.
rFoundCell = _
Cells.Find(What:=rtest, After:=Range("a1"), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:= _
xlByRows, SearchDirection:=xlNext, MatchCase:=False)
Won't work. Run - time error 91 occurs.
I want a Macro to take a sheet (same named sheet) from several workbooks in one folder into a new workbook and paste each in one sheet in this new workbook. i want to rename the sheets in the new workbook based on the value in cell D2 ( i can manage that
How can i manage that by simple opening the folder or do i need to open all those workbook manually for that to be done.
is there a way to have the same named range cover a range of cells regardless of which sheet you are on? They seem to want to default to the page you are on. I want to make some VBA subroutines that will go over each sheet, and perform the same functions on each sheet. All sheets have the same format, but different data. I guess worst case scenario I can just break down and use multiple workbooks, but this seems a little less desirable. Should I be dividing this into seperate posts?
View 3 Replies View RelatedAt work I have different sheets in a workbook labeled Saturday-Friday. I have a macros set up to print other sheets in the workbook, however I only need to print the current day. Is it possible to setup a macros to print only the day of the week? I have searched and searched.
View 3 Replies View RelatedI have a dynamic named range named ’db’ in sheet1. I need to have the same range linked to sheet2 starting in cell A1.
View 3 Replies View RelatedThere is a 'Home' page with a button for each employee - clicking the button takes the user to the appropriate employee's timesheet
There is also an 'Add New Employee' button on the home page which brings up a form and allows a new employee to be added.
Each employee has only 1 worksheet (Which is created based on a blank template page)
When the 'Add New Employee' button is clicked a form pops up which ask for name, D.O.B etc. The user fills out the form and clicks ok. The template sheet is then copied, renamed to the employees name, and all relevent fields are added to the template sheet (based on the users input). A button is also generated on the home page with the employees name as a caption and when it is clicked it goes to employees timesheet.
I have almost got this working.
The only problem is this only works once, So For Example say i Add 'John' then i add 'Mary' on the home page i now have 2 buttons with 'John' and 'Mary' on them. The problem is as soon as a second employee is added (Mary), the first employees button(John) is linked to the second employee's Sheet rather than its own(Mary). and after the spreadsheet is closed the buttons dont work at all.
The link below has the spreadsheet i have made so far, you can test it out if my description doesnt make sense or you can see the code behind the 'add new employee' form:
############################################################
#### 'Add Employee' Button on Add New Employee Form ####
############################################################
Private Sub cmdadd_Click()
'check for Name
If Trim(Me.EmpName.Value) = "" Then ..............................