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 Next
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)?
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:
Sub MoveRed() Application. ScreenUpdating = True Dim d As Integer Dim i As Integer
d = Range("AZ1").Value
With ActiveSheet.Shapes("RedDot") For i = 1 To 16 * d
Select Case Range("A1").Value '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
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 require a macro to enable a selected shape to be moved from current cell location to relative position but 1 row up. eg topleft address = A4 and shift shape to topleft address = A3
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.
macro that will parse data that has been pasted in to Excel from a text document. Once the macro is executed the pasted data will be sent to a separate spreadsheet and parsed horizontally with the data residing in is respective cell.
Here is an example of my data from text: FIRST: Frank MIDDLE: N. LAST: Stien ADDRESS: APT14 STREET: Halloween ZIP CODE: 123456 CITY: Scaryville STATE: Scary Ya COUNTRY: Transilvania COMMENT: N/A
Here is an example of my desired results: A2:Frank, B2:N, C2:Stien, D2:APT14, E2:Halloween, F2:123456, G2:Scaryville, H2:ScaryYa, I2: Transilvania, J2:N/A
The data is always pasted in A2 on the first sheet, and varies somewhat in length but the format is always the same.
I am having trouble figuring out how to paste an Excel Worksheet into Outlook. I am using '07 versions for both. I currently have code that when a button is selected, Outlook opens and has form text that I have entered. I just cant figure out how to get the worksheet pasted into the body of the email after this text. Here is what I have:
I am starting a data sheet that I will be pasting from the internet into my data sheet daily, the problem I have is that the content data is pasting with blank rows between data and also there is one piece of data that is situated on the row below which i need moving to the end of the main data row, the idea is to have single data rows with no blank rows.
I have attached an example sheet showing the layout it repeats with only the amount of data that changes.
I have colored the data as follows:
Grey= Blank Rows Yellow= Data Move to end of main row Green= Unwanted Data
This has a macro assigned that copies the data and pastes it into another worksheet at the next available row.
Now this works fine, but I want to be able to identify if the data already exists in the other worksheet then prevent it from being pasted and give an error message that the person already exists in the database.
If I use the code below to retrieve a recordset from SQL Server and the drop it into the activeworkbook, using CopyFromRecordset and a sheet where I have just deleted all the columns - thus leaving a default sheet (I think)....everything works fine
'Drop in field name and data counter = 1 For Each fld In SQLRS.Fields Sheet1.Cells(1, counter) = fld.Name counter = counter + 1 Next
Sheet1.Range("A2").CopyFromRecordset SQLRS
However, if I change it to paste into a brand new work book as in the code below....all the dates are pasted in as Integers...
'Create new book and sheet Set NewBook = Application.Workbooks.Add Set NewSheet = NewBook.Worksheets.Add NewSheet.Name = "Sanofi Renewals"
I've used this same process previously and not had any problems what so ever when dates where pasted....
I have rxd a pdf file that I need to manipulate I have copied the data into excel and now need it in individual cells:? The data looks like this: 02392950067 19/12/2008 14:33:35 02392950053 Portsmouth 1.9 £0.03. this is:
phone number calling | date called | time called | number called | duration in minutes | cost of call. If you're out there I'd be more than happy to hear from you. the cells to cut the data into will be formatted to take the data in the correct form. 02392950067 19/12/2008 14:33:35 02392950053 Portsmouth 1.9 £0.03 phone number calling | date called | time called | number called | duration in minutes | cost of call.
Whenever I copy and paste dates from the internet I can't get Excel to recognize the info as dates, thus making it impossible to sort by date. It doesn't matter which site I use, I have the problem with all of them.
[URL]
Using any of the links above, how I can paste those dates and get Excel to sort the date?
I have a thoroughly outdated system to keep a log of call centre stats. In order to facilitate a marginally easier workflow, I have rearranged a few things so that a user simply has to copy and paste data from reports into the worksheet.
The worksheet is set up with all the number formats like time and percentage which are extremely important in totaling and averaging hours and availabilities, however the pasted data doesn't match the destination format and it therefore affects the total.
I have tried many different special pasting options to no avail.
The only way i seem to be able to do it is to go into each line and retype my percentages (as 100 becomes 10000% ) and click the tick next to the formula bar so 00:00:16 is calculated as a quantity of time instead of text. With 30 people and 15 stats each day that exercise becomes a little bit tedious and counterproductive.
I have this code going for a sheet i've been working on, but thers only one thing I can't figure out how to do.
I want it to take the text that was entered in the "Grid Date" input box and stick it in the bottom 10 cells (plus one space). IE - if A14 is the last used cell, paste it into A16 through A26.
I have a powerpoint presentation which has a bunch of Excel charts embedded as Microsoft Office Graphic Objects, but I don't have access to the source data (plus the links are broken).
how to get the underlying data. I vaguely recall once doing this with some vba that I had found somewhere the net, but I don't have the code anymore.
I have some code that works within Excel however:
Code: Sub GetChartValues() ' this macro will recover the data from a disconnected Microsoft Graphic Object (such as we used to paste ' into PowerPoint). You will need to insert a Worksheet entitled "ChartData" to store the values. Dim NumberOfRows As Integer
The following code inserts the text "ep" into col. F when an entry (formatted text colour green) is made in the corresponding row of col. B:
VB:
Private Sub Worksheet_Change(ByVal target As Range) ' Insert "ep" in Type column and set font colour If target.Column = 2 And target.Font.ColorIndex = 10 Then With Cells(target.Row, "E") .Value = "ep"
[Code]...
However, more often than not new entries are made by pasting from another sheet, and usually more than one row. How can the code be modified to count the number of rows in the pasted selection and place "ep" in each corresponding row of col. F (instead of just the top row)?
I've been trying Selection.Rows.Count but keep getting the dreaded error message, "Object doesn't support this property or method".
I have to enter patient's SSN's into my database. The fastest and most error free way to do this is simply copy the SSN from the electronic chart and paste into the appropriate cell in the database. I don't want duplicates. So, I need the database to alert me when I paste in a duplicate SSN. I know you can set data validation to do prohibit duplicates by using a formula. In the attached spreadsheet the SSN is in column B, so:
i have put a small extract from list of 50000 values. I have Figures which are pasted as values on top and on A column but they do not agree unless i F2+enter on each figure on Column A that would mean 50000+ enteries.. i have tried copying column A and row 1 and pasting it as value but still no change. Row 1 header figures are typed manually.
I have generated a matrix in excel through iteration (I'm trying to calculate a dinamic covariance matrix between 50 values) which looks like this:.......
A 50x50 matrix. What I have generated in each cell is not the formula, but the text of the formula. Somehow Excel has a valid formula in a specific cell, but "doesn't know yet" that within the cell there is no longer a text. So, to make every formula run, I have to go cell by cell pressing F2, then enter, 2.500 times. Notice that in each formula I don't have something like this:
+"+COVAR(Rends!C4:AB4;Rends!C4:AB4)" or '+COVAR(Rends!C4:AB4;Rends!C4:AB4)
but the valid formula: +COVAR(Rends!C4:AB4;Rends!C4:AB4)
I have a set of 50 or so large worksheets that need updating each month. My problem is the figures I need to update these sheets with are formatted differently (different alignment of blank rows) to the destination.
I'll try to illustrate, this is the sheet I need to add data to on a monthly basis... (you'll need to imagine the numbers in column form as I'm no HTML expert)
May June July 23 34 45 65 34 45 34 23 23
[Code] .......
The blank rows need to remain uniform. When I need to paste in August's data the blank rows in the raw data extract are aligned differently and it's a laborious job deleting and inserting cells to get them to align (the sheet has hundreds of rows).
I'm capable enough of recording a macro to replicate the delting/inserting of cells BUT of the 50 or so sheets I need to update there's no uniformity of where the blank rows occur. To further exacerbate, there's no uniformity over where the blank rows occur in the data that needs to be pasted in, either. The blank rows already in the worksheets HAVE to remain and can't be deleted or altered.
Using 2010 - When I paste a chart I can initially retain the format of chart bar colours (Paste Special - source formatting). But when I select a new data source for the chart the formatting of the colours is not retained.
I'm currently using some pretty extensive conditional formatting macros on a worksheet (this functionality is working fine when data is directly entered into the sheet). But when i paste data from another worksheet into my "formatted" sheet, the formatting does not take affect. is there any way to "refresh" a macro?
Below is code I have attempted. I am learning VBA and have gathered this code from the internet and this forum. I have data that is in columns B to E and from row 7 down. I want this VBA code to run when data is copied/pasted in these cells. Where the last values stop will vary so I just want to be sure this code is executed after all the data is pasted in these cells. The data will be pasted at one time. When the user removes the data from these cells, I do not want the code to run.
Private Sub Worksheet_Change(ByVal Target As Range) 'Do nothing if less than four cells are changed or content deleted If Target.Cells.Count < 4 Or IsEmpty(Target) Then Exit Sub
The macro firstly formats the data that is pasted into it from an access database, then it does some calculations to determine when 10 working days from a specific date is, and when 20 working days from the date is (these go in new columns at the end of the data). The macro will also add new columns which say "Not resolved" if there is no date in the Resolution column, "Yes" in the "10 working days met?" column if the condition is met and the same for 20 workings days in a different column. As the colouring etc takes a long time I really wanted to add as conditional formatting to the macro!
how to attach a spreadsheet here then I can show you what the outcome we want is. A point to note is that there is not a set number of rows each time we do this, and I don't just want 1 cell to be coloured - I want to specify which cells in the row are coloured depending on the results in another cell on that row.