【问题标题】:Generate formulas on sheet2 to display non-empty row data from sheet1在 sheet2 上生成公式以显示 sheet1 中的非空行数据
【发布时间】:2019-02-28 13:36:35
【问题描述】:

我从 SQL 复制数据并将其粘贴到 sheet1 中。每次获取数据时,行数都会发生变化。

我需要在 sheet2 上显示 sheet1 特定列的信息。

从第 2 行开始,Sheet2 应如下所示:

    Column A =VALUE('Sheet1'!AK2)
    Column B =VALUE('Sheet1'!G2)
    Column C =VALUE('Sheet1'!F2)
    Column D =VALUE('Sheet1'!Q2)
    Column E =VALUE('Sheet1'!R2)
    Column F =VALUE('Sheet1'!S2)
    Column G =VALUE('Sheet1'!T2)
    Column H =VALUE('Sheet1'!U2)

随着每一行的增加(AK3、AK4 等),直到显示 sheet1 中的所有行。我不能让它在最后显示空行。这就是为什么我需要 VBA 来为我输入公式。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    试试,

    Option Explicit
    
    Sub Macro10()
        Dim arr As Variant, i As Long, lr As Long
    
        arr = Array(37, 7, 6, 17, 18, 19, 20, 21)
    
        With Worksheets("sheet2")
            For i = 1 To 8
                lr = Worksheets("sheet1").Cells(.Rows.Count, arr(i - 1)).End(xlUp).Row
                lr = application.max(lr, 2)
                .Range(.Cells(2, i), .Cells(lr, i)).Formula = _
                    "=value(" & Worksheets("sheet1").Cells(2, arr(i - 1)).Address(0, 0, external:=True) & ")"
            Next i
        End With
    
    End Sub
    

    【讨论】:

    • 我得到:运行时错误 '9' - 下标超出范围 - .Range(.Cells(2, i), .Cells(.Rows.Count, i).End(xlUp )).Formula = _ "=value(" & Worksheets("sheet2").Cells(2, arr(i + 1)).Address(0, 0, external:=True) & ")"
    • 它也开始填写第一行而不是第二行
    • 伙计,我非常感谢您的帮助,我现在在这一行还有另一个错误:lr = Worksheets("sheet1").Cells(.Rows.Count, i).End(xlUp).Row
    • lr = Worksheets("sheet1").Cells(.Rows.Count, arr(i - 1)).End(xlUp).Row 不应该是 lr = Worksheets("sheet1").Cells( Worksheets("sheet1").Rows.Count, arr(i - 1)).End(xlUp).Row 吗? - .CellsSheet1 参考,但 .Rows.Count 将变为 Sheet2With 的 cos
    • @jamheadart - 如果 Sheet1 和 Sheet2 在同一个工作簿中,它们将具有相同的 .Rows.Count。是的,它是从 Sheet2 而不是 Sheet1 读取的,但没关系。 Sheet1 必须在外部 XLS 工作簿中,而 Sheet2 是 XLSX 工作簿才能有所作为。
    猜你喜欢
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 2022-07-15
    相关资源
    最近更新 更多