Excel 用于在许多单元格中单击或单击的代码
我不是一个编码员,对这个群体来说是新的。我无耻地从这里的帖子中盗取了下面的代码: 不过我有个问题。我有一堆粘贴的公式作为文本,我需要,基本上,点击进出,以使他们的公式(可以解释为什么我这样做,如果需要的话)。代码工作得很好。但是,它不会贯穿整个文档。它通常在1000行左右后停止 我需要它做的是单击D列中包含数据的所有行(在本例中,是通过D42000)。以下是我尝试过的代码的当前版本: ` 下一个 端接头 " 我试过几种不同的方法,但效果相同。我做错了什么Excel 用于在许多单元格中单击或单击的代码,excel,vba,Excel,Vba,我不是一个编码员,对这个群体来说是新的。我无耻地从这里的帖子中盗取了下面的代码: 不过我有个问题。我有一堆粘贴的公式作为文本,我需要,基本上,点击进出,以使他们的公式(可以解释为什么我这样做,如果需要的话)。代码工作得很好。但是,它不会贯穿整个文档。它通常在1000行左右后停止 我需要它做的是单击D列中包含数据的所有行(在本例中,是通过D42000)。以下是我尝试过的代码的当前版本: ` 下一个 端接头 " 我试过几种不同的方法,但效果相同。我做错了什么 提前谢谢 将值(如“=A1”转换为公式=
提前谢谢 将值(如
“=A1”
转换为公式=A1
的简单方法如下
将诸如
“=A1”
之类的值转换为公式=A1
的简单方法如下
(a) 当宏在后台运行时,当它运行并单击另一个应用程序时,您是否感到厌烦?这将导致击键被发送到另一个应用程序。(b) 如果你没有感到无聊,那么Excel可能是。尝试将
DoEvents
放入循环中。(c) 如果所有公式都以“=”开头,而计算值都不以“=”开头,则可以使用如果左(c.Value,1)=“=”然后使用c.Formula=c.Value
将当前文本值转换为公式,从而避免SendKeys
。太棒了!非常感谢你!下面的代码非常有效:“Sub clickinout()Sheets(“Sheet3”)。为Rng中的每个c选择Set Rng=Range(“Sheet3!d1:d42000”)。单元格如果左侧(c.Value,1)=“=”,则c.Formula=c.Value下一个范围(“d1”)。选择End Sub“如果您将该代码粘贴为“自我回答”,可能是最好的选择。这样,如果其他任何人将来有类似的问题,并且去寻找解决方案,他们可能会找到你的问题和相关的答案。(如果我在一两天内没有看到答案,我会自己把它作为答案发布。)(a)当宏在后台运行时,当它运行并点击另一个应用程序时,你是否感到厌烦?这将导致击键被发送到另一个应用程序。(b) 如果你没有感到无聊,那么Excel可能是。尝试将DoEvents
放入循环中。(c) 如果所有公式都以“=”开头,而计算值都不以“=”开头,则可以使用如果左(c.Value,1)=“=”然后使用c.Formula=c.Value
将当前文本值转换为公式,从而避免SendKeys
。太棒了!非常感谢你!下面的代码非常有效:“Sub clickinout()Sheets(“Sheet3”)。为Rng中的每个c选择Set Rng=Range(“Sheet3!d1:d42000”)。单元格如果左侧(c.Value,1)=“=”,则c.Formula=c.Value下一个范围(“d1”)。选择End Sub“如果您将该代码粘贴为“自我回答”,可能是最好的选择。这样,如果其他任何人将来有类似的问题,并且去寻找解决方案,他们可能会找到你的问题和相关的答案。(如果我在一两天内没有看到答案,我会自己把它作为答案发布。)
Sub clickinout()
Sheets("Sheet3").Select
Set Rng = Range("Sheet3!D1:d42000")
For Each c In Rng.Cells
c.Select SendKeys "{F2}" SendKeys "{ENTER}" Selection.NumberFormat = "General"
Sub clickinout() Dim c As Range For Each c In Worksheets("Sheet3").Range("D1:D42000").Cells If Left(c.Value, 1) = "=" Then c.Formula = c.Value End If Next End Sub