如何在VBExcel2003中遍历最小/最大函数中的单元格? Set min=min1=1000,max=max1=position=0 对于i=2到10 do min=**min(A(i,j):A(i+5,j));** 如果位置=0,则min1=min,位置=1,否则 对于j=2到10do{max=**max(A(i,j):A(i+5,j));** 如果max

如何在VBExcel2003中遍历最小/最大函数中的单元格? Set min=min1=1000,max=max1=position=0 对于i=2到10 do min=**min(A(i,j):A(i+5,j));** 如果位置=0,则min1=min,位置=1,否则 对于j=2到10do{max=**max(A(i,j):A(i+5,j));** 如果max,excel,iteration,minmax,vba,Excel,Iteration,Minmax,Vba,不可能更正所有代码,因为不清楚您要做什么。但是下面可能会给您一个开始 最好声明变量并指定其类型: Set min=min1=1000, max=max1=position=0 For i=2 to 10 do min=**MIN(A(i,j):A(i+5,j));** if position=0 then min1=min, position=1 else For j=2 to 10 do {max=**MAX(A(i,j):A(i+5,

不可能更正所有代码,因为不清楚您要做什么。但是下面可能会给您一个开始

最好声明变量并指定其类型:

    Set min=min1=1000, max=max1=position=0   
    For i=2 to 10 do 
    min=**MIN(A(i,j):A(i+5,j));**  
    if position=0 then min1=min, position=1 else  
    For j=2 to 10 do  {max=**MAX(A(i,j):A(i+5,j));**  
    if max<min then next j else position=0, next i 
我喜欢按字母顺序申报,但这不是要求

你需要:

Dim i As Integer
Dim j As Integer
Dim max As Integer
Dim max1 As Integer
Dim min As Integer
Dim min1 As Integer
Dim Position As Integer
设置min=min1=1000,max=max1=position=0时有以下错误:

  • 集合仅用于对象
  • 不能用逗号分隔语句
  • 在某些语言中,min=min1=1000
表示
min1=1000,min=min1
,但在VBA中表示:

  min = 1000
  min1 = 1000
  max = 0
  max1 = 0
  Position = 0
For语句末尾没有
Do
。因此:

If min1=1000 Then
  min=True
Else
  min=False
End if 
MIN和MAX是工作表函数。要在VBA中使用,则必须说它们是工作表函数。VBA中的语句末尾没有分号。您在MIN函数中使用了j,但尚未设置其值

我无法说出作为最小值和最大值参数的值的位置

如果位置在当前工作表中,则需要类似以下内容:

    For i = 2 To 10
或者像:

With ActiveSheet
  min = Application.WorksheetFunction.min(.Range("B16:F16"))
End With
可以在数组上使用MIN和MAX函数,但我不知道如何选择数组的一部分


希望这能给你一个开始。

你不能在代码中加粗。另外,你尝试加粗几行。另外,这看起来不像Excel VBA。另外,告诉我们什么不起作用。另外,你想做什么?很抱歉,这么含糊不清,JMax是对的。主要是,我的问题是如何在循环中的一列中移动1个位置来执行最小/最大函数基本上,我需要做MIN(A1:An),MIN(A2:An+1),MIN(A3:An+2)…,n是可变的。您告诉我,您不知道如何选择数组的一部分,所以对于不固定的n,也就是数组的可变部分,没有办法这样做?非常感谢您上面的回答:)在您最初的问题中,您似乎正在访问一个具有二维的数组。我说的是,我不知道相信您可以将最小值和最大值应用于数组中的某个范围。如果您正在访问工作表,则可以指定任意大小的范围。请查看我的最后一段代码。
单元格(i,j)
标识范围的开始。
单元格(i+5,j)
标识范围的结束。在单元格中,第一个参数是行,第二个参数是列。如果您确实想访问数组中的范围,还有其他技术可以实现这一点。请更清楚地解释您想要什么,也许您可以得到它。我不喜欢游戏或博弈论,所以我必须查找MinMax。如果您不知道现在,VBA为什么要使用它进行树搜索?如果你想学习VB,我建议使用Microsoft VB 2010 Express。它与你无关,但VBA的学习曲线很小。Express版本是单用户的,但是免费的。其他版本有免费试用期。VB 2010与VBA相比速度快得惊人,而且有数千个用户功能包括建树和搜索。另一个选择是C#2010 Express,它也是免费的。它有更多的功能,但代价是更难学习。
With ActiveSheet
  min = Application.WorksheetFunction.min(.Range(.Cells(i,j),.Cells(i+5,j)))
End With