小编Tom*_*y Z的帖子

控制中断在2010(2013)Excel VBA中不起作用

我编写代码并且(尽管这很难相信很多),偶尔会搞砸,创建一个无限循环.使用我的新奇特Excel,Ctrl + Break不再有效.Esc键等也没有.我看过整个网络,看起来微软有一个错误,并不关心修复它.

有没有人知道如何重新向VBA引入Ctrl + Break功能,所以如果将来发生这种情况我不会失去工作/强制关闭?谢谢!

vba ctrl break excel-vba infinite-loop

19
推荐指数
5
解决办法
5万
查看次数

为什么我不能将我的工作簿定义为对象?

为什么我不能通过这些方式定义工作簿?(我有一个范围位,只是为了快速测试.)我该如何解决?

这会产生一个 "Compile Error: Type Mismatch"

Sub Setwbk()

    Dim wbk As Workbook

    Set wbk = "F:\Quarterly Reports\2012 Reports\New Reports\ _
           Master Benchmark Data Sheet.xlsx"

    Range("A2") = wbk.Name

End Sub
Run Code Online (Sandbox Code Playgroud)

这创造了一个 "Runtime Error '91': Object variable or with block variable not set"

Sub Setwbk()

    Dim wbk As Workbook

    wbk = "F:\Quarterly Reports\2012 Reports\New Reports\ _
          Master Benchmark Data Sheet.xlsx"

    Range("A2") = wbk.Name

End Sub
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?我已经在VBA打了一个月,变得非常复杂,但这让我很难过.我错过了一些基本的东西.
我只想定义一个工作簿,所以我不必全部输入!

excel vba excel-vba

15
推荐指数
2
解决办法
10万
查看次数

使用VBA在单元格中查找字符串

我已经为此烦恼了一天,在高处和低处搜寻,并且可能试图变得太可爱了,因此完全被卡住了。

我正在尝试运行一个简单的如果

如果一个单元格包含“%”,我希望它做一件事,如果不是,则要做另一件事。由于某些原因,我不明白我无法解决它。我显然已经从其他地方吸取了一些想法,但仍然无法使它起作用。

复杂的因素-我不想在整个列(仅一个表)上运行此函数,因此将其嵌入到使用很多或相对ActiveCell的较大子集中。我永远不知道我会在A列中的哪个位置遇到“%变化”,因此范围始终必须是可变的。我希望VBA / VBE在包含“%”的单元格上执行其他操作。所以

这是原始数据的样子

Initial Value (6/30/06)

Value (12/31/06)

Net Additions (9/30/07)

Withdrawal (12/07)

Value (12/31/07)

Withdrawal (2008)

Value (12/31/08)

Addition (8/26/09)

Value (12/31/09)

Value (12/31/10)

Value (12/30/11)

Value (3/31/12)

% Change 1st Quarter

% Change Since Inception
Run Code Online (Sandbox Code Playgroud)

但是,当我运行以下代码时,它陷入了一个糟糕的循环,在该循环中,它应该退出子程序的“ If Then”(而不是子程序的“ Else”部分)。

Sub IfTest()
 'This should split the information in a table up into cells
 Dim Splitter() As String
 Dim LenValue As Integer     'Gives the number of characters in date string
 Dim LeftValue As Integer    'One less …
Run Code Online (Sandbox Code Playgroud)

string excel search vba excel-vba

6
推荐指数
1
解决办法
10万
查看次数

用户定义的类型未定义 - 从Excel控制Word

我正在尝试做一些相对简单的复制并从Excel 2007粘贴到Word 2007.我已经浏览了这个网站和其他人,并继续挂在同一件事 - 第三行,下面的代码一直给我"用户类型注释定义"错误消息.我真的很困惑,因为我刚从另一个解决方案解除了这个问题(并且我尝试解除其他解决方案时遇到了类似的问题).有人可以告诉我导致错误的原因,为什么?

Sub ControlWord()
' **** The line below gives me the error ****
Dim appWD As Word.Application
' Create a new instance of Word & make it visible
Set appWD = CreateObject("Word.Application.12")
appWD.Visible = True

'Find the last row with data in the spreadsheet
FinalRow = Range("A9999").End(xlUp).Row
For i = 1 To FinalRow
    ' Copy the current row
    Worksheets("Sheet1").Rows(i).Copy
    ' Tell Word to create a new document
    appWD.Documents.Add
    ' Tell Word to paste the contents of …
Run Code Online (Sandbox Code Playgroud)

excel vba ms-word excel-2007 excel-vba

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

标签 统计

excel-vba ×4

vba ×4

excel ×3

break ×1

ctrl ×1

excel-2007 ×1

infinite-loop ×1

ms-word ×1

search ×1

string ×1