I have a defined range "Values" within my worksheet, which have no content. Within an existing sheet formatting macro I'd like to force the user to enter values into the cells until all the cells in the range are populated. The values must be whole numbers.
I can get a simple msgbox to appear saying that the range must be populated, but can't add any data whilst this is displayed.
Ideally I'd like the message to be displayed all the time the range contains an empty value, enter the values in the background, then have the message disappear and the formatting macro continue when all the values are populated with correct data.
I reckon I need some kind of ‘loop’ procedure but could do with some pointers.
I need it to cycle through whole numbers for three variables whose range I can define. I need this macro to test the result of all possible combinations of A, B and C, as is shown in the attached file. The initial range boundaries for each variable are as follows:
VariableABC Minimum1408 Maximum510012
So the macro should start with the following combination (1,40,8) then (2,40,8) then (3,40,8) etc until it reaches (5,100,12). I need the results for each combination to be posted at a separate sheet next to the corresponding combination.
I am trying to look through a multiple selection of cells (in Target range) and compare to see if these are Integer. I am failing to be able to cylce through the selected cells and check their value. I am sure it is VB 101 issue... but I am lost at cracking it.
I have a formula that calculates the number of rows in a spreadsheet. I would like the results of that formula to complete a range description. For instance, if the range would be expressed as A1:A20 (for a file with 20 rows), and the result of the formula (the cell enty) for a different file is 35, I would want the range to be expressed as A1:Ax, where x is equivalent to the result of the formula (effectively A1:A35, but expressed with a reference to the cell with "35" in it, not the 35 itself).
I am trying to automate a process where a series of numbers would get populated according the range values. Also I am trying to get the automation to pick up the next range when finished with first one and continue with the task.
Here's what I have as start info and where I want to get to.
I've recorded a Macro that goes through multiple spreadsheets and refreshes the pivot tables in the sheets. I would like the Macro to run without it actually showing it go to each sheet and showing the pivot table updating. Bascially I would like the spreadsheet to remain on the first sheet while it's working with all the spreadsheet in the workbook when the macro is running.
I have a table, 2 columns by 10 rows (A1:B10). The table values are the result of calculations (imagine they are random). These calculations are performed repetitively for some specified number of repetitions (let's say 10 iterations). (e.g. all of the table values change with each iteration until the 10 iterations are complete. With each iteration all of the values in the table change). At the completion of the 10 iterations (one full cycle) I want to know the minimum and maximum calculate value as the 10 iteration cycle was performed.
To simplify; the table changes 10 times in one cycle. I want to know the minimum and maximum values attained in the cycle.
It is easy to determine the minimum and maximum values of the table for each iteration. It seems the problem would be write some vba code that 1) found the min. and max. 2) save that value 3) find the min and max in the next iteration and compare the old and new values 4) retain the value or replace the min and max values with new values and 5) proceed to the next iteration until the cycle is complete.
So I have a cycle time formula; Start Date to Completion Date, if the task is not complete the completion date field is blank. In this case the cycle time is listed as a negative 5 digit value. The networkdays formula takes into consideration weekends and holidays.How can this field be left blank rather than the negative value?
I want to combine cells from two adjacent columns in this way: a1 is combined with everything in column b, then a2 is combined with everything in column b, etc. So that I have a1b1, a1b2, a1b3, a1b4, a2b1, a2b2, a2b3, etc.
I have a list of values in a column that I want to enter into an array. The values are linked from a database and as such the number of values that are in the column can change. At the moment I am populating the array using the code below. I have made the array much larger than it needs to be to accommodate for the possiblity of more data being entered into the database and my loop also accounts for this by adding extra values into the array. Just wondering if there was a more efficient way to
a) Dimension the array and b) Populate the array so that only the data I need is entered into the array
Dim ClassArray(40) As String 'Save Classes as an array For j = 0 To 39 ClassArray(j) = SourceWB. Sheets("HMI Class"). Cells(j - 2, 1).Value
I am trying to cycle ALL open workbooks so that I can choose the file to manipulate in subsequent code this is the code that I am utilizing furhter below
this is my code
VB:
For Each wb In Workbooks If MsgBox("Do you want to do access this Workbook for the Update " & Chr(10) & Chr(10) & wb.Name, vbYesNo) = vbYes Then wb.Activate VI_wb = wb.Name I = True End If Next wb
But for some reason it only loops through .xls and xlm workbooks BUT not .xlsx
is there a way that I can loop through any and all open workbooks.
The reason I do this is because my update are based on many numerous excel workbooks with differnet extentions, and naming conventions and many of the come via email, I cannot use the eact naming convention
I have half hourly data for five years, in two columns A: Date and B: Load in Kg. The load on the beam is not uniform over time and shows a cycle of load.
In Column C I have an AVERAGE function that returns the average load based in the 4 hour period (2 hours backward looking and 2 hours forward looking) if it is less than 50% of the maximum load.
The data in Column C returns sets of continuous vertical cells of data showing periods of low loading and empty cells where the load is greater than 50%. The sets can be as small as one cell (i.e. one hour) to a set of contiguous vertical cells for one week of low load.
My objective is to use Excel to analyse all the sets of contiguous cells in Column C to determine the time period from the first cell of each set to the last cell of that set and drop the result into another work sheet (pivot table) to further analyse these results.
There are 2 buttons on my worksheet below each other. Each button has a size of a range (i.e. "G33:G34", "G36:G37").
This is what I would like to do: 1. Click on the first button 2. Copy A33:F42 and insert them below row 33 3. Move the buttons to the same position (10 rows down) on the sheet 4. Copy the existing buttons and put them in their original space (i.e. "G33:G34", "G36:G37") 5. Do it as many times as I click on the first button
I have this, and I have no idea to the remaining part...
Private Sub CommandButton1_Click() Range("A33:F42").Select Selection.Copy Rows("33:33").Select Selection.Insert Shift:=xlDown Application.CutCopyMode = False Range("B33:B42").Select End Sub
The code below if I run once Hide the Range("H:FV,GG:IV") and shows the Range("A:G, FW:GF") And if I run it again Unhide the Range("H:FV,GG:IV") And Show all columns
Code: Sub Hide_Unhide()Range("H:FV,GG:IV").Select If Selection.EntireColumn.Hidden = True Then Range("H:FV,GG:IV").EntireColumn.Hidden = False Else Range("H:FV,GG:IV").Select If Selection.EntireColumn.Hidden = False Then Range("H:FV,GG:IV").EntireColumn.Hidden = True End If End If Range("A1").Select End Sub
Above code is working with 2 cases now is it possible to add 3rd case Hide Or Unhide Range("H:GG,GI:HJ,HO:IV") in the same code, and shows the Range("A:G, GH, HK:HN")
Resume: my request Step1-if I run macro First time it must Hide Range("H:FV,GG:IV") and shows the Range("A:G, FW:GF") Step2-If I run macro Second time it must Hide Range("H:GG,GI:HJ,HO:IV") and shows the Range("A:G, GH, HK:HN") Step3-if I run macro third time it must show all columns
And repeat same cycle all time Step 1 to 2, Step2 to 3 and Step3 to 1
Work shifts run on a four-week, 28-day cycle always beginning on a Monday.
In 2009, the first such cycle began on Monday 12/1/09.
In my 2003 worksheet, I have the current year in A1. I want the date of the beginning of the first cycle in that year to appear in B1. This should update automatically when the year in A1 is updated.
I am trying to get a sheet to automatically calculate week numbers from a given date (start) and the current date, the problem I am having is I only want to cycle 18 weeks not 52.so weeknum wont work
ie 10 weeks after start date would return Week 10 18 weeks after start date would return Week 18 19 weeks after start date would return Week 1 25 weeks after star date would return Week 6 37 weeks after start date would return Week 1 etc...
I have a data set that contains a repeating cycle. I want excel to find the first and second occurrence of the data crossing the zero axis and then report the time between the zero crossings. The data is not purely in ascending or descending order and often just changes from positive to negative or negative to positive without hitting the actual 0 point.
I have a userform (uf_PaxInput) with a Combobox (cmb_flight_dest) which I am trying to populate from a worksheet range ("Dest") using the following code:
VB: Sub LoadForm() With uf_PaxInput.cmb_flight_dest For Each Item In Range("Dest") .AddItem Next Item End With uf_PaxInput.Show End Sub
The code seems to run okay however whent the form loads the combobox drops down to show only blank items to select. These blank items number them same number of items that are in my named range ("Dest").
I am trying populate a listbox on a userform using the range of a4:a:30 from a sheet entitle names. I can do this singly using the additem command, but I am not sure how I can add a range, or if that is possible. this is my code so far:
Code: Private Sub UserForm_Initialize() With LBoNames .AddItem Sheets("names").Range("a1").Value End With End Sub
I have a range of cells that I want to use as column headings. Say the range is A1:A100. I need them to be able to be transposed across the first row of the sheet. Now I know that I can use the transpose function in a cell but this array is embedded in a macro.
Attempting to populate a listbox from a worksheet range at runtime As far as I can tell the code is correct But the listbox returns results from ws("Data") not from ws("WA")
Sub comp_bs_AnalyzeAccounts() Dim wbBook As Workbook Dim wsWA As Worksheet Dim rngWA As Range Dim lngRows As Long Set wbBook = ThisWorkbook Set wsWA = wbBook.Worksheets("WA") comp_bs_XTract lngRows = wsWA.Range("A65536").End(xlUp).Row Set rngWA = wsWA.Range("A1:A" & lngRows).................
I have a userform with multiple textboxes and comboboxes, the contents of which are saved to a database sheet, each time on a new row. Everything else is now all set but I still need to create a unique id number for each entry. I set the value of the textbox in question to the last cell value in the id column incremented by 1 in the userform_initialize but for some odd reason it doesn't work. However, if I use a direct reference to a cell it does work. Here's my Private Sub UserForm_Initialize()
The '-1' allows for a heading at the top of the column. This works fine when the list in col. L has more than one entry under the heading. But with only one entry I get 'Runtime error 381 - Could not set the List property, Invalid property array index' and the debug highlights on
I would like to populate a combobox with text from two different ranges:
I have an ID No in column A (range = ID) and a descripton in Column B (range = Description)
I would like the following to appear in the combobox:
"J.034 Kitchen Bench" at the moment I can only get J.034 from the following Private Sub UserForm_Initialize() Dim cBase As Range Dim ws As Worksheet Set ws = Worksheets("Matdata") For Each cBase In ws.Range("ID") With Me.cboBase .AddItem cBase.Value .List(.ListCount - 1, 1) = cBase.Offset(0, 1).Value End With Next cBase Me.cboBase.SetFocus HideTitleBar Me End Sub
I have dates of the record add date to a database, and balance date cycle month. What i require is loop through each record and return the next month end date of the balance date cycle month of the add date for each record. eg.
added to DB - balance date cycle month - Next balance Date 05 March 2004 - April - 30 April 2004 18 April 2003 - March - 31 March 2004
Refer sample file attached. I have populated the Next Balance date with the result required.