If Else Syntax: Change Some Outputs Of The Macro Without Changing The Syntax
Jul 19, 2006
I´m writting a macro. It works find until a certain point. When I want to change some outputs of the macro without changing the syntax, it display an error mesage while runing the macro. It says Else without If. Which is quite disturbing because the Else was not creating any problem before. Here is my macro before I changed the conditions (this one work nicely)
Sub Copy_Sheet_Beta()
Set wba = ActiveWorkbook
On Error Resume Next
If IsWorkbookOpened("Projekt.xls", "C:Documents and SettingsfrederikSkrivebordRedd Barna") Then
Workbooks("Projekt.xls").Activate 'In case open, just activate "Projekt"
Else
Workbooks.Open Filename:="C:Documents and SettingsfrederikSkrivebordRedd Barnaprojekt.xls"
End If
Set wb = Workbooks("Projekt.xls")
wb.Activate
If Not SheetExists(wba.ActiveSheet. Range("C1").Value) Then
MsgBox "overall doesn't exist!"
Else........................................
I am Having trouble calling an macro that is not in the module that is calling it. I thought that all I had to do was label the Macro as Public instead of private, but it is not working. If I copy and Paste the Macro code into the module that is calling it, everything works just fine, but this is making it difficult to keep things organized.
I am having some issues with my macro. I keep getting a syntax error? I am trying to combine these coding combinations together. Code G0398 with 95800, code G0398 with 95801 so on so fourth..
I'm trying to take 5 inputs that are all in text format and inputs have fixed options what i need is a macro that will take them and turn them in to the relevant outputs. there is a select amount of combinations and i've been asked to do each combination as a separate macro or sub macro.
What I have so far is;
If C6 = "Panel plate" And D6 = "24 by 21" And E6 = "<1.59" And F6 = "N/A " Then I6 = "120" And j6 = "4" And L6 = "120" End Sub
A B C D E F G H I J K L 1 2 4 5 6 Panel plate 24 by 21 <1.59 N/A 7 8 9 10
(Doesn't seem to work)...
If those four cell match up then i need I6-L6 to line up with whats required. If they don't equal that i need it to stay clear.
I also need to add the same macro with different options.
Im having problem with If/Then/Else Statements Not sure what the problem is. I have a text box a user inputs whatever in to create two new tabs one is the tab name then the next is tab completed. It isnt liking my syntax I have here.
I have the following code that loops thru and puts the word 'TEST' in column J if column B has a TEXT value of '020'
---------------------------------------------------------------------------------- With Range("J1:J" & Lastrow) .Clear Range(.Cells(2), .Cells(.Count)).Formula = "=if((b2)=""020"",""TEST"","""")" End With ----------------------------------------------------------------------------------
Questions 1) why do I need double quotes "" "" on every argument in the function? Is it because I'm working with TEXT data? 2)I want to use multiple ifs (ie if cell b2 equals '020' OR '030' then put the word 'TEST' in col J). How to change the syntax to do this?
I have a form and a combo box that I want ot fill the items in from cell F22.
Here is my Sheets(PowerAnalysis.xls).Cells("F22").Value = ComboBox2.Text What is the best way to get this done? I have searched here and on the web and I can't seem to find any straightforward answers.
I am trying to get the below autofilter working but to no avail, its just putting the text datStart and datEnd in the auto filter, not what I receive in the boxes, see bold line for line in question
Dim datStart, datEnd As Date Dim strAgent As String datStart = txtStart.Value datEnd = txtEnd.Value strAgent = txtAgent.Text Range("A4").Select Selection.AutoFilter Selection.AutoFilter Field:=4, Criteria1:=">datStart", Operator:=xlAnd, _ Criteria2:="<datEnd"
It doesn't work any more in Excel 2003. Of course it works directly such as: "WHERE (dbase_file.field1=' N0011') but I couldn't find the way to replace the ' N0011' with the parameter.
It is not the singular issue... "FROM dbase.file dbase.file " that worked well in Excel 2000, the Excel 2003 "wants": "FROM 'drivepath'dbase_file dbase_file " and I couldn' find a way to replace the explicit 'drivepath' with a predefined variable.
I am attempting to create a macro that opens a file named "shrinkage-billing.xls", searches for a variable "PTOSH" in column A, copies the adjacent cell and pastes the data in another worksheet named "Shrinkage Report 2009.xls"
Got a wee problem with some syntax for a copy function. At the moment the code i have copies the range and pastes to another range which is defined by a cell number. But i need it to paste special (values only).
I would like to know where can I find a good resource to learn about VBA syntax. I have VBA books and there are some examples of code in there but when I'm trying to read someoneelse's code I just get into commands or syntax I don't understand. For example I would like to be able to go some site and decifer what this line (or it's parts) means: If(cnt < MAXTEST, sDigSep & String(MAXTEST - cnt, "9"), "")
I have a variable array, that is, the first cell of the array is variable and the last cell is variable. I have dimmed the first cell , "firstcell" as a range. I have dimmed the last cell , "lastcell" as a range. I'd like to sort the array but first I have to select all cells in the array. Need the proper syntax to select all cells between "firstcell" and "lastcell" in my macro.
There are plenty of other columns, but these are key. The first column is the service type, of which there are 40. I want to have another worksheet that totals all the entries in the third column that don't say 'yes', for each service. So, in this case the first line of my new workbook would say: Nephrology1
If I copy "mysum" contents to a cell and replace "lista" with a defined list, it works just fine. But whenever I run this code, it gives me syntax error.
Sub aaa()Dim i As Integer, myvar As Variant, tester As VariantDim mysum As Variant, lista As Variant, alpha As Datelista = Sheet2.[D6].ValueWith Worksheets(Range("A10").Value) Do i = i + 1mysum = Evaluate("SUMPRODUCT(((ISNUMBER(MATCH($B$8:$B$10007," & lista & ",0))) *($A$8:$A$10007>(TODAY()-180))*(($E$8:$E$10007)+($F$8:$F$10007)+($G$8:$G$10007)+($I$8:$I$10007)+($K$8:$K$10007))))) myvar = Evaluate("=TIME(10,0,0)>" & mysum) Loop Until myvarEnd Withtester = 35 - Sheet2.[c10] alpha = mysumMsgBox "VALID for [" & lista & "] after " & i & " Day(s). hours in last 180 days after " & i & " Day(s) will be (" & alpha & ")"End Sub