Beginner VBA Help Using Arrays to find the lowest value from a list

AI Thread Summary
The discussion revolves around creating a VBA program to find the minimum value in a text file containing numerical data. The user initially encounters errors in their code and seeks assistance. Key issues identified include the placement of the statement initializing the variable 'low', which should be outside the nested loops to avoid multiple executions. Additionally, the condition for finding the minimum value needs correction; it should reference the current indices rather than an out-of-bounds index. After implementing the suggested changes, the user successfully resolves the errors and achieves the desired functionality.
turkcyclone
Messages
9
Reaction score
0
Hi, I have this text file.

"3 4
7.21 -5.7 0.01 9.0
5.6 0.11 -.123 14.
2.11 4.11 0.0001 -2. "

I am trying to create a VBA program to find the Minimum value, but I keep getting an error. Could someone help me? I am trying to get some practice for a test. Here is what I have so far...

Option Explicit
Sub test()

Dim A(1 To 3, 1 To 4) As Single, low, nrows, ncols As Single, i, j As Integer

Open ("C:\pathname\in_class_input_file.txt") For Input As #1
Open ("C:\pathname\in_class_output_file.txt") For Output As #2


Input #1, nrows, ncols
For i = 1 To nrows
For j = 1 To ncols
Input #1, A(i, j)

Next j
Next i

For i = 1 To nrows
For j = 1 To ncols

low = A(1, 1)

If A(i + 1, j) < low Then
low = A(i + 1, j)


Else

'Next j
'Next i


End If
Next j
Next i


Print #2, "The"; "lowest"; "Value Is"; low

Close #1
Close #2


End Sub
 
Technology news on Phys.org
I put [ code] and [ /code] tags (without extra spaces) around your code, and adjusted your indentation.
turkcyclone said:
Hi, I have this text file.

"3 4
7.21 -5.7 0.01 9.0
5.6 0.11 -.123 14.
2.11 4.11 0.0001 -2. "

I am trying to create a VBA program to find the Minimum value, but I keep getting an error. Could someone help me? I am trying to get some practice for a test. Here is what I have so far...
Code:
Option Explicit
Sub test()

Dim A(1 To 3, 1 To 4) As Single, low, nrows, ncols As Single, i, j As Integer

Open ("C:\pathname\in_class_input_file.txt") For Input As #1
Open ("C:\pathname\in_class_output_file.txt") For Output As #2


Input #1, nrows, ncols
For i = 1 To nrows
    For j = 1 To ncols
    Input #1, A(i, j)
    
    Next j
Next i
    
For i = 1 To nrows
  For j = 1 To ncols

    low = A(1, 1)

    If A(i + 1, j) < low Then
       low = A(i + 1, j)
    
    Else

      'Next j
      'Next i
    End If

  Next j
Next i
    

Print #2, "The"; "lowest"; "Value Is"; low

Close #1
Close #2
    
End Sub

The statement low = A(1, 1) should be above the nested loops. As you have it, this statement executes 12 times. It should execute only once.
The statement If A(i + 1, j) < low Then should be changed to If A(i, j) < low Then. As you have it, when i is 3, you are evaluating A(4, j), which doesn't exist.
 
Mark44 said:
I put [ code] and [ /code] tags (without extra spaces) around your code, and adjusted your indentation.

The statement low = A(1, 1) should be above the nested loops. As you have it, this statement executes 12 times. It should execute only once.
The statement If A(i + 1, j) < low Then should be changed to If A(i, j) < low Then. As you have it, when i is 3, you are evaluating A(4, j), which doesn't exist.


Thank you so much for your help and explanation. I did the changes and it worked like a charm!
 
Thread 'Star maps using Blender'
Blender just recently dropped a new version, 4.5(with 5.0 on the horizon), and within it was a new feature for which I immediately thought of a use for. The new feature was a .csv importer for Geometry nodes. Geometry nodes are a method of modelling that uses a node tree to create 3D models which offers more flexibility than straight modeling does. The .csv importer node allows you to bring in a .csv file and use the data in it to control aspects of your model. So for example, if you...
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...

Similar threads

Replies
9
Views
2K
Replies
11
Views
3K
Replies
29
Views
3K
Replies
21
Views
3K
Replies
4
Views
11K
Replies
75
Views
6K
Replies
10
Views
25K
Back
Top