I have a calendar sheet where the dates go down the rows, and there is one column per member of staff. The staff is split in to three streams (different apps to cover, etc).
In the calendar, we mark a "C" for when someone will be on-call, R for when they will be doing a release, and so on.
In a separate sheet in the workbook, rather than having people look at the whole calendar of 30+ people to see who is on what shift for a given stream, I have an On-Call Rota where the rows are again the dates, and the columns are the streams. In each cell of this sheet, there should be the names of all the people of that stream who will be on-call for that date, so a concatenation of the actual staff members from the calendar, separated by CHAR(10).
I have been unable to find a combination of INDEX, MATCH, LOOKUP, VLOOKUP, etc, etc that gets me past the main problem: they only ever match the first C (or the first R for the On-Release Rota). I can't get a formula for a single cell in the rota that will return all the names where there is a C in the calendar in such a way that I can concatenate them.
I have been using the CONCATENATE function to merge 2 strings together into a single cell. However the problem is, the third concatenated cell depends on the other 2 existing. The idea is I want to take 2 columns of data, and use a formula to merge them, then delete the original 2 data columns so I have a single column with the full data merged.
COL 1 (A3) = First Name COL 2 (B3) = Last Name COL 3 (C3) = Full Name (wanted)
So I do =CONCATENATE(A3,B3) and that puts the fullname in C3, but I want to sort of "flatten" C3 so that I have the fullname by itself and I can delete the original cells (A, and B)
I have one row per day of the month in column A. each row has one or more cell entries in column B .... to column (variable) Right now I use a formula =concatenate(B2,CHAR(10),C2,CHAR(10),D2.....) for as long as it has to be, but this has its limits and requires a lot of editing as the number of filled cells for each row vary.
would it be possible with some macro code to manage the variable number of cells and then insert verything, wrapped text, in a single cell (can be cell Bx or a cell in a new column added next to the dates column) As soon as everything is in the single cell, the original data cells can be emtied. I can record a macro but that does not allow me to manage the variable number of cells . a small sample file attached.
I have a worksheet entitled 'Data'. In this worksheet there is a table consisting of 4 columns plus relevant data:
TABLE 1:
Project Benefit Type Delivered or Enabled Benefit
PJ1 Financial Delivered Saving of $4M over 24 months.
[code]....
I have been trying to create a formula that will enable me to pull data from the 'benefit' column(column D) so that the cell contents populate in a single cell in a table in a different worksheet.
TABLE 2:
Financial - Delivered Financial - Enabled Tech - Delivered Tech - Enabled Green - Delivered Green - Enabled
[code]....
So, as an example, I am hoping that a formula can be created which pulls the text from relevant cells in column D when criteria from columns A, B and C are met e.g. Tech benefits that are Delivered in PJ2 would populate cell E3 ('Tech -Enabled') in Table 2 with:
I have a range of cells each containing a name. Based on a number that has to be entered manually I want excel to return the names concatenated in one cell. So for example:
Number of variable entered: 5
q9001 q9002 q9003 q9004 q9005 q9006 etc.
Should give me: "q9001 q9002 q9003 q9004 q9005"
I have been trying to work with formulas using IF and CONCAT functions. But so far I haven't figured out how to have excel return me the correct amount of variables for each separate number that can be entered seeing the number of variables entered can vary from 1 up to 50.
I am in need of a way to pull keywords listed in B2:B10 from text in A2:A10 and then those pulled keywords combined in cell C11.See attached document. So I have colors for keywords in column B and some random text in the column A including the keywords in parenthesis. Is there a way for a formula to find all keywords in A2:A10 and then list them in cell C11 with commas in between.So the result would be one cell C11 showing BLUE,GREEN,BLACK,ORANGE, etc.I have been trying to mess around with index and match and while I could get one to pull up I don't know how to combine it.
I want the numbers to give me a sum total if a cell that is not in the row contains an "x". Row of number from A1:A5 each cell has the number 1 in the cell. if there is a x in cell A2 i would like to get the sum of the numbers in A1:A5 in cell A3.
was trying =SUMIF(A2,"x",A1:E1) this is the formula in cell A3
I am expecting the result of 5, this formula returns the value of 1 since there is only 1 x in cell A2.
I have a workbook with a named range myrange, cells a2:a1001. I have counter as a named range, mycount cell z2. I want to get the value of myrange at cell address mycount and put that value elsewhere using vba.
I have a large amounts of named ranges each of about 100 rows 20 column's each in its own sheet and I need to be able to refer to a singe cell in that range.
I want to do this so that I can use an offset to get another cell value relative to the cell in the named range.
F9 contains a hyperlink to the named range and is the same as the named range but with spaces.
I am trying to make this macro look at multiple cells in column X and perform the given operation based on what is found. I currently have it set to look at one cell, I am not sure how to make it look at a range of cells and change its cell refrences for the copy function.
Dim vS As Variant vS = Sheets(3).Range("X5") If Not IsNumeric(vS) Then Exit Sub Else Select Case vS Case 1 If MsgBox("Are you sure you want to delete?", _ vbYesNo, "ExcelTips") = vbYes Then Application.DisplayAlerts = False Sheets("Approved").Select Range("B5:F5").Select Selection.Copy
I'm having trouble assigning a range of a single cell using vba. I'm doing this to create charts. Here's the sub containing the problem
Private Sub AddNewSeries(Target As CTarget) Dim i As Integer Dim Match As Boolean Dim rValid, rInvalid As Range i = 2 Match = False Do While Match = False If Sheets("Graph Data").Cells(1, i) = ReportTargetBox.value Then Match = True MsgBox ("report name match") Exit Do Else: i = i + 1 End If Loop.....................
This msg box :MsgBox ("Cell Value = " & Sheets("Graph Data").Cells(2, i).value) is working and returning the correct value.
I've managed to write a macro to take data input into a column-oriented form and transpose it into the next available rows in 3 data sheets. In the blank workbook, you will find a functional data entry form with a "submit" button that transposes data from the first column of the form to the next available row in sheet "Data_R", data from the second column of the of the form to the next available row in sheet "Data_I", and the sum of both columns to the next available row in sheet "Data_C", clearing the form for further use.
Now, I need adding to the macro code that will sum data from the constituent columns of each multi-column category header (Marketing, Intake, etc.) in sheet "Data C", entering the sums under their respective single column headings in the next available row of sheet "Data_S".
I need to do this in order to use Defined Names (utilizing the OFFSET function) to create charts comparing the different categories that automatically update as new data is input via the form. I know how to do this, I just need the multi-column categories summed into single columns to make it work.
The problem exists with the lists I use. I have a "settings" sheet, where users can choose from preset values to run in the program. E.g. "Urgent", "Semi Urgent" and "Non Urgent" (there are a lot more values, but those will do for now." and the idea is to run them 1 at a time.
However, I've now determined that 99% of the time, they're going to be run 1 after another, that is to say run the program once for "Urgent", then again for "Semi Urgent" and then again for "Non Urgent". So I'd like to loop through these. Again, not a problem, you'd think.
So I added a new value to the list; "All" which users can select to invoke a list. Again, not a problem, I already have the list as a named range, "DmgList" and I can cycle through it. I ran the following test code to see if it would work in theory...
How can I identify the last cell of a single column range . . . i.e. the last cell address of range C1..C15 is C15. The range will have a name of "reg".
i have my data in coloumn G. and i am trying to create a macro to copy all the data in coloumn G:G to cell K1. i am doing this so i cand simply extract some data to other cells useing the search formula.
The following does paste the formula into the dynamic range, however, it doesn't move on to the next step in the code. It seems to get stuck on the last line. I let it run for 5 minutes and it still did not move to the next set of commands ...
How can I merge into a single cell from a range of selected cells that contain text. If the range of cells do have empty cells it should be smart enough to skip over or not to create an additional space. Any idea how can this be done? Macro or formula?
I have a list of ID's on one sheet that are also located in a large matrix on another sheet.
This macro uses the Find_Range function to find each ID within the matrix and return the column header where the ID was first located. There is also a line which return a list of ranges, indicating all the places where the ID was found.
What I want is to convert the list of ranges into a list of corresponding column headers (ie row 1 of all columns in the range)
' Number of id's in list RowCnt = Application.WorksheetFunction. CountA(Columns("A"))
For I = 2 To RowCnt
LookFor = Sheets("ID List").Range("A" & I) Set InRng = Sheets("Matrix").Cells Set Found = Find_Range(LookFor, InRng, xlValues, xlWhole) On Error Resume Next ' If value is not found Sheets("RateID Count").Range("C" & I) = Sheets("Matrix") _ .Cells(1, Range(Found.Address).Column) ' Return column header Sheets("ID List").Range("D" & I) = Found.Address(False, False) ' Return cell address or range of addresses On Error Goto 0
TSB..... in left column and NS...... in right column. This example includes 3 items as shown above but the single cell could contain more or less than 3 items
I am trying to write a macro that will select and copy all cells in a row that do not have a zero value.
The data I am trying to select will be contained in 12 cells in a single row, i.e cells A1:L1 and all zero values will always be on the right hand side of the first non-zero value in this row (going left to right), for example:
Row: A B C D E F G H I J K L (1) 0 0 0 0 1 1 2 2 2 2 2 2
What I want to do here is to select and copy cells E1 to L1, since they are the cells with non-zero values. This can vary, so here there are 8 cells with non-zero values but the next time there might be only 5 cell or all 12 cells, etc. I have a lot of data to sort like this so doing this manually takes a lot of time.
Once the macro has selected and copied the right cells, I will manually paste the data where I need to put it.
The big problem I am having is knowing how to firstly select the appropiate cells.
I'm trying to apply the code for accumulating value in a single cell to a range of cells.
I want to use the code found in this thread [URL] ..... but, it only lets me edit "B1" to another single cell. I need my cells G4 to G469 to operate the same way.
How to edit the code so I can include a range or show me a version of the code where I can enter my desired range?
I have a series of columns (L - X) each representing a diagnosed disorder (Dx), coded as binary, with 1=Positive Diagnosis (Success). The reference cell contains diagnostic codes; for each respective Dx column I need a 1 or 0, obviously. Each Dx category has a range of values (Dx codes), so I need to write syntax that reflects this range. For example, =IF(A1=>141,AND(A1=<239.99)),"1","0")
In other words, if cell value is 141 through 239.99 then return 1, else 0
Would it be something like this: =IF(AND(A1=>141,OR(A1=<239.99)),"1","0")
I would like to Insert the contents of a Range of Cells into a single Comment. ie: The contents of Range A1:A50 into a Comment placed at F1. Is there a Macro that will do this?
I have a problem with a worksheet that my company accounting system exports every month.
Attached : sample of the worksheet.
In column ( F ) , I need a macro to do the following calculations: 1- Check for the Title - if it begins with "Cost Center" 2- Check for the Title - if it begins with "Account Code" 3- Detect the Range Start just below "Account Code" , and End with the row above "Total" 4- Concatenate the string written in each row of the range with the string in "Cost Center"
The Story is: Each Month I've this worksheet with hundreds of Cost Centers and subsidiary Account Codes, And to be able to analyze the accounts efficiently I need to concatenate both Cost Centers & Account Codes manually ( as you see coloring sample in the attached file ). Which led to wasting many hours , and high risk of error while copying and pasting formulas.
I have a column of numbers in A1:A200 that I need to concatenate with a ";" in between each into one cell. Is there a way to do this without clicking in each cell individually? =concatenate(A1:A200) just returns the value in cell a1.