gpt4 book ai didi

VBA将值粘贴到下一个空单元格中

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

我有一个 VBA 宏,它只是将值从一个单元格 (Worksheet1.a1) 复制到另一个单元格 (Worksheet2.a1) 中,这是由具有分配宏的按钮触发的。

Sub copy_values()

Worksheets("Worksheet2").Range("a1").Value = Worksheets("Worksheet1").Range("a1").Value

End Sub

问题是在 Worksheet1 上,我有一个组合框,列出了所有可用的患者。根据选择的患者,Worksheet1.A1 中的值会发生变化。

因此,假设我选择“患者 A”并使用按钮将 Worksheet1.A1 的值(假设值为“500”)复制粘贴到 Worksheet2.A2 中。如果我随后使用组合框选择“Patient B”,它将 Worksheet1.A1 的值更改为“600”,然后继续使用按钮将此值粘贴到 Worksheet2.A2 中,即之前的“500”显然被新值覆盖了。

我需要保留这两个值。因此,在将患者 A 的值粘贴到 Worksheet2.A1 之后,我需要将患者 B 的值以动态方式粘贴到 Worksheet2.A2 中。我无法真正对此进行硬编码,因为我有一个包含 300 多名患者的列表。

最佳答案

你可以这样做:

Sub copy_values()
Dim R As Range
Set R = Worksheets("Worksheet2").Cells(Rows.Count, 1).End(xlUp) 'last cell in Column A with data
If Len(R.Value) > 0 Then Set R = R.Offset(1)
R.Value = Worksheets("Worksheet1").Range("a1").Value
End Sub

这个想法是在 A 列中查找包含数据的最后一个值。 End如果 A 列为空,方法将返回 A1。上面的代码检查了这种可能性。

这是一个经过调整的版本,它采用可选的源单元字符串参数:
Sub copy_values(Optional Source As String = "A1")
Dim R As Range
Dim col As Long
col = Range(Source).Column

Set R = Worksheets("Worksheet2").Cells(Rows.Count, col).End(xlUp) 'last cell in Column col with data
If Len(R.Value) > 0 Then Set R = R.Offset(1)
R.Value = Worksheets("Worksheet1").Range(Source).Value
End Sub

像这样工作:
Sub test()
copy_values 'works as before

copy_values "B1" 'copies value in B1 in first sheet to first available slot in column B in second sheet
End Sub

关于VBA将值粘贴到下一个空单元格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37662163/

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