Macro To Refine A Set Of Values
Sep 24, 2009Hey guys i have the following problem. This is what i have:
View 6 RepliesHey guys i have the following problem. This is what i have:
View 6 Repliesto make the user experience better by inserting the " Stock Search" sheet to speed up the process. The spreadsheet attached is a simplified version of the current version, where it would normally have many many more sites, areas and models of cars. The existing process means the user has to trawl through the sheet where they are only interested in what sites in their area has stock. I can not change the format of the "Red" and "Yellow" sheets so hoping to insert another sheet to do the work.
I am hoping to have on the "Stock Search" sheet a few drop down boxes.
The user will select
1. Area
2. Type of Colour (the type of colour selected should link with the sheet name in effect, so only stock within the "Red" sheet will be shown if the "Red" colour is selected from the drop down box)
3. Model of Car
This will then give the resulting Store/Stores with stock (value 1 or above) with those conditions met which is showing in the relevant sheet
So as per the attached sheet, if a user selected Area "South West", "Red", "Renault Megane"
then SO10 Clifton 1 and SO15 Yeovil 3 would be shown in a list.
I am using this macro to ensure that a range of cells appear in Proper Case. However I am encountering a drawback, sometimes I have text which I want in Upper Case but which is changed into Proper Case. I was wondering if there was a way to work around this. Example: Practical W/W appears as W/w or Woodturing (GMC) appears as Woodtrunign(gmc)
Private Sub Worksheet_Change(ByVal Target As Range)
''''''''''''''''''''''''''''''''''''''''''''
'Forces text to Proper case for the range A15:A40
''''''''''''''''''''''''''''''''''''''''''''
If Target.Cells.Count > 1 Or Target.HasFormula Then Exit Sub
On Error Resume Next
If Not Intersect(Target, Range("A15:A40")) Is Nothing Then
Application.EnableEvents = False
Target = StrConv(Target, vbProperCase)
Application.EnableEvents = True
End If
On Error Goto 0
End Sub
I have a string containing the addresses of a range of rows.
an possible example: "7:62,63:168,169:270,310:318,319:345,346:350,351:355,360:366"
i would like a sub/ function that will somehow be able to combine/reduce this down to:
"7:270, 310:355,360:366"
would anyone have any good ideas as to how this can be achieved?
Attached is a file which shows the problem. I bascially have two headings. The first heading contains the letter "b" 9 times but only has values against two "b"s. When this is entered in a pivot table and the value is drilled down (in this case 3, highlighted in yellow), I only want the numbers attached to the two "b"s to be shown rather than all the 9 b's (thereby omitted all the zeros).
View 3 Replies View RelatedI need a Macro (not formula) which compares the comma separated values present in Column "I" with individual values present in Column "D" and generate the count of unique values in Column "J".
The sample sheet has been attached for reference.
Hi, I'm very new to writing Excel Macro's and wanted to know if I could do the following. Conceptually, I understand what I need done and think it should be fairly straightforward.
There's 2 main events in this loop (I hope that's the correct terminology):
Input 1) User defines the beginning cell to start the loop. In this case, A2.
Input 2) User defines the range of columns/rows to display. The formula for rows that I've thought of is 4r. So if a user wants 20 rows below cells A2, they simply input 5 for r. The number of columns is a constant 5. So if r=5, then I'd want the range to be A2:E22......
I have data that looks like this:
day# id amount
1 56575 0
1 56675 0
1 56680 0
1 56683 0
1 56681 0
1 51810 0..............
How do you write an excel macro that looks at the number in the first column (day #) and finds all the duplicate id#s in the second column that are in day 1and adds the amounts together in the 3rd column then writes the first column number (day#), second column number(id#) and the third column (sum of the amounts of duplicate Id#) to an new worksheet. Then the macro would loop through day #2 and do the same thing. Notice that the values in the id column are unique in this data set below this is how I would like the data to look. I have accomplished this in a pivot table but my problem is I need a cvs file to export the final data into an external database which is why I need a macro.....
on a sheet i have 2 column with values.
For e.g
DevID DevNum
123 s123
123 s234
987 sabc
987 sabc
Is there a way where i can compare the values in DevNum with the same DevID
to see if theres any duplicated values using macro?
I need a macro to get the values from cells D29 and H24 in the Resource Calculator sheet and populate it into cells N8 and O8 in the Input form.
Users will then be able to change the information in the calculator and click the macro again to populate N9 and O9 and so on.
Is there a way to do this?
I've attached the file for you to see.
Put in a statement within a Macro that populates cells with the values that I want it to but instead of populating all at the same time, is it possible for the values to be delayed.
I have designed a mock spreadsheet (attached) it has two columns 'Before' and 'After'
After = Before values (in this mock)
When you press the button, the values are populated straight into the 'After column' can we add the delay between the values? So that the values dont come up straight away.
I have attached sample sheet.
I need to populate the Rep Names looking up 3 Criteria (Client Id,Curr Cov Id,Dom Buy Grp Id) from the Table 1, either one matches the Rep Names has to populate.
The data has to be pasted on WIP_Sheet in different columns.
I have a code that clears the content of a cell if the value of that cell exceeds two.
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 1).Value > 2 Then Cells(1, 1).ClearContents
End Sub
My problem is the value of this cell comes from a function and changes every second automatically (linked to a data feed). So I'm not changing it manually, therefore my code is not working unless I touch it. I just wanted to ask if I can add a code onto this which checks the values and runs the ClearContents macro if there is any change.. I've got a few sheets like this so I need this to run in the background..
The macro below will copy another tab and rename it based on the formula results in a a range, and this works perfectly. However, I also want it to take that value that was used to rename the sheet and paste(value) into the corresponding sheet in the range B8:M8. The code that I have so far is below, but I'm not sure how to tackle this second part.
Code:
Sub CopyTemplate()
'
' CopyTemplate Macro
'
Dim rcell As Range
Dim Sheet1 As Worksheet
Set sheet1 = ActiveSheet
[Code]...
I have been using the following code but need help in editing it.
Sub PasteValues()
Dim cl As Range
ColRef = InputBox("Insert Column Range - Paste Formulas to Values")
For Each cl In Range(ColRef & "1:" & ColRef & Range(ColRef & "5000").End(xlUp).Row)
cl = cl.Value
Next cl
End Sub
I want it to do the same thing by pasting values throughout a column, but I need it to skip cells if column A is empty.
I have attempted to edit the code by implementing previous code written for the opposite situation where a formula is pasted only if data exists in A, but was unable to get it to work. Here is that code.
Sub CentralDivision()
Dim ws As Worksheet
Dim strCol As String
Dim Cell As Range, Rng As Range
Application.ScreenUpdating = False
Set ws = Worksheets("CENTRAL DIVISION-2007")
strCol = InputBox("Entrer the column you want the formula in please.", "ENTER THE COLUMN", "Your Column Here")................
I need a macro that will sum the values in column P from P8:?
The trick is that my # of rows will vary. I have the macro ending in the right spot.
So, if I have 90 rows of data my macro ends in P91. Now I need to be able to have it sum P8:P90. Like wise if I have 300 rows of data my active cell will be P301. I need P8:P300 summed.
I have a lot of spreadsheets where the vales are sorted in the same way and I would like to have a macro for copying the values. But, I don't know how to made it. I am not familiar with VBA and commands for excel. I found on the Internet some macros and try to make my own one, but it was not so successful.
What I want to do? Blue values are state before running the macro and green values are state after running the macro. I don’t have just 20 values. It is around 1000 values, so 1000 values to 100 columns. And only the numbers should be copied.
ABCD1
1112
2123
3134
4145
5156
6167
7178
8189
91910
1020........
What I want is a macro that will give me the total of unique values within a given column. I would like the macro to give the total either at the end of the column or with a popup displaying the total.
Suppose in Column F
1
2
3
1
2
3
1
2
3
----
The macro would place 3 at the end of the column as the total of unique values or have a pop up that says 3.
I have two columns in my spreadsheet:
Test1 Passed
Test1 Passed
Test1 Failed
Test2 Passed
Test2 Passed
Test2 Passed
I need a macro to find all of the same values in column 1 and then look to see if column 2 all of the values are Passed and if they aren't make a new column with the value that isn't passed so after the macro of formula is run you'll have:
Test Status Overall
Test1 Passed Failed
Test1 Passed Failed
Test1 Failed Failed
Test2 Passed Passed
Test2 Passed Passed
Test2 Passed Passed
I have been supplied a spreadsheet (see attached example sheet) which contains data on a project I am working with. Essentially the guy who has supplied me the data has been lazy and only provided values once within the sheet which makes filtering extremely difficult. I have made the cells on the sheet A3:F23 in the format I ideally require. Cell A26 onwards is the format in which the data is currently supplied to me.
Column A (Box No) should roll down the same value until the value changes, where a blank row should be left as already exists and the same process of roll the value down until it changes, leave the blank line and then roll down the next value. This should continue until the data ceases at the end of the sheet - I have made the example sheet short but there are tens of thousands of box numbers. Columns B (Box Type) and C (No of Bundles) should also remain constant where Box No remains the same and should be rolled down until the value of column A (Box No) changes.
Finally column D (Bundle No) should be rolled down independently of A,B,C and needs to change whenever a new value appears within the sequence for column D. Again when this changes the blank row should be left and then the new value rolled down until it changes again. I have tried in vain to try and create a macro within Excel to do this but have failed miserably.
The Macro below will not combine numeric values Just Text. I get a Type Mismatch Error When I open It. I need for this macro to run with Numeric Values 1,2,3,etc.
View 2 Replies View Related[Code]......
Whenever I make graph with this code it takes column A values and makes a line of it on graph...What i want is that it should be always on X-axis as reference and not a line on the graph.
I have multiple sheets and a summary sheet in the beginning. and i need to populate the min value / max value and the avg value for every sheet into the summary sheet.
Example i have a column of numbers in column G and i need the min , max and round(avg) for all sheets in the first summary sheet.
I have the following macro which works fine accept for the fact that it copies the formulas from other worksheets, where as i only want to copy the values.
View 3 Replies View RelatedI'll admit I know very little about creating a macro in Excel so I hope someone can help me out with creating what I consider a fairly simple macro to adjust values in a column or columns.
What I am using this worksheet for is a merchandise database that contains 3 columns of pricing values, ie. Column headers Small, Medium, Large.
The columns are approximately 2000 rows deep.
I need to change the pricing values in all 3 of these columns by a specific amount. However there are some values in the "Large" column that will not be adjusted. Those values not adjusted will be based on the contents of another cell in the same row that would only contain the data "OT,JB" or only "JB".
I've considered using find/replace but think it would be very inefficient.
Right now I am looking to lower the price values by 2 dollars. All values are numerical and formatted as Number/General. ie, 11.95, 7.95
I've considered creating another column or linked worksheet and forumla-ize it and then copy/paste my value results back, but I am hoping for something less cumbersome, something that is expandable as the worksheet grows, etc. I think a macro, but I do not have any idea what to do or how to get started.
I have a data contains many numbers but i need to extract Zero values form this.Deleting one after other is taking lot time.
For ex:000081243
824534412
014755611
001445786
000799445
If someone could help me in creating an Macro would be great.
I have some values in Range F2, F26 ,F48 and so on.
I need to transfer these values using a macro to
C8776
C8777
C8778 and so on.
Since there are a lot values , I would like to have a macro for this operation;
I would like a macro to look through a sheet.
1. Unhide all Rows
2. Check through all cells in Row, If all cell values in row is either 0 or Empty then hide this row.
pick a column to test in, this column should be one that will have #N/A error displayed in it and that 'goes as far down the sheet as you need to examine for the #N/A conditions although not all entries have to be #N/A just something in them to the end Using column E for this example as E was where I put a VLOOKUP() formula to test/generate #N/A errors. Const testColumn = "E" change as required
'no other changes to make
Sub DeleteNARows()
Dim naRowList As String
Dim anyRange As Range
Dim anyCellEntry As Range
Set anyRange = ActiveSheet.Range(testColumn & "1:" & _
ActiveSheet.Range(testColumn & _
Rows.Count).End(xlUp).Address)
For Each anyCellEntry In anyRange
If anyCellEntry.Text = "#N/A" Then
naRowList = naRowList & anyCellEntry.Row & _....................
I'll try my best to explain what I'm trying to do here using Excel macro (i've very limited knoledge in VBA ). I am working on a project where I'm using an actuator to measure micro-switches. The values are then extracted using HyperTerminal via RS232 and transferred to Excel to filter the values and display only the ones that are important.
Here is what I'd like to do via a Macro:
Compare cells in column A (e.g A1 and A2, A2 and A3, A3 and A4 etc.)
Example:
A
0
300
550
1200
1700
1900
2200
2000
1850
[Code]....
So first, if the values increase, do nothing and keep comparing other values. If we find the values decrease, display the larger value between the two, in this case it's the value 2200 that we want to display.
Next, the values will be decreasing progressively. We'll do the comparison between 2 values but this time if the values decrease, do nothing until we find a value increases. Display then the smaller value between the 2, here it's 1500.!