如何根据另一个单元格的值自动填充 Excel 中的一系列数据?

如何根据另一个单元格的值自动填充 Excel 中的一系列数据?

如何根据数字自动更改列的长度0-n,在哪里n = a number in a certain field

我正在考虑这样的事情:

在此处输入图片描述

编辑: 似乎我没有很好地解释我想要什么。这是第二次尝试,我正在寻找一种解决方案,让我可以在一个字段中输入一个数字,这将创建一个从 0 到输入数字的数字列。这是使用不同数字时的样子。注意:我只需要一个用于数字输入的字段,然后它将创建数字列,如图所示。

在此处输入图片描述

答案1

这就是你想要的。

在您的示例中,您有 4 列(C、D、E 和 F)。好吧,您可以添加其他列(G、H、I、J 等),并且下面的代码仍将针对所有这些列执行。

不过,您需要告诉它一些信息,例如 rowsRequired(在本例中是第 2 行,它是您定义要求的行(例如您想要多少个值))。

你需要告诉它从哪一行开始推送结果,在本例中我选择了第 4 行

您需要告诉它起始列,在本例中为 C

Sub DoTheThing()

@AHOY ME HEARTIES, SEE BELOW FOR WHAT YE CAN EDIT

Dim rowsRequired As Integer
rowsRequired = 2  ' THIS IS THE ROW NUMBER WHERE YOU ENTER THE NUMBER YOU WANT TO SEE

Dim startingRow As Integer
startingRow = 4 ' THIS IS THE ROW NUMBER YOU WANT TO START SHOWING RESULTS

Dim startingColumn As String
startingColumn = "C" ' THIS IS THE FIRST COLUMN

'I SUGGEST YOU LEAVE THE BELOW ALONE LESS YE WALK THE PLANK

Dim startingColumnInt As Integer
startingColumnInt = Asc(startingColumn)

Do While (Range(Chr(startingColumnInt) & rowsRequired).Value <> "")

    Dim valToUse As String
    valToUse = Range(Chr(startingColumnInt) & rowsRequired).Value

    Dim row As Integer
    row = startingRow

    Dim i As Integer
    For i = 0 To valToUse

        Range(Chr(startingColumnInt) & row).Value = i
        row = row + 1
    Next i

    startingColumnInt = startingColumnInt + 1
Loop

End Sub

在此处输入图片描述

VBa 执行后

在此处输入图片描述

如何在 MS Office 中添加 VBA?

请记住,VBa 通常没有撤消按钮,因此请确保先保存或创建备份!

答案2

这里有一些代码可以帮助您入门(基于图像中的单元格位置)。

Sub SeriesFill()
    Dim RowCount As Long
    Range("C4:C1000").Cells.Clear
    RowCount = Range("C2").Cells.Value + 4
    Range("C4").Cells.Value = "0"
    Range("C4").AutoFill Destination:=Range("C4:C" & RowCount), Type:=xlFillSeries
End Sub

这已在 Excel 2010 中测试过。您需要确定如何触发它并修改它以在其他列上工作。

相关内容