VBA Macro To Move Shape Around Spreadsheet
I am trying to write a set of code, part of which involves moving a shape around an excel spreadsheet in a square shape within a certain range. It is based on a random number generator. The shape moves a number of cells to the left/right/up/down depending on the random number (d) multiplied by 16. If the shape reaches a row or column border point, it will change direction but continue moving in the new direction until it has gone as far as was determined by the random number (*16). I have some code which works fine... to a point! The shape starts out, reaches a right hand border, changes direction to go up, reaches another border, changes again and goes left, but then when it comes to change dorection the 3rd time and go down, it fails. The direction of the shape is determined by a word in cell A1 - left/right/up/down:
Application. ScreenUpdating = True
Dim d As Integer
Dim i As Integer
d = Range("AZ1").Value
For i = 1 To 16 * d
Select Case Range("A1").Value
View Complete Thread with Replies
Related Forum Messages:
Move Shape Across Screen
I'm trying to write some VB to draw a line shape and then move it across the screen. I have managed to draw the line and have used the following code to move it:
Set linetest = ActiveSheet.Shapes(1)
For iCount=1 To 100
linetest.Left = linetest.Left + 1
linetest.Top = linetest.Top + 1
i) I can only actually see the line move if I run the code using the debugger and step through the loop. If I just run the code then I only see the end position of the line (note, this is not an issue with the calculation being too fast for Excel to display the line. I tried the code with a delay loop in it and it made no difference). I can get it to work by calculating the active sheet for each iteration of the loop, but this means I have no control over the speed of the movement; incidentally it moves very slowly).
ii) This seems a poor way to move the line. Is there anyway to move the start and end node of the line rather than using the left, top, width and height properties (i.e. can I get the old coordinates of the points and set them to different numbers)?
Move A Shape In A Straight Line Between 2 Cells
if I wanted to slowly move a shape (small circle) in a straight line between cells R20 & W7.
The straightest line possible is by drawing an arrow line between the 2 cells.
Is there a way to then use this arrow as a guide for moving the shape?
In other words, would it make sense for the porgram to draw a transparent line between the cells, and use that line as a "path" along which to move the shape?
I just don't know if this is worth the trouble.
Move Spreadsheet To End Of Workbook
I m moving a spreadsheet to the end of a workbook, however the amount of spreadsheets in the workbook increase each day.
Two files will be involved in this macro. 1) Headset Out Time and 2) Headset Out Time "Month". Where month is the current month.
Command Button 2 located on the file Headset Out Time will execute the macro. The macro will open Headset Out Time "Month" then move the first spreadsheet (different name on a daily basis), from Headset Out Time to the end of the workbook Headset Out Time "Month". Then it will reset the spreadsheet (this part i can handle)
Move Specific Data To Another Spreadsheet In The Same Workbook
What I want to know: Is is possible to have information from one spreadsheet move specific data to another spreadsheet in the same workbook?
for example: I have hundreds of listings of tool measurements.
Date Tool type Measurements
What I want to do is have all the different types of tools and the information from the above line seperated into other spreadsheets. I do not want to sort this information and manually move it I want a formula that will move each applicable tool into that sub sheet. I have tried to use if statements but find that it creates subsheets with the correct tool types but has the spaces in between the parts. how do I eliminate the spaces?
Assigning Macro To Shape In 2007
I posted similar yesterday. No one helped...sniff sniff (where's the crying smily)
Now verified to be occur on other machines running various versions of Office 2007...
In Excel 2007, write this simple macro and assign it to a shape:
Determine Shape Clicked For Running Macro
I have map shape in my excel sheet. each country is a shapes on its own. If i Select one of the country i want to display a pop up Box. For examle if i select Americas I need it to display another box with some data and when i deselect it it should hide the box. Tried some code over here but does not work.
If ActiveSheet.Shapes("Americas").Select = "True" Then
.Visible = True
.Visible = False
Macro Fixes Macro: Copies Tabs From The Spreadsheet
I am working on a macro that copies tabs from the spreadsheet the macro (button) is located in, creates a new book for them, and then pastes values so that no formulas still exist. The problem I am having is with named ranges. The named ranges do not reference the new sheet, but rather the old spreadsheet. This is fine because the new file is solely for presentation, however, one macro (which selects print ranges based on user selected checkboxes) tries to reference the old spreadsheet once it runs. I would like the macro that I currently have working, to also make this macro in the NEW spreadsheet so that it can still highlight the correct print area when used. The macro does not reference the name of the workbook at any point, it is purely "Range("ai10") type references so I don't understand why it is trying to open the old sheet back up.
I have a workbook with 52 worksheets.
6 are hidden, 46 are visible.
I am trying to move a worksheet to the end of the workbook and rename as the next sheet.
It works the first time I run it (it renames the worksheet to Client51, the new last worksheet) but after that it gives me a 1004 error 'cannot rename a sheet to the same name as another sheet...."
Here is the macro I am using:
Dim NewName As String
NewName = "Client" & Sheets.Count - 2
ActiveSheet.Name = NewName
Move Function In Macro
I have a piece of my macro that creates a chart on the second sheet in my workbook.
However, it tends to appear way off to the right, and then I have to readjust it every time to be where I'm working (columns A-D approx.)
Can I improve the move to specify it to place the graph in a certain
All I'm currently doing is:
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet2"
Macro To Move Columns And
I started a project where I want to export data from Access (only 2 columns but # of rows vary every day). When the data that is copied to the first tab is a week old and is a Tuesday I want to copy and paste these values in the next tab.
Macro To Move Text
I am trying to create a macro to do the following (Microsoft Excel 2002 SP3):
1 - Select the text from the active/selected cell (i.e. B1)
2 - Cut the text from B1
3 - Move to the cell directly above the active/selected cell (i.e. A1)
4 - Add a space to the end of whatever text is in A1
5 - Paste the contents that were cut from B1 after the text and space in A1
6 - Delete the row where the text was cut from (i.e. entire row B)
I have never written code for macro's before, only done recording, but just can't seem to get this sequence to work .
Macro To Move To A Column
I need a macro that I can assign to a button so that it will jump the screen to a particular cell. I want it to select the cell in a chosen column in the same row as the cursor already was. So, if I'm in M10 and I hit the AK button, it'll jump to AK10. If I'm in F54 and I hit the AK button it'll jump to AK54.
Macro To Move Row To Another Worksheet
I have a workbook with two worksheets in it. The first "TO DO" and the second "Completed". In "TO DO", I have rows of tasks starting in row 4 (row 3 is my header), going to 200. What I'd like to have happen is when I put a "C" in column C, it moves the entire row to the "Completed" worksheet, greys it out and removes it from the "TO DO" worksheet. Then if I remove the "C" from the "Completed" worksheet, it moves it back to the bottom of the list. I already have a macro to resort it based on "priority" in column E.
Find And Move VBA Macro
find and move VBA macro - funky when WhatToFind in more than one row
Making a program that will find a value input by the user, and move the row of the cell that value is found in to the top of the list.
Works perfectly if there is only one row containing the search string. If more than one row contains the search string, it moves things to odd places.
Dim FirstCell As Range
Dim NextCell As Range
Dim WhatToFind As Variant
'Window prompt allowing user to define WhatToFind
WhatToFind = Application.InputBox("What are you looking for?", "Search", , 100, 100, , , 2)
'If WhatToFind is a value and not blank, move on
If WhatToFind <> "" And Not WhatToFind = False Then
'Start with first worksheet
'Start at first cell
'Find the first cell containing WhatToFind (specified by user)
Set FirstCell = Cells.Find(What:=WhatToFind, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
'If FirstCell exists, move on
If Not FirstCell Is Nothing Then
'Ok, First Cell is set
MACRO To Move Contents To The End Of Another Column
I am just getting started and have over 1000 items in the list. I want to be able to run a macro that would take the root portion of the image link and then replace the 'imagename.jpg' with 'modelnumber.jpg'
So start with
Column 1 www.photobucket.com/a/aa/a/imagename.jpg
Column 2 LAT-NR460
and end up with
Column 1 www.photobucket.com/a/aa/a/LAT-NR460.jpg
Column 2 LAT-NR460
Column 1 could start empty or just with the root.
Macro To Move Rows And Organize
I have been trying to do this for 3 days using "Record Macro", but something always seems to be messed up. The main problem is that the worksheets are protected and the macro asks for the password.
Here is a calendar sheet that I've been working on. It contains the calendar on sheet 1(not important) and a client roster on sheet 2. The client roster gets filled quickly, and obviously gets unorganized. What I'd like to do is create a macro so that when a date is entered into column AA (when a client is discharged), that entire row is moved onto sheet 3 (Discharged). At the same time, I'd like all of the names in column A alphabetized.
I even tried to create an "Organize" button so that the users could just click it and alphabetize. The problem I ran into with that was that the users are using Office 2000, and the names get alphabetized but all of their information no longer matches up.
Macro To Find And Move A Column
I regularly receive a file with a column called ‘Project Key’ which for some unknown reason can be located anywhere in the worksheet i.e. in any column from A: to BZ and beyond.
What I would like to have is a macro that finds the column ‘Project Key’ and moves it from it’s current position and moves it directly after a column call ‘XXX’ and delete the blank column where it orginally was. There would be no need to check if the columns exceed Excels maximum as my file never gets that big
Adapting Mouse Move Macro
Is it possible to display a name on a chart that is not the X or Y value?
I've been sent this macro which displays the school name on a chart when the mouse is on the data point - its all well and good but on the graph I am working on, the X and Y value are both values and I want the school name to come up as well.
Private Sub Chart_MouseMove(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
'macro that gets chart to show user details of a point on the chart when the mouse is moved over it
Dim ElementID As Long, Arg1 As Long, Arg2 As Long
Dim myX, myY As Variant
.GetChartElement x, y, ElementID, Arg1, Arg2
If ElementID = xlSeries Then 'checks to see which part of the chart the mouse is over
Macro To Move Files Across A Network
I would like to include code to move or copy various csv files from one computer across a network to other computers.
To date the best I have come up with is a method of running a batch file that executes the action.
Call Shell("C:MoveTKRS.bat", vbNormalFocus)
I would rather a more direct code that does not require a batch file.
Move Cell Locatin In A Macro
Below is my the macro that I recorded. I want to copy and paste the same information to a new location everytime. The macro tells it to go to cell IV1, end left, then I want it to go right one cell regardles of the cell location. Here it tells it to got to ("K1"). It will do this everytime and I do not want it to go to K1, just move right one time and then paste the information.
Macro To Move Entire Column
I have Excel 2002. I need to create a formula that will move an entire row to another page within the same workbook if a cell in that row has a certain value. Example would be if A1 cell in the row has a value of 111 I need to move the entire row to another page. I could use the sort then cut function in a macro but the spread sheet I'm working with changes daily. One day there will be 10 A1 cells with 111 the next 30 cells with 111 in A1 and some days no cells with 111.
Macro To Move Values Into Columns
I'm creating a mailing list by pasting text into a spreadsheet, then spending hours cutting and pasting the company name into column c, address into column d, city into e...and so on. Then move down 5 rows and do it again.
I'm not sure where to start, I recorded several macros but none have worked.
VBA Macro To Move & Insert Rows And Average
I would like to have a VBA code to the following:Please note that the rows are dynamic and I need the results row for every customer.Currently it is totalling and displaying the results column at the botton of every customer but I need it at the start of every customer
1.When the new customer number starts the cells are shifted and moved one row.
2.Insert the results word and it displays the results thats displayed currently at the bottom,shoudl be displayed at the top where the row gets inserted in (1)
Customer Date of POD Del date Diff Percent
123456 03.02.2009 03.02.2009 0 100
05.02.2009 10.02.2009 5 0
(The result is that if all the rows are 100% ,the result row is 100% else it is 0%)
Customer Date of POD Del date Diff Percent
123456 Result 0
03.02.2009 03.02.2009 0 100
05.02.2009 10.02.2009 5 0
Macro To Move Data With Trigger Cell
I have a single workbook with five spreadsheets. My goal is to move data along a path (or work flow) from one sheet to the next by using a "trigger" pulldown menu choice.
Sheet1 = Prospects
Sheet2 = New Sale
Sheet3 = Upgrade Sale
Sheet4 = Won
Sheet5 = Lost
Sheets 1, 2, and 3 use the same data layout for column A - K.
Sheets 4 and 5 have the same A - K as above and also have columns L - R in common.
The last column in sheet 1, 2 and 3 is a pulldown menu (New, Upgrade, Won, Lost).
Data rows on each sheet start at row 7.
The goal is to use the pulldown choice to remove the data from the current sheet (ex: Prospect) and add it to the next open row in the required sheet (ex: New or Upgrade). I also need to be able to make a similar move from New/Upgrade to Won or Lost.
Macro To Move Visible Cells After Subtotaling
I'm working with a large master list of part numbers, and matching data to these numbers from a varying data table via vlookup. I have to vlookup to the actual part number, (13,000 numbers), then subtotal the data based on the "Rollup" part number. (eg: Two different old PNs have now "rolled up" into a single part number. I am pulling sales data from all of the old numbers, and subtotaling the sales to the new number.) Too much information.
Here's my issue. After subtotaling on the rollup number, I want to copy and paste ONLY the rollup numbers and associated data to a different sheet. This should be easily accomplished by going to level 2 of the subtotals page, hiding all the old PNs and their data, selecting the remaining visible cells, then "Go To", "Special", "Visible cells". Normally, you could copy only the visible cells, and paste them wherever you want. But because of the total length of the subtotaled worksheet, (nearly 25,000 rows), I get the error message, "Micrsoft Excel cannot create or use the data range reference because it is too complex."
You can overcome this by selecting smaller ranges of data, and copying and pasting a little at a time, but since the "visible rows" will vary, I can't figure a way to incorporate this into a macro. I've tried setting specific ranges in the macro, and copying and pasting fewer cell at a time, but if the range named in the macro is a hidden cell, the macro won't select any of them.
Here's an example of what I've got so far. I realize it's not the most efficient code, but I'm working with limited knowledge and ability.
Create Macro To Sort And Move Data
I have sheet 2 with a table with data in A2 thru X500, A1 thru X1 are my headers, A1 data is either Forecast or Sold, B1 data is Month, C1 is Value. I first need to Filter the data by Forecast, then by a specific month then by the value in decending order (keeping in line the data thru x which are headers I don't need to sort by). Next I need to take the 1st 10 lines by a specific month; A thru X and copy it onto a defined section on Sheet 1.
I then need to do this for the 2 more times for the 2 proceeding months. So If we start with Jan, I need the macro to do Feb and march as well.
The end result is that I have Sheet 1 with 3 sections on it each section is 10 lines and the resulting data is my top 10 forecasted deals for Jan, Feb, March. The macro must be able to do this for each month, so if June is chosen the 3 months are june, july and Aug.
Macro To Move A Cell Right Every Time It Runs
I have a spreadsheet with sales figures for a company over a few months. I want to create a macro that will insert a new month after the last month. I have got it to work for the first month but after that it will just insert 2 black cells after.
i have a named cell called Average_slales_per_month that is next to the last month all the time.
Prevent Cut/Copy/Move Macro Code
I have to issue template workbooks to people for budgeting purposes.
Within the workbooks are various numbers of worksheets pre -formatted and ready for these people to enter data.
Some of the data in the worksheets is important to them as individuals but not to me so I have a series of macros that lift the information from the worksheets and put it into a worksheet more specific to me.
Because the users are on the whole not that good with Excel I have put in easy to use look up tables and various proctections to stop them adding or deleting rows or columns as this plays havoc with my macros.
There is one thing I have "so far" been unable to do and I wondered if anyone could help.
Is there a macro that I could put somewhere in the workbook which would detect when someone tried to cut and paste and would either put up a message box or stop them doing this?
The reason being they are cutting from one row to another and this is messing up the calculations which are protected.
Is there also a way to stop them changing the name on the sheet tab in the smae way?
Macro - Move Data From A Number Of Sheets
Im trying to do a macro that will move data from a number of sheets based on a flag in column W on each sheet.
Basically if the flag in column W is "YES" then i want it to copy the whole row and append it (if thats possible?) into the sheet 'Journal'
I have attached a cut down version with only 3 sheets (one of which is the 'Journal' sheet) and only a few rows on each sheet.
Cut & Paste Macro: Move Address From Column To Row
I have an excel worksheet with contact info in columns rather than rows. For example, C1R1 is company name, C1R2 is address, C1R3 is City/St/ Zip, C1R5 is phone. I recorded a macro to cut and paste address to C2R2, C/S/Zip to C3R1 and phone to C4R1. That works but I cannot repeat it as I move down the list. Just re-runs macros over same cells all the time. How do I get it to start and run wherever I want it too? Also, how would I get it to delete the now vacant rows?
Reset A Spreadsheet With A Macro
As mentioned I want to create a button that can reset this/a spreadsheet.
I have locked all the cells and unlocked the cells with the light green background. I.e. where a user can input data.
I haven't added a password yet nor protected the sheet. (the macro needs to work when the sheet is protected.)
I am looking for a macro that can be used to reset the sheet to its original state. However, the sheet needs to be protected.
Macro Minimizing Spreadsheet At End
Using Excel 2003. I have a macro set up to copy all information from one Excel workbook to another. There is quite a bit of going back and forth between the 2 workbooks. I ended the macro by clicking in a particular cell in the origination workbook.
When I exceute the macro though it minimizes both workbooks. I have used the VB Editor to make sure that there is code such as.
Populate A Spreadsheet Using Macro
A macro which compiles a list of entries and adds or summarises the cost.
Sheet1 contains multiple entries per group and a cost in ColumnB
Sheet2 contains only one instance of the group with a summary in ColumnB
Here's an example and I hope it helps;
A1 = November , B1 = 100
A2 = November , B2 = 50
A3 = December , B3 = 75
A4 = December , B4 = 10
A5 = September , B5 = 60
After running the macro with CommandButton1
A1 = November , B1 = 150
A2 = December , B2 = 85
A3 = September, B3 = 60
Macro To Navigate Through Spreadsheet
when the user selects any cell(s), then hits the command button, I want the code to move the cell(s) selection to the far left i.e. Column "A". I've managed this is a roundabout way, but I'm trying to make a far more elegant version.
Set C = Selection
While Not C.Previous Is Nothing
Set C = C.Previous
So C is the selection made my the user, for this example they are just selecting one cell. The MsgBox proves to me the code to moving the cell selection to the left, but the While condition falls as the Previous test condition fails and bombs the macro. I cannot think of another way of doing this. Is there a method that returns X and Y co-ordinates as numbers?
Use Macro To Print Spreadsheet
Trying to summarise large (but varied # of rows depending on which project is being reported on) table for specific values. I get the size of the sheet by:
FinalRow = Cells(65536, 1).End(xlUp).Row
FinalCol = Cells(1, 255).End(xlToLeft).Column
As all the search criteria are numbers lists from out ERP System, a 'For' 'Next' loop seems to work on the Auto-filter settings, and only display the matching values. As I am only trying to get the number of occurrences, and not do anything with the data in the sheet, the 'Count' function seems to work pretty well:
'Change to " proper" dates and insert TTC columns
Columns("C:G").NumberFormat = "d/mm/yy;@"
Range("F1").FormulaR1C1 = "TTC"
Columns("F:F").NumberFormat = "0"
Range("F2").FormulaR1C1 = _
Range("F2").Resize(FinalRow - 1, 1).FillDown
Range("A1").FormulaR1C1 = "=COUNT(RC:RC)"
Range(Selection, ActiveCell.SpecialCells(xlLastCell)). AutoFilter
How can I replace the '=COUNT(A2:A500)' with '=COUNT(A2:A[FinalRow])' and only count the rows I need to? This sheet can change from between 20 rows up to 50K+. I understand that this may look messy, but have only been playing with VBA for about a month, and I shall tidy it up later.
VBA Macro To Move Data To Summary Sheet Based On ID's
I have had several intro programming classes, but not with visual basic. I've noted the problem lines with comments below. The problems are probably very easy syntax error.
Dim counter As Integer
Dim counter2 As Integer
Dim id As Double
Dim id2 As Double
Dim palletnum As Integer
ActiveSheet. Name = "Pallet Detail"
ActiveSheet.Name = "Pallet Summary"