Tag: vba

VBA IsNumeric去野外

请解释为什么下面的代码是随机的 当下面的代码行返回TRUE时返回FALSE ?Isnumeric("555-") 也 ?Isnumeric("555-"/2)返回TRUE 请解释一下IsNumeric随机行为?

Dir()函数的理解

' Display the names in C:\ that represent directories. MyPath = "c:\" ' Set the path. MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry. Do While MyName <> "" ' Start the loop. ' Use bitwise comparison to make sure MyName is a directory. If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then ' […]

Workbooks.Open方法在VBA中

我在myMacro.xls Workbooks.Open方法中的vba脚本如下所示, Workbooks.Open Filename:="D:\ExcelMacroProj\myTest.xls", ReadOnly:=True 但是,当我尝试将Filename值更改为下面的新path,但我所有的做法都不起作用。 显示运行时错误1004 。 Workbooks.Open Filename:="myTest.xls", ReadOnly:=True or Workbooks.Open Filename:="./myTest.xls", ReadOnly:=True or Workbooks.Open Filename:=".\myTest.xls", ReadOnly:=True 其实myMacro.xls和myTest.xls被放置在同一个文件夹中。 这就是为什么我想要更改为灵活的文件夹目录。 我怎么能解决这个问题? 赞赏您的阅读和答复。

寻找在Excel中select一个未确定数量的行作为更大的VBAmacros的一部分

我正在用一本包含大量表格的excel书籍工作; 第一张纸连接到外部程序并通过外部function拉入数据,并且导入的行数变化很大。 这个块数据是通过一些后续的工作表传播的。 第一步是用表1中的行数填充列A(行名)。从这里数据被分割成多个列(当前B-> L)。 最上面的一行使用IF()函数来填充第一行,我正在寻找一个干净的macros来将这个公式复制到第x行(每个数据导入刷新都不相同),然后粘贴一个可pipe理文件大小的值。 这是我迄今为止所得到的; 它工作,但它是相当(阅读:非常!)笨拙: Sub Refresh_Data() Sheets("Sheet2").Select ActiveWindow.ScrollWorkbookTabs Sheets:=13 Sheets(Array("Sheet2" … "Sheet25")).Select Sheets("Sheet2").Activate Sheets("Sheet25").Select Replace:=False Range("B1:L1").Select Selection.Copy Range("__B2:B1000__").Select ActiveSheet.Paste Application.Calculate ActiveWindow.ScrollWorkbookTabs Position:=xlFirst Sheets(Array("Sheet2" … "Sheet25")).Select Sheets("Sheet2").Activate Sheets("Sheet25").Select Replace:=False Sheets("Sheet2").Select Range("B3").Select Sheets(Array("Sheet2" … "Sheet25")).Select Sheets("Sheet2").Activate Sheets("Sheet25").Select Replace:=False Range("B3:L4").Select Range("__B2:L1000__").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Check_sheet").Select MsgBox […]

Excel VBA:通过单元格循环并将值复制到另一个工作簿

我已经花了几个小时在这个问题上,但我没有find一个工作解决scheme的成功。 这是我的问题描述 : 我想在一个工作簿中循环一定范围的单元格,并将值复制到另一个工作簿。 根据第一个工作簿中的当前列,我将这些值复制到第二个工作簿中的其他工作表中。 当我执行我的代码时,我总是得到runtime error 439: object does not support this method or property 。 我的代码看起来或多或less是这样的: Sub trial() Dim Group As Range Dim Mat As Range Dim CurCell_1 As Range Dim CurCell_2 As Range Application.ScreenUpdating = False Set CurCell_1 = Range("B3") 'starting point in wb 1 For Each Group in Workbooks("My_WB_1").Worksheets("My_Sheet").Range("B4:P4") Set CurCell_2 […]

在VBA中调换一个范围

我试图通过VBAmacros在Excel中转​​置一系列单元格,但我得到一些错误,主要是错误91。 我对VBA相当陌生,对function也不太了解。 Range(InRng).Select Set Range1 = Selection Dim DestRange As Range Set DestRange = Application.WorksheetFunction.Transpose(Range1) 通过几个论坛后,这是我所提出的。 有一点要注意的是,我不必将其复制到任何其他单元格中。 我想要实现的是创build一个协方差方法,在选项窗口中,用户可以select范围,然后select列或行,这将影响结果协方差matrix。

如何在一组数据之后自动插入空白行

我在下面创build了一个与Excel表类似的示例表,它可以用来说明这个问题。 我想简单地在column1中的每个不同的数据之后添加一行(最简单的方法,使用excel,谢谢)。 _ 当前表: column1 | column2 | column3 ———————————- A | small | blue A | small | orange A | small | yellow B | med | yellow B | med | blue C | large | green D | large | green D | small | pink _ 希望桌子 注意:每个不同列之后的空白行 column1 | […]

在Excel中selectActiveCell行的第1到第10列

这是关于一个macros的macros。 当键组合键被按下时(即macros被触发),我需要对具有ActiveCell的行的第1到第10列进行格式更改。 目前我正在select整行 ActiveCell.EntireRow.Select 但是,我只需要select1到10行。我认为它应该是类似的东西 ActiveCell.Range(1, 10).Select 但是这不起作用。 只是要清楚,我已经读了 ActiveCell.Offset(5, -4).Select 但是这不适用于我的情况。 ActiveCell可以是该行的任何列,因此硬编码偏移不会有帮助。 所以,那里的优秀大师,我希望这是一个快速的东西,只是不知何故,我找不到答案。 请帮忙。

使用vba读取整个文本文件

我正在尝试使用vba读取文本文件。 我试了下面的代码 Open "C:\tester.txt" For Input As #1 Worksheets("UI").Range("H12").Value = Input$(LOF(1), 1) Close #1 当我运行这个我得到一个错误。 运行时错误“62”。 input文件末尾。 文本文件的内容是: 无法打开COM10。 确保它已连接 加上其他的东西 还有更多的东西 方式更多的东西 预先感谢您的帮助。

来自类模块的全局variables声明

我有一个工作簿与多个模块和多个潜艇。 虽然有一些variables,但是在大多数的潜艇中,如给定的作业系统一直在使用。 例如 dim cr as worksheet set cr=sheets("combined_report") 我写这个太多了。 我可以在一个类模块中写一次,并且可以使用任何模块中的任何子语中的“cr”,而不必重新分配它。