如何循环一系列代码从Excel工作表中逐行输入数据

问题描述 投票:0回答:1

我有一个工作正常的代码,但我需要它在每次读取下一组数据时循环。

如果有帮助,它会从 Excel 工作表中获取信息并通过 SAP 运行

输入数据的 Excel 工作表使用 A 至 D 列,每次我点击运行时,它都会完美地运行 A1 -D1,但我很难让它转到下一行,A2 - D2,依此类推,直到没有更多可读的了。我尝试了几种方法,但我所能做的就是让它循环遍历第一组输入。我错过了什么?

excel vba loops sap
1个回答
0
投票

基本上,您需要在循环中执行循环。将循环列的代码嵌套在另一个循环循环的内部。以下代码是如何循环遍历 Sheet1 上的数据范围(逐行、逐列)并将其复制/附加到 Sheet2 的基本示例:

Option Explicit

Sub AppendData()
    Dim rng As Range
    Dim rowId As Long
    Dim i As Long, j As Long

'Identify the entire range of your source data
    Set rng = Sheet1.Range("A1").CurrentRegion

'Identifiy the last used row in the destination sheet
    rowId = Sheet2.Range("A1").CurrentRegion.Rows.Count

'Append source data to destination sheet
    With rng
    'Loop through rows
        For i = 1 To .Rows.Count 'to exclude header row, use i = 2
        'Set the next output row on the destination sheet
            rowId = rowId + 1
        'Loop through columns
            For j = 1 To .Columns.Count
                Sheet2.Cells(rowId, j).Value = .Cells(i, j).Value
            Next j
        Next i
    End With
End Sub

注意:仅当数据范围内没有空白行或列时,使用

CurrentRegion
来标识整个范围才有效。

希望有帮助...干杯!

© www.soinside.com 2019 - 2024. All rights reserved.