Have a spreadsheet for creating employee schedules (any number of employees, 3 rows per employee, 5 columns for each day). I want to move all employees' info for one day (5 columns and XX rows) to another area and then clear the employees' data for that day. I have the code working for Monday but I don't want to duplicate it 6 more times for Tue -Sun. I have set up named ranges (i.e. MonFT, TueFT, etc.
I would like to call one subprocedure to do this and pass parameters for each day so the ranges can be changed to reflect the desired day?
I am doing this for holidays; i.e. if there is a Wed. holiday, store all of Wednesday's data and clear Wed. Then restore all Wed data when preparing the schedule for the following week.
I need to pass range information (eg. WorkSheets("abc").Range("A1") as text or ??) from a cell (ie the above text is in a cell on some worksheet, say "XYZ") to a VBA procedure or could directly use it in the procedure, similar to...
Sub MyProc(RngInfo as string [or?]) dim RRng as range Set RRng= RngInfo ??? it is this part I'm really not sure how to do
where RngInfo is a worksheet that has a "named" cell that contains the above cell with the indicated range in it.
eg. RngInfo is worksheets("XYZ").Range("D1") where D1 contains the text (or ?)WorkSheets("abc").Range("A1")
I've only indicated these as text items because I'm not sure what/how you would do this. The end purpose of this is to pass variable Range information from a cell on a WS either into (or use within directly) a VBA Sub. I guess I could pass the WS and Range Address as a single string separated by a "Char" and use Split to separate them and then recombine using Worksheets(Parm(0)).Range(Parm(1)) but it seems like it should be easier than that.
I have a userform that has a number of cascading comboboxes, however i wish to use the same cascading feature in a number of other userforms. So what i am trying to achive is calling the cascading element from a public macro, to do this i need to pass the userform name to the procedure. The snippet of code i am using is:
Form: Private Sub ComboBox1_Change() If ComboBox1.Value <> "" Then myform = Me.Name Call Cascade1(myform) End If End Sub
Module: ub Cascade1(myform) myform.Label2.Visible = True myform.ComboBox2.Visible = True myform.ComboBox2.RowSource = Range(myform.ComboBox1.RowSource).Cells(myform. ComboBox1.ListIndex + 1, 1) End Sub
I have a procedure that I want to pass two arrays to. When I pass a single array it works fine but as soon as I try to pass two arrays I get a syntax error. Both arrays are declared exactly the same way and are used in the same way. Am I limited to passing only one array per procedure?
I want to put some colour in the cells B2, B3, B4, B5, etc and a put black the edge of every box. For do that i make a subrutime that put some color in the range that i want (only if i write "B2" or "B2:B5"), but if i want to put a black edge in all the box i can't do "B2:B5". Then i tried to do something like:
For i=2 To 5 Step 1 Call Boxcute(ActiveSheet.Cells(i,2)) Next i
Sub Boxcute (Box As String) Range(Box).Selection etc. End Sub
I am getting an invalid procedure call when the portion of the code that has the ASC function runs. The only change I made to the workbook was to increase the available rows that this macro is totaling from 150 to 300. If I don't increase the rows I do not get the error.
What this code is doing is grouping information from 20 different sheets and totaling them and placing the total in the correct group. Most of the totals will begin with a number, however there will be a small amount that will begin with a letter. The items with letters need to be grouped in the 17000 category.
Dim c As Range Dim rng As Range Set rng = Range(Cells(3, "R"), Cells(lastrow, "R")) For Each c In rng
If c < 20 Then c.Offset(0, 1) = "01000" If (c > 19) * (c < 26) Then c.Offset(0, 1) = "02000" If (c > 25) * (c < 161) Then c.Offset(0, 1) = "02600" If c > 159 Then c.Offset(0, 1) = WorksheetFunction.Text(c, "000") & "00" If Asc(Left(c, 1)) > 58 Then c.Offset(0, 1) = "17000" If c > 170 Then c.Offset(0, 1) = "18000" Next c
I need to call a Stored Procedure in a SQL Server from VB, but do not have the minimun Idea about doing it....Could you help me ?...I made a lot of attemps copiying code from other treads and scratch it, but so far results = none.
Server name: VAIO/SERVIDOR DataBase: CEDRO I´m using Excel XP.
I have 46 drop downs that I need to call from a main sub. I want to create one loop that will call each one to perform its function. Below is a simple example of what I am trying to do, but where I need help is with the 'Call Y' line. I am not sure what character to use to tell excel to look at what is in the value of Y, not 'Y' itself
Sub testitout() Dim y As String
For X = 1 To 2 Sheets(" Lookup"). Range("E3").Value = X + 4 y = "dropdown" & X & "_change()" 'this will return "dropdown1_change()" for the first loop Call y 'i want to call dropdown1_change() below Next
This error occured me, and i clicked "Debug" to see where was the error and i found a strange thing that i don't know how to solve it: The line has the following
The only way my code currently works is if Excel has just been launched. The VBA creates, saves and modify's files so I imagine it has something to do with the ThisWorkbook object when a file is being saved or closed. I have googled the error but didn't really get anywhere as it is pretty generic and seems to be returned for a number of Excel products.
When I step-through my code below, it always opens the first file in the directory "C:Pyramid Files", but when it comes back to the Pyramid Files sub after fully processing the first file via various other subs, the VB Editor apparently doesn't like something about this line: StrFile = Dir(), since it quits after "snapping-back" to the previous sub Initialize(). I have also tried StrFile = Dir, but that doesn't work either. I did Dim Strfile in the General Declarations. When I set Watches for Dir and Dir(), I get the value "Invalid procedure call or argument" for both, as if the directory function lost the value. I can't determine why this is happening.
VB: Dim WSM As Worksheet, WSB As Worksheet, WS1 As Worksheet, [U]StrFile As String[/U], StrDirectory As String, ClientCode As String Dim Filename As String, LastRowb As Long, LastColB As Integer, LastRow1 As Integer, NextRowC As Integer, x As Integer, y As Integer
Code: Function fn1(ByVal a, ByVal i, ByVal e, ByVal N, ByVal w, ByVal ta) Pi = Application.WorksheetFunction.Pi mhu = 398600 vpp = (mhu / Math.Sqr(mhu * a * (1 - e ^ 2))) * (-Math.Sin(ta * Pi / 180)) fn1 = 2 * vpp End Function
I create and load a commandbar, prior to loading it I attempt to check if it exists, then delete it, and recreate.
I dont understand why this seemed to work for months and now creates an error. It appears that every now and then the created commandbar is not created when I open a file. Thats when the error pops up. I can manually run the Create_Bar sub and it will be fine, for a while.
Run-time error '5': Invalid procedure call or argument
This section is in my personal.xls file in "ThisWorkBook" of personal.xls.
Code: Dim LR As Long Dim Dash As Long, _ Whole As Double Dim pi ', WorkSheets, Range WorkSheets("Sheet3").Select LR = Sheets("Sheet3").Cells(Rows.Count, "A").End(xlUp).Row
Is it something to do with the mypath syntax? Recently our drives have been reorganised. I used to just use "G:Surveys..." which always worked. Does anyone have any thoughts? I hope I've explained properly - you can probably tell I don't know much about this sort of thing.
I have a code below which need some input from user. This input will also be serve as the input of the subroutine which i am going to call. However, i do not know how to go assign this input to the subrountine which i will be calling, can anybody help ?
For example, the "input" variable will also be served as an input in subroutine test2 ...
I would like to apply different conditional formatting at different times with a click of a button. I setup a dummy and turned on the recorder and recorded this
Range("A7:N7").Select Selection.FormatConditions.Delete Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$C7=1" Selection.FormatConditions(1).Interior.ColorIndex = 37 Range("A1").Select End Sub
I tried changing to this
'/Conditional Format - OTHER EXPENSE B/L Set rngConditional = wsData.UsedRange With rngConditional...............
how I can have a routine execute whenever a cell range is copied in excel. Doesn't matter whether by selecting the appropriate menu item or when CTRL+C is pressed (I mean it must work anyway).
I need this cause I would like to store in a public variable the address of the range which is being copied in order to use it later for undoing purposes.
I first tried to find a way of accessing what has been copied into the clipboard but it doesn't seem possible without using external DLLs.
I am attempting to call a Function from a cell and pass it a range and an Integer. The Integer works fine, but I cannot get the Range to pass into the function correctly.