You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel:如何在Results工作表下一空行转置Saudi表D列数据

解决跨表转置并定位下一个可用行的问题

核心修改点

要定位Results工作表的下一个可用行,关键是通过End(xlUp)从列尾向上查找最后一个非空单元格,再+1得到空行行号。结合你的转置需求,修改后的代码如下:

Sub CopyTransposeToNextRow()
    Dim wsSaudi As Worksheet, wsResults As Worksheet
    Dim sourceRange As Range
    Dim nextRow As Long
    
    ' 指定目标工作表
    Set wsSaudi = ThisWorkbook.Worksheets("Saudi")
    Set wsResults = ThisWorkbook.Worksheets("Results")
    
    ' 获取Saudi表D列的有效数据范围(从D2到最后非空行)
    Set sourceRange = wsSaudi.Range("D2", wsSaudi.Cells(wsSaudi.Rows.Count, "D").End(xlUp))
    
    ' 计算Results表A列的下一个可用行
    nextRow = wsResults.Cells(wsResults.Rows.Count, "A").End(xlUp).Row + 1
    
    ' 复制数据并转置粘贴(仅保留数值)
    sourceRange.Copy
    wsResults.Cells(nextRow, "A").PasteSpecial Paste:=xlPasteValues, Transpose:=True
    
    ' 清除剪贴板,避免弹窗提示
    Application.CutCopyMode = False
End Sub

关键说明

  • 如果你的源数据不是从D2开始,直接修改sourceRange的起始单元格即可(比如wsSaudi.Range("D5:D15"))
  • 若目标数据要从Results表的其他列开始,把Cells(nextRow, "A")中的"A"改成对应列标(比如"B")
  • 用工作表对象代替ActiveSheet,避免切换工作表时出现逻辑错误

内容的提问来源于stack exchange,提问作者Chizie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 15:33:09