相关疑难解决方法(0)

为什么MS Excel在Worksheet_Change Sub过程中崩溃并关闭?

当我在Excel工作表上运行VBA代码时,我遇到了Excel崩溃的问题.
我正在尝试在工作表更改中添加以下公式:

Private Sub Worksheet_Change(ByVal Target As Range)
   Worksheets("testpage").Range("A1:A8").Formula = "=B1+C1"
End Sub
Run Code Online (Sandbox Code Playgroud)

运行此代码时,我收到一条消息" excel遇到问题并需要关闭 "并且excel关闭.

在此输入图像描述

如果我在Worksheet_Activate()过程中运行代码,它工作正常,不会崩溃

Private Sub Worksheet_Activate()
   Worksheets("testpage").Range("A1:A8").Formula = "=B1+C1"
End Sub
Run Code Online (Sandbox Code Playgroud)

但我真的需要它在Worksheet_Change()程序中工作.

有没有人在使用此Worksheet_Change()事件时遇到过类似的崩溃,有人能指出正确的方向来解决这个问题吗?

excel vba

38
推荐指数
2
解决办法
4万
查看次数

将整个范围转换为大写,而不循环遍历所有单元格

现在我正在使用以下代码将股票代码列表从小写字母转换为大写字母:

Dim Tickers As String
Dim n As Integer
For n = 2 To Last
    Tickers = UCase(W.Cells(n, 1).Value)
    W.Cells(n, 1).Value = Tickers
Next n
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以用来将整个范围转换成一行?就像是:

Range("A1:A20").convertouppercasesomehow
Run Code Online (Sandbox Code Playgroud)

excel vba range excel-vba uppercase

6
推荐指数
2
解决办法
3万
查看次数

标签 统计

excel ×2

vba ×2

excel-vba ×1

range ×1

uppercase ×1