I have a question regarding automating excel sorting in Excel 2007. Here's what I have, I have a sheet that I need to sort on a weekly basis as the data is always being updated. Here is what i am basically doing with sheet and I am using a MACRO RECORDER to automate it.
1) I select column2 ~ column 7 (B:G)
2) I sort with the following order.
- column 3 (column C) ascending order, then
- column 4 (column d) ascending order, then
- column 6 (column f) ascending order, then
- column 2 (column b) DESCENDING order.
everything from this point on, it's repeatitive. I select..............
I have a worksheet that contains multiple task lists, each having two columns, a "Priority" field and a "Description" field. The data should be sorted by Priority first and by Description second. The header row is 5 and the data is in rows 6 through 50. The first list is in A5:B50, the second C5:D50, and so on until the sixth list in K5:L50. I have a macro that works for one task list, but cannot get it to function for multiple task lists. Below is the macro that functions for the first task list. It is in the code for the sheet tab.
Option Explicit Private Sub Worksheet_Change(ByVal Target1 As Range) If Target1.Column = 1 Then
I was just recently forced to create my first UDF and after how well it worked I now am very interested in learning more. I am trying to create a function to sort a range by the values in a specific column and return the range. I know this should be really simple but for some reason my code dies whenever it gets to my inner-most loop. I need to use this in a larger function but for now this is my only question. I did find that Excel 2007 has built in Functions for this but my company still uses 2003.
My Public Function SortRange(rngToSort As Range, valCol As Integer) Dim Swapper As Variant Dim i As Integer, _ j As Integer, _ k As Integer
For i = 1 To rngToSort.Rows.Count For j = 1 To rngToSort.Rows.Count - i If rngToSort(j + 1, valCol) < rngToSort(j, valCol) Then For k = 1 To rngToSort.Columns.Count Swapper = rngToSort(j, k) rngToSort(j, k) = rngToSort(j + 1, k) rngToSort(j + 1, k) = Swapper Next k End If Next j Next i SortRange = rngToSort End Function
I have a column (B) of randomly generated numbers 1-14, and am using this formula range to sort in descending order and return the relevant value from column (c).
=VLOOKUP(LARGE(B3:B20,1),B3:C20,2,) to =VLOOKUP(LARGE(B3:B20,14),B3:C20,2,)
Works great, except when a number is duplicated, (E.G. 14,13,13,12,11,10,10,9,8 etc). It then returns the first value from(C) repeated, and not the value from the second and subsequent duplicated reference numbers.
I would like to ask if it is possible to sort a range of row? What I mean is, if I sort like Row 1, the entire block of row 1 will move as well? Like if i have column A to F, then row 1 of column A to F will move together at the same time.
A friend of mine prepared worksheet. In column "A" up to 800 entries representing household appliances. In column "B" their prices in two currencies. To be exact in USD and EURO.
So he formatted prices column. For example TV 1500 $, smoothing-iron 99 EURO. and so on. So I need to sum USD values in C1, and EURO values in D1
I tried many text formulas and other formulas from MOREFUNC.XLL, but no result..
When I open more than one Excel file, it used to display them as separate icons on my task bar. But for some reason, now I only get one one icon, and I have to go to Windows on the Menu Bar to switch between them. I can't use Alt/Tab anymore. It only affects Excel.
I have 199 tabs in which i have, for example, sales data month by month. I want to consolidate into one tab the total sales per tab. I.e. so that i have a list of tabs 1 to 199 with the sales for the year for each tab. I don't want to sum the same cell across each tab.
Is there a way of doing this without having to do 'sum(tab1...)' for my tab 1 sales and then 'sum(tab2...)' for my tab 2 sales etc?
I have a column which is populated with profits and losses from a trading account. Here is an example:
Column I 400 200 -100 -150 -50
What I want to do is average all the profits, and average all the losses so I have two numbers - the average winner and the average loser. Continuing with the example from the 5 trades above, the average winner is 300 and the average loser is -100. How can I do this in excel?
I've been trying to loop data for column A from row 1 until 6 and print the result on specified cell. But the problem is, it keeps looping until column B,C and D.
I want to calculate average result separately for column B,C, and D without taking the previous data.
Here is the code that I've done.
VB: Sub Avg() col = 1 Row = 1 Do Name = ThisWorkbook.Sheets("Sheet2").Cells(Row, col).Value If Name <> "#" Then
[Code] ....
I attached my excel. The green box indicate the result that I want : function.xls
many times i am confrunted with excel files containing one sheet that has many tables on it. i need to print each table so that it fits on one page, but these tables are not formatted so that they fit, therefore i need a fast way to make each table fit on 1 printed page, no matter how big it is or how it is centered on the page size from page layout(many times the table is bigger than the page layout size). i tried selecting each table holding down ctrl and then hitting set print area, but most of the times this doesnt work, i still get part of the first table and the begining of the second table on the second printed page and so on, which is not good.
I'm looking for a way to sort dates from several columns into a new single column (perhaps multiple columns if the entry columns become too numerous). I've included an example. There are currently only 4 columns, but there may be as many as 20 in the future, each with 20 dates under each heading. Any blank cells would be eliminated. If I filled a blank with a new date, that date would be placed into the chronological column. So basically, this would take the date from several different categories and create a single calendar of events.
I believe that the best way to evaluate this request is to look at the example. I have 2 buttons to demonstrate what I need, along with written instructions.
i want to sort column D acsending, then column C descending. i want to do this using VBA because i cant just format the sheet because another vba macro paste the sheet thier which would rid the formatting. (i would do it myself everytime but it is for someone to make it easier for them and not make mistakes..i searched, just found a sum formula post)
I would like it to sort for me and I can't seem to get that going. The sort order should be by C ascending, then by B ascending and by d ascending. I am adding this to a macro that is already running. The beginning of the macro copies the sheet and renames it based on myinput.
HTML Dim LstRow As Long Dim Rng As Range LstRow = Cells(Rows.Count, "A").End(xlUp).Row - 1 Set Rng = Range("A2:m" & LstRow) Rng.Select
i have a large sheet that was set up starting at cell A3
A3:P19 is one week of data A20:P38 is the next week of data
Each week contains 17 rows.
What i am trying to get is something that will Name each week, starting with the first week of data A3:P19 "1" the next 17 rows, a to p is named 2 the next 17 rows, named 3
etc etc.
Then i want to sort by range, in decending order. ( I hope this is possible) is this doable? it will save alot of time if it is.
I have one column of names that has been entered as "first and last name" as one entry and I would like to sort by the last name (the last word in the column). Some of the entries are simply first and last name (e.g. Jane Doe), some are spouses together (e.g. Frank and Elaine Smith) and some contain middle initials (e.g. John Q. and Amy X. Public).
I want to sort them from highest to lowest in C1:C10 & D1:D10. This meaning the part with the highest number would fall in C1 and its corresponding value in D1 and so on. Is this possible using a formula?