gpt4 book ai didi

excel - 使用组合框将数据从输入表复制到 VBA 中的日志表

转载 作者:行者123 更新时间:2023-12-04 20:01:01 27 4
gpt4 key购买 nike

我有一个实验室工作簿,其中包含收集的实验室数据。该工作表有一个输入页面,其中包括以下输入页面。输入页面有两列,一列用于流入值,另一列用于流出值。
在输入页面上,Influent 以 B13 到 lRow 开头,而 Effluent 以 C13 到 lRow 开头。输入页面有一个名为 cbSheet 的组合框,因此用户可以选择将此数据传输到哪个设施日志表。
我已经编写了一个宏,它应该将输入表中的 Influent 数据复制并转置到组合框中选择的表中,并将其粘贴到最后使用的行之后。接下来,宏应该复制流出数据并将其直接粘贴到同一张表上流入数据的下方。我希望宏交替复制流入转置和粘贴到组合框中选择的工作表,然后是流出。所以你会在日志表上有这样的东西:

Influent "DATA"   
Effluent "DATA"
Influent "DATA"
Effluent "DATA"
首先,我在尝试引用 cbSheet 组合框时遇到错误。 Variable Not Defined ;此外,我只选择了流入数据,并且不确定如何包含流出数据,因此它们会随着每周添加新数据而正确交替。有人可以帮我设置吗?非常感谢你的帮助!
    Dim wb As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lRow1 As Long
Dim lRow2 As Long
Dim lRow3 As Long

Set wb = ThisWorkbook
Set ws1 = wb.Sheets(1)
lRow1 = ws1.Cells(Rows.Count, 2).End(xlUp).Row
lRow2 = ws1.Cells(Rows.Count, 3).End(xlUp).Row

If ws1.Range("A8").Value <> "" Then
Set ws2 = wb.Worksheets(cbSheet.Value)
lRow3 = ws2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
With ws1
.Range("A13" & lRow1).Copy
ws2.Range("A15" & lRow2).PasteSpecial xlPasteValues, Transpose:=True
End With

End If

End Sub

最佳答案

编辑:错过了Transpose少量...
尝试这个:

Sub Transfer()
Dim wb As Workbook, ws2 As Worksheet, wsInput As Object 'not As Worksheet
Dim cDest As Range, wsName, rngDest, v

Set wb = ThisWorkbook
Set wsInput = wb.Sheets(1)

wsName = wsInput.cbSheet.Value
If Len(wsName) > 0 Then
If wsInput.Range("A8").Value <> "" Then
Set cDest = wb.Worksheets(wsName).Cells(Rows.Count, "A").End(xlUp).Offset(1)

With wsInput.Range("B13:C" & wsInput.Cells(Rows.Count, "B").End(xlUp).Row)
v = Application.Transpose(.Value)
With cDest.Resize(.Columns.Count, .Rows.Count)
.Value = v
.Interior.Color = vbYellow
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlThin
End With
End With

End If
Else
MsgBox "First select a destination worksheet from the drop-down list!", _
vbExclamation, "No destination selected"
End If
End Sub
你不能声明 wsInputWorksheet ,因为“开箱即用”的 Worksheet 对象模型不包括名为“cbSheet”的成员。通过声明 As Object该成员在运行时而不是编译时得到解决。

关于excel - 使用组合框将数据从输入表复制到 VBA 中的日志表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72018531/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com