Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel:以增量顺序自动填充单元格,直到给定值_Excel_Vba - Fatal编程技术网

Excel:以增量顺序自动填充单元格,直到给定值

Excel:以增量顺序自动填充单元格,直到给定值,excel,vba,Excel,Vba,所以我从下拉列表中选择一个整数值,例如5。我想自动填充单元格C1:C5中的序列1,2,3,4,5。因此,如果我将下拉列表中的值更改为2,则只有单元格C1和C2应该填充值1和2 下面是我编写的VBA函数: Function POPULATE_VALUE(GIVEN_VALUE, MAX_VALUE) If GIVEN_VALUE <= MAX_VALUE Then POPULATE_VALUE = GIVEN_VALUE Else POPULAT

所以我从下拉列表中选择一个整数值,例如5。我想自动填充单元格C1:C5中的序列1,2,3,4,5。因此,如果我将下拉列表中的值更改为2,则只有单元格C1和C2应该填充值1和2

下面是我编写的VBA函数:

Function POPULATE_VALUE(GIVEN_VALUE, MAX_VALUE)
   If GIVEN_VALUE <= MAX_VALUE Then
        POPULATE_VALUE = GIVEN_VALUE
    Else
        POPULATE_VALUE = ""
   End If
End Function
函数填充_值(给定_值,最大值)

如果给定的_值可以使用以下公式。将公式放到
C3
单元格中,然后向下拖动直到需要

=IF(ROW($A1)>$B$3,"",ROW($A1))

您可以使用以下公式。将公式放到
C3
单元格中,然后向下拖动直到需要

=IF(ROW($A1)>$B$3,"",ROW($A1))

您可以使用下面的子例程

Sub fill_numbers()
    ''clearing column C
    ThisWorkbook.Sheets("Sheet1").Columns(3).ClearContents
    
    max_value = ThisWorkbook.Sheets("Sheet1").Range("B3").Value
    For i = 1 To max_value
      ThisWorkbook.Sheets("Sheet1").Range("C" & i).Value = i
    Next i

End Sub
它只是从1循环到下拉列表的值,并不断填充C列中的数字


您可以将触发器设置为每当具有下拉列表的单元格的值发生更改时都进行更改。

您可以使用下面的子例程

Sub fill_numbers()
    ''clearing column C
    ThisWorkbook.Sheets("Sheet1").Columns(3).ClearContents
    
    max_value = ThisWorkbook.Sheets("Sheet1").Range("B3").Value
    For i = 1 To max_value
      ThisWorkbook.Sheets("Sheet1").Range("C" & i).Value = i
    Next i

End Sub
它只是从1循环到下拉列表的值,并不断填充C列中的数字


您可以将触发器设置为在具有下拉列表的单元格的值每次发生更改时都进行更改。

您是否考虑过使用纯VBA子例程,而不是VBA函数+公式?没有,请告诉我如何操作。我不太熟悉高级excel概念…当然,我会写一个小的子例程作为例子,但你需要一些触发器来让它工作(如点击按钮,或在下拉菜单上更改选择等)你是否考虑过使用纯VBA子例程,而不是VBA函数+公式?不,我没有,你能告诉我怎么做吗。我对高级excel概念不太熟悉……当然,我将编写一个小的子例程作为示例,但您需要一些触发器才能使其工作(如单击按钮,或在下拉列表中更改选择等)您是否假设A1:A5列在此为空?不。它不关心是否为空。您是否假设A1:A5列在此为空?不,它不关心是否为空。