提交模块将条目从一张纸保存到另一张纸

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

我这里有 2 张。

第 1 页表是我放置日期、时间、门票、分数和是/否/NA 答案的地方。 我有一个提交按钮,该按钮调用一个模块,该模块执行从第 1 页到第 2 页的保存,但仅保存日期到分数。我对是/否/不适用的答案有疑问。我想将这些值从第 1 页到第 2 页保存 1 次,但我收到了应用程序定义的错误。请看下面。

第1页

第2页

模块:

Option Explicit
Function saveTo()
    Dim sh, sh2 As Worksheet
    Set sh = ThisWorkbook.Sheets("Page2")
    Set sh2 = ThisWorkbook.Sheets("Page1")
    Dim n As Long
    n = sh.Range("A" & Application.Rows.Count).End(xlUp).Row
    
    sh.Range("A" & n + 1).Value = sh2.Range("E3")
    sh.Range("B" & n + 1).Value = sh2.Range("E4")
    sh.Range("C" & n + 1).Value = sh2.Range("E5")
    sh.Range("D" & n + 1).Value = sh2.Range("J3")
    sh.Range("$E:$BC" & n + 1).Value = sh2.Range("$E$7:$E$57")
End Function

错误

是否有代码可以实现将上述 Yes/No/NA 答案从第 1 页一次性保存到第 2 页?我感谢你的帮助。

excel submit spreadsheet data-entry
1个回答
0
投票

将错误行替换为:

sh.Range("$E" & n+1 & ":$BC" & n + 1).Value = worksheetfunction.Transpose(sh2.Range("$E$7:$E$57").Value)

右侧范围仅当范围为一个单元格时才返回值。包含多个单元格的范围需要

Value
属性。

调整

Transpose

 参考时需要 
Row to Row
。否则,如果将一行范围设置为一列范围,它将在整行中重复该列中的第一个值。

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