gpt4 book ai didi

vba - 单元格内容自动移动到另一张纸上的同一单元格

转载 作者:行者123 更新时间:2023-12-02 15:15:44 27 4
gpt4 key购买 nike

代码或工作簿中的某个地方存在错误或错误,但我似乎无法找到它或无法理解为什么会发生这种情况。

What's happening is There's a userform which has a button to :

  1. Select a cell from sheet2
  2. Put the selected cell value in sheet1 cell B10 which is a dropdown menu
  3. Unloads the form return to sheet1 and select a cell which is described in the code as sheet1.B26 now .

现在,一旦表格消失。如果我单击sheet1.B26选定的单元格并写入一些内容,请按{TAB},该单元格中的内容将自动传输到完全相同的单元格,但在sheet2上,并且sheet1.B26单元格为空。

如果我在表单消失后立即开始在选定的单元格中写入,则只会发生一次。

工作表、工作簿或模块中没有应该描述此操作的代码/公式。

这个问题困扰了我一周,但我在任何地方都找不到解决方案。

Workbook如果您想下载并尝试一下。

Video Description of the error

要重新创建此内容:

  1. Go to sheet1
  2. Fire up the form using very first button on sheet1 which has "Klant zoek" text on it.
  3. Press the button which say "selecteer" on the form.
  4. Without selecting any other cell Enter something in last selected cell by the macro and press tab.

附注- 我没有在该工作簿中编写任何代码,我只是被分配调试它。

最佳答案

所描述的问题可以在 Excel 2013 中轻松重现,而在早期版本中不会出现。 2016年我没有机会测试。类似的问题可以找到herehere

所有案例共有 3 个部分:

1) 使用表单按钮或形状单击事件处理程序显示UserForm

2) UserForm 是模态的(vbModalUserForm.Show 参数的默认值)

3) UserForm 代码更改事件工作表

结果,显示了由 UserForm 激活的工作表,但它并不是真正处于事件状态。对其所做的任何编辑都会显示在之前(显示 UserForm 之前)的事件工作表中。

这是 Excel 2013 中的一个错误,解决它的最简单的解决方法是:

1) 使用ActiveX Button显示表单

2) 显示无模式表单:UserForm1.Show vbModeless

但是如果我们不能使用 ActiveX 并且需要模态形式怎么办? This answer建议隐藏和显示 ActiveWindow,但它对我不起作用。

在没有 ActiveX 的情况下显示模态表单的唯一解决方法对我来说是:

要显示模态 UserForm1,请使用 Activate 事件处理程序创建另一个空的 UserForm2:

Private Sub UserForm_Activate()
'hide form
Me.Left = -1000
'show target form
UserForm1.Show
Unload Me
End Sub

而不是:

UserForm1.Show

用途:

UserForm2.Show vbModeless 

关于vba - 单元格内容自动移动到另一张纸上的同一单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37759807/

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