Tag: debugging

停止Excel切换到“对象”视图

我正在debugging这个VBA脚本,每当我点击RESET(小蓝色方块)时,它就会把我从“代码视图”中解放出来,然后放回到“对象视图”中。 真令人气愤 有没有办法阻止这种行为? 截图: 对象视图: 代码视图:

1004错误:没有find单元格,简单的解决scheme?

在我的macros中,我有一个看段落的段,find并填充空白单元格。 Range("E10:A" & CStr(bottom – 1)).Select Selection.SpecialCells(xlCellTypeBlanks).Select Selection.Value = "N/A" 哪里 bottom = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row 当范围内存在一个空白单元格时,这是完美的,但会抛出“1004错误:找不到单元格”。 在specialcells.select行。 我很难想出一个简单的方法来解决这个问题。 我明白,我可以在范围内运行一个循环来首先检查空白单元格,但是我觉得这个方法会很慢很笨重。 有没有人有更快和/或更简单的解决scheme? PS我知道我可以巩固我的上面的代码行,我只是把它放在这里,以便更容易理解; Range("E10:A" & CStr(bottom – 1)).SpecialCells(xlCellTypeBlanks).Value = "N/A"

在Excel VBA中检查公共variables的值 – Locals Window Alternative

我一直在使用Locals窗口来检查过程级variables的分配。 我最近更新了我的代码,以创build一个公共级别的variables集合,这些variables从工作表中读取某些不会改变的input。 当试图检查这些variables时,我不会在Locals窗口中看到它们,毫无疑问,因为它们不是本地定义的variables! 公共variables的本地窗口是否有其他select? 如果不是,我该如何检查公共variables赋值?

Excel:错误中断不能在用户定义的函数中使用

看起来,当从单元格公式(即“用户定义函数”或UDF)调用VBA代码时,通常的VBA Break On Error不起作用。 我唯一可以find这种行为的地方是一篇名为“为Excel 2007和Excel Services开发用户定义的函数”的文章中的几行: error handling返回#VALUE错误。 由UDF代码抛出的所有exception都以#VALUE错误的forms返回到Excel工作表中。 即使您将Error Trapping设置为“Break on All Errors”并单步执行代码**,您也将永远无法看到VBA运行时错误对话框–Excel只是静静地放弃执行,而不会告诉您哪里出错了。 当然,这使得debugging比需要更困难。 有一些潜在的解决方法涉及On Error但是我宁愿不要混淆我的代码,只是为了找出引发错误的位置。 是否有一些Excel / VBA选项,我忽略了这将使Break On Error正常工作? 我正在使用Excel 2003。 **从单元调用时进入debugging器的唯一方法是设置断点或使用Stop语句

Excel跟踪CSV文件中的逗号错误

我有一个XLS文件在Excel 2003中创build一个带有macros的CSV文件,我有40 +列,最后3个是可选的,因此在XLS上有很多空的值,当我运行导出子程序,它不会把所有行上的尾随逗号,为什么? 因为: http : //support.microsoft.com/kb/77295 -.- 在Microsoft Office Excel中,如果以文本或CSV(逗号分隔值)格式保存文件,Excel将在工作表的每列之间放置制表符或逗号。 但是,某些文本文件可能以16行块的不同数量的制表符或逗号保存。 这里是他们build议的工作: 要确保Excel保存所有空列的制表符或逗号分隔符,请确保文件中的最后一列在整个文件中至less每隔16行包含一些数据。 如果行块不包含数据,则将每16行中的空格或其他字符添加到最后一列中的单元格,或者重新排列工作表中的列,以便工作表上的最后一列始终包含信息。 – 。 – 方式去微软! -.- 好了,所以我的主要问题是,生成的文件将被另一个程序parsing出我的范围,这需要特定的格式,因为它现在我每隔16行添加一个空白,如果该字段为空,这似乎这样做但数据处理部门正在抱怨这个空白…你能相信他们吗? 无论如何,我也试图添加一个标志,并删除它与查找function,但ofc当你保存文件它将带走分隔符… 感谢您阅读我的历史; p 有什么build议么 ? 编辑:不幸的是,使用Excel是必须的,数据是由不同的用户通过Excel表格手动input,VBA代码更像模板生成等。这是我唯一的问题,这是不可行的改变整个过程。

Excel VBA编译抛出一个“用户定义的types没有定义”的错误,但不会触犯代码行

症状 编译Excel VBA项目时,这是一个特别的症状。 发生以下错误: User-defined type not defined 但是,产生这个错误的代码没有被编译器突出显示,所以我不能确定这个问题。 我已经知道,并已经尝试 这是一个“用户定义的types没有定义”的错误,我曾经看到过,有些简单的问题,例如命名As Strig而不是As String 。 然而,这个特定的错误只是在Debug > Compile VBAProject菜单选项popup,当错误消息框popup时,它不会突出显示错误发生的代码行。 经过大量的研究,我发现这个bug可能与缺less的引用有关,我已经排除了所有需要的引用和工具箱对象。 为了确保我没有丢失任何明显缺less的Dim语句,我添加了Option Explicit到所有的代码页(包括表单),以确保没有丢失任何东西。 运行编译时仍然显示错误。 还有这个已知的错误 ,说明这个问题已经发生,因为VB6项目使用二进制兼容性: closures二进制兼容性并编译该项目。 Visual Basic将突出显示包含未定义的用户定义types的代码行。 解决问题后,二进制兼容性可以重新打开。 我发现这篇文章通过这个问题和答案 ,但是,我不能在标准的Excel VBA编辑器中find此选项。 帮助拯救我和他人的理智! 我从Google的search和其他问题知道,我不是唯一一个有这个问题的人。 我已经尝试过通过代码手动,但有太多的线路,可行的做到这一点。 有没有办法在Excel VBA项目中closures二进制兼容性? 如果人们无法debugging他们需要改变的东西,人们会如何发现这个有害的代码行? 任何帮助将是可爱的! 先谢谢你。 编辑: 我find了违规的代码行,所以我的问题得到解决 在删除特定行后,问题仍然存在 – 它是代码中引用的表单上的一个mispelt控件名称。 这仍然不能解决你将如何去发现这个问题的问题的特定问题。 当这个错误发生时,我们是否能够find一个很好的方式来find有问题的代码,以便其他人在将来可以避免这种痛苦?

如何在WPF中debugging绑定

我有一个VS2008,C#WPF,Excel AddIn; 在某些情况下,我的插件引发exception A first chance exception of type 'System.InvalidOperationException' occurred in PresentationFramework.dll A first chance exception of type 'System.NullReferenceException' occurred in PresentationFramework.dll 但我找不到exception来自哪里。 我知道这是B / C数据绑定。 但无法find在哪里。 每次我介入,VS跟踪执行无错误的方法,然后,exception抛出,但没有线索的代码行。 我一直在苦苦挣扎,无法取得进展。 请帮忙。 谢谢 编辑,这是太长,以适应评论。 所以我只是把xaml文件放在这里。 抛出exception的@xmal文件。 DataGridComboBoxColumn引发exception <UserControl x:Class="View.BasketView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dg="http://schemas.microsoft.com/wpf/2008/toolkit" > <UserControl.Resources> <sharedC:FunctionToHiddenVisibility x:Key="enumSRToVis"/> <sharedC:FunctionToHiddenVisibility x:Key="enumCSToVis"/> <Style x:Key="DataGridRowStyle" TargetType="{x:Type dg:DataGridRow}"> <Style.Triggers> <Trigger Property="AlternationIndex" Value="1" […]