ReDim Vs. Dim: Code On Another Machine Not Working
Oct 19, 2007I have: ReDim X(3,1) as double. The code runs fine on my machine, but when I take it to another machine, the code gets stuck on that line.
View 3 RepliesI have: ReDim X(3,1) as double. The code runs fine on my machine, but when I take it to another machine, the code gets stuck on that line.
View 3 RepliesWhat I'm basically trying to do is make a code that looks at where the "x" values are in my range and if the month matches the current month, open a pop up that says "Service Required: Equipment Name" when the file is opened.
If it's any easier, an actual date could be written instead of an x.
An alert system for service required if you will. I have attached a file.
TestSchedule.xlsx‎
I have previously used the following code to successfully pull out IE webpage source code for string manipulation.
Its a crude example to demonstrate the principle:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public IE As Object
Sub Sample()
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
[Code] ......
However when I substitute in a Google websites address into the IE.Navigate command, the code runs to the "Source_Code = IE.document ...." line then flags up a Microsoft Visual Basic error. "Run-time error '438': Object doesn't support this property or method"
The webpage that I am trying to access is a confidential company site, so you won't be able to access it yourself, but starts with [URL] ......
The one thing that I have noticed about this website is the Privacy Report icon in the lower right status window (Picture of an eye with a restricted symbol in front). I don't know whether this is the cause of my problem, or purely an incidental observation.
Is there something peculiar with Google sites that means that the source code cannot be extracted in general, or is this an issue specific to my site ? Does the Privacy Report icon have any relevance, and if so how do I switch that off ?
Using :
MS Excel 2010
IE Explorer 8.0
Does using ReDim to size an array also initialize all array elements to zero by default? If not, is there a quick way to autoinitialize all array elements to zero?
View 2 Replies View RelatedI iterate through a list and store the data in an array.
[Code] ..........
This works fine, but I tried to have 2 dimensions to the array and It no longer works!
I want to have an array where each record contains a name and three numbers. My understanding is that Excel requires all element types within an array to be the same, and so I turned to a user-defined data type. But I don't seem to be able to create a dynamic array out of this type--when I try to ReDim Preserve it, I get an error saying that it's already defined. Can't I do that?
View 3 Replies View RelatedCurrently I am building a class to keep track of entries I have made during the macro execution. Thus far I have:
Private Type Memory
MemoryArray() As Variant
End Type
Private Sub Class_Initialize()
Redim MemoryArray(0) As Variant
End Sub
Public Property Let AddToMemory(Object As Variant)
'memory is empty
If UBound(MemoryArray) = 0 And MemoryArray(UBound(MemoryArray)) = "" Then
MemoryArray(0) = Object ..............
i m getting error 40351 on one machine but not other.
I am running the following code
I'm looking for a VBA solution that will look at the machine name above in blue and insert in in column E
Machine 2's expected results have been filled in....
I have an array that is going to have a variable length every time the macro is run. I set a really high length at the beginning and when I want to unload the data, I want to redim the array to only the amount of data that was loaded into the array.
I am getting an error of "Array already dimensioned" when use the redim function near the end of my code below.
Code:
Private Sub Trend_Click()Dim GraphRow As LongDim TodaysYear As Integer,
Adjustment As Integer, EndYear As Integer,
StartYear As IntegerDim X_Axis_Array(1 To 100) As VariantDim SelectedStmt As StringDim X_Axis_ArrayEnd As IntegerTodays
[Code] ........
I've written this function to re-dimension an array based on the size of the range it is storing. Originally all my variables were simply declared as:
Code:
Dim XLRecOutput() as Variant
I then wrote a function which took the variable and the range as follows:
Code:
Function LoadRangeToArray(dataArray() As Variant, selectedRange As Range, Optional blnLoadData As Boolean = True)
With selectedRange
ReDim dataArray(1 To .Rows.Count, 1 To .Columns.Count)
End With
If blnLoadData Then dataArray = selectedRange
LoadRangeToArray = dataArray
End Function
To call the function, it's simply:
Code:
XLRecOutput = LoadRangeToArray(XLRecOutput, Range("XLRecOutput"))
Now I've created a class and set up Get/Let properties for the variables instead, but the above function fails with a Compile error on the call - 'Type mismatch: array or user-defined type expected' and I can't get my head around how to resolve it.
I am stuck on a database that is becoming a lot more complex and confusing every time i open it. As of right now i am going to take it one step at a time. I have 2 columns. Column A is "Machine", Column B is "Loss" From there, there is a list of machines and their losses for a given month. Each month has its own report of machines and losses. Some machines may be on the first report. And possibly no losses in the second month making in absent on the second report. What i am trying to set up a formula or macro to automatically updated a TOTAL list, that will automatically list every machine that has ever been on any of these reports, and keeping the highest loss for that machine. For example if machine Z had a loss of $100 in the first report, and a loss of $500 in the second report, then the TOTAL list would have machine Z at a loss of $500. What i have been thinking is a macro that takes both reports and combines them, then grouping the duplicate rows of machines together and somehow deleting the duplicate row witht he lower loss?
View 2 Replies View Relatedto create a file, and each employee will use it (Timesheet)
In the footer, I would like to put in the log on to their individual machine?
I know you can put in [Date] [Time] etc etc
But would like their user name (Eg Joe, Bill, Fred) etc etc
Is this possible to set a macro which will delete the file if opened on another computer? Ie say on WB open I want to set a macro that if Environ(“Username”) = “ABCD” then proceed else delete the file permanently from th e other computers machine. If deletion of file is not possible then deletion of sheets or contents of sheets should be deleted. The sheets will be protected. Expecting a solution to delete the file.
View 2 Replies View RelatedI am trying to calculate the average start time for a machine over a period. However the machine start time varies from 10:00 pm to past midnight. I have tried reviewing past posts but cannot seem to find a similar query.
View 13 Replies View RelatedI'm trying to run a macro on my machine (Windows 2000 and Office 2003) and I keep getting an error on one method. Now I tried to run the same macro on a different machine (Windows XP and Office 2003) and it didn't error out.
Public strControlTitle As String
Public strControlTime As String
Public strControlUnit As String
Public intControlItem As Integer
Public intLastNameOnly As Integer
Public intDataType As Integer
Sub Main()
Dim strControlItem, strPageName, strValue, sigma, z95, z99 As String
Dim r, c, count, cmax, rmax, rt, ct, low, high, a, b As Integer
Dim lesscol As Integer
With ControlChartForm
.ComboBox1.AddItem ("Average Turn Around Time All Patients")....................
I found quite a few posts about this problem, but none of the answers was any use to me. I need to redimension a 2 dimensional array in a Sub. I deleted all the code that is not of interest:
View 3 Replies View RelatedI'm using Excel 2007.
Is it possible to know which row code is active on whilst it is running?
s/s is 332324 rows and growing. When I run code which goes down one column and takes quite some time I don't know what stage it is at.
I'd like to be able to see on screen which row it is down to.
Function AH02(FIF, xi, di, zi, nt, TAI, ZMT, xi2, nr)
fit1 = Array(0.1352785, 0.02388504, -0.0007874863, -0.008694193, -0.01137302, 0.0004262445, 0.0001408564, 0.001013715, -0.00004032109, 0.006176128, -0.03644328, 0.001557726, 0.0483096, 0.01859556, -0.0008903489, -0.006407128, -0.001693491, 0.00008581065)
fit2 = Array(0.01184698, 0.01976108, -0.0008787826, -0.03195365, -0.01083098, 0.0005161274, 0.004048458, 0.001013387, -0.00005030517, -0.003262156, -0.003314432, 0.0001453592, 0.005082949, 0.001888962, -0.0000865367, -0.0006340434, -0.0001799523, 0.000008493003)
fit = Array(0.1352785, 0.02388504, -0.0007874863, -0.008694193, -0.01137302, 0.0004262445, 0.0001408564, 0.001013715, -0.00004032109, 0.006176128, -0.03644328, 0.001557726, 0.0483096, 0.01859556, -0.0008903489, -0.006407128, -0.001693491, 0.00008581065, 0.01184698, 0.01976108, -0.0008787826, -0.03195365, -0.01083098, 0.0005161274, 0.004048458, 0.001013387, -0.00005030517, -0.003262156, -0.003314432, 0.0001453592, 0.005082949, 0.001888962, -0.0000865367, -0.0006340434, -0.0001799523, 0.000008493003)
ermess = 0
t = TAI
L = 1
If (nr > 40) Then GoTo 900
10 If (nr < 1) Then GoTo 900
11 L = 2
I have the next VBA-
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("E:N")) Is Nothing Then
If Range("E34").Value = 0 Then
Application.EnableEvents = False
Range("G8").Value = Range("G8").Value + 1
If Range("J34").Value = 0 Then
Application.EnableEvents = False
Range("G9").Value = Range("G9").Value + 1
Application.EnableEvents = True
End If
End If
End If
End Sub
The code don't work. What's wrong with it?
Every time I try to add the contents from the request form to the Master CCO tab, the information does not dump. The only way the form will close is if i hit the cancel button. I don't know what I've done wrong with the add request code.
View 1 Replies View RelatedI got this code off here and it works really well on my home pc which is using widows 2000 however i need it for work and they are using windows 97.
I get an error with the code in red. I have attached the sheets this refers to, and when i run the code it deletes the dates it matches up with in the master rota sheet which it shouldn't
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If IsNumeric(Target.Value) Then
'Clear the Invalid entry
Range("L4").ClearContents
Range("L5").ClearContents
If Target.Address = "$K$4" Then
Range("K5").ClearContents
ElseIf Target.Address = "$K$5" Then
Range("K4").ClearContents
End If
Else
Range(Target.Address).ClearContents
Target.Next = "Invalid Input"
End If..........
However for L28, L29, L48, and L49 the invalid input entry is not showing up properly.
I am trying to add code to a module that is already working. however when trying to add new code i keep on getting error messages. It doesnt like the "next i" see attachment.
all else works except for the WEEK1 tab. I am trying to get it so if the "Date Submitted" colum on the MAIN tab is between 5/3/09 - 5/9/09 it will go to tab "WEEK1"
5/10/09 - 5/16/09 to WEEK2
5/17/09 - 5/23/09 to WEEK3
5/24/09 - 5/30/09 to WEEK4
Dim myFileName As String
Dim myworksheet As Variant
myworksheet = ThisWorkbook.ActiveSheet
myFileName = ThisWorkbook.ActiveSheet.Range("h1").Value
ChDir "C:TechnologyComponents"
ActiveWorkbook.saveas Filename:=myFileName
There is only one sheet in this workbook, the sheet name changes each time I run other codes. I am bringing the value of the sheet name into a H1 cell and trying to save with that name.
THe below have written for comboBox selection when I run thourgh form and commandButton code is not working but when run single (Seperately) code will get execute.
Private Sub CommandButton1_Click()
Dim Mydate As Date
Mydate = Date
[Code].....
I have made a program using excel vba with userforms, however upon using it on another or any computer with the same version of Office(2007) i am getting a debugging error and highlighting any lines with the words "format" & "date" in the vba code.
View 3 Replies View RelatedWhy is the following code not running the macro the number of times I type into the box?
Sub Macro10()
'Sub RunABunch()
Dim ans As Variant, i As Long
ans = Application.InputBox("Enter a Number of loops", Type:=1)
If Not IsNumeric(ans) Then
' user hit cancel, so exit sub
Exit Sub
End If
For i = 1 To CLng(ans)
' do your work here
Next i
' Macro10 Macro
'
'
Cells.Find(What:="Chief", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Selection.Cut
ActiveCell.Offset(0, 2).Range("A1").Select
ActiveSheet.Paste
End Sub
I didnt write the loop and input portion of the code, I just recorded the macro and added that bit of code from the net.
why my vba code for sort is not working here. When I do F8 it simply passes the sort code (the one in red) with no action happening. Why.? and do I need to do. Thanks.
Sub Macro1()
'
' Macro1 Macro
'
Sheets(1).Copy Before:=Sheets(1)
ActiveSheet.Rows("1:2").EntireRow.Delete shift:=xlUp
ActiveSheet.Columns("C:M").EntireColumn.Delete shift:=xlToLeft
With ActiveSheet
With Range("A1:C10000")
.Sort key1:=Range("B2"), order1:=xlAscending, Header:=xlGuess,_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
End With
In the EXCEL helpfile, there is an example code under HPageBreaks Property:
For Each pb In Worksheets(1).HPageBreaks
If pb.Extent = xlPageBreakFull Then
cFull = cFull + 1
Else
cPartial = cPartial + 1
End If
Next
MsgBox cFull & " full-screen page breaks, " & cPartial & _
" print-area page breaks"
However, I can't get the code to run. I am consistently getting an error :
Run Time Error "9" : Subscript out of range on very first line of the code. How can one get a subscript out of range with a "For each ... Next" statement ?!!
I cite this as an example, since I am unable to create workable code using HPageBreaks, which I need to...