我想了解一个vba函数,英镑和冒号符号贯穿它。 VBAfunction: kn = 1#: pn = 1#: y = 1# 我知道英镑符号用于在Excel VBA中将variables声明为double。 但是,从上述方面来看,这似乎没有任何意义。 上述function是做什么的?
我想将给定范围内的值转换成VBAstring,其中原始单元格值由任何选定的列分隔符和行分隔符分隔。 分隔符可以是一个字符或更长的string。 行分隔符是行尾的string。 string应该像我们从左上angular,从左到右,到右下angular读文本一样。 以下是范围A1中的VALUES的示例:C5: +—-+—-+—-+ | A1 | B1 | C1 | +—-+—-+—-+ | A2 | B2 | C2 | +—-+—-+—-+ | A3 | B3 | C3 | +—-+—-+—-+ | A4 | B4 | C4 | +—-+—-+—-+ | A5 | B5 | C5 | +—-+—-+—-+ 期望的结果是一个VBAstring: A1,B1,C1@$A$2,$B$2,$C$2@A3,B3,C3@A4,B4,C4@A5,B5,C5@ 为了可读性,我会这样显示它: A1,B1,C1@ A2,B2,C2@ A3,B3,C3@ A4,B4,C4@ A5,B5,C5@ 作为列分隔符,我select了(逗号)和行分隔符@符号。 […]
我没有太多的VBA经验,但我有时在工作中使用它。 最近我遇到了一个不该发生的问题,我的老板和我自己都不知道。 基本上,问题是Application属性DisplayAlerts默认设置为True ,并且由于某种原因无法更改。 可能相关的是当我遇到一个错误时,它总是显示“最终|debugging|帮助”警报,并且从不碰到应用的error handling。 我在64位Windows 7计算机上运行64位Office 2010。 然而,我不相信这是一个平台问题,因为我已经在多个不同的平台,操作系统和软件排列上进行了testing,没有其他机器有这个错误; 只是我的。 我已经创build了一些示例代码,以防有人遇到过这种情况或有任何想法。 我能想到的唯一的事情是,我的机器上安装了一些导致这种情况的东西。 但是在程序清除和许多重启之后,我并没有更接近于破译它可能是什么。 Public Sub TestErrorHandler() ' Suppress alerts Application.DisplayAlerts = False Dim strArray(1) As String strArray(0) = "Hello" strArray(1) = "World" ' Set up error handler On Error GoTo ErrHandler For i = 0 To 3 MsgBox strArray(i) Next ' Strip the error […]
我写了一些function性的VBA: Sheets("Src").Range("A2:A9").Copy Destination:=Sheets("Dest").Range("A2") 我想提取源范围到一个variables的灵活性。 SrcRange = Sheets("Src").Range("A2:A9") SrcRange.Copy Destination:=Sheets("Dest").Range("A2") 但是,这是行不通的。 什么SrcRange应该变暗? 第一行是否正确? 我尝试调暗SrcRange作为范围,它给了我 Runtime error 91: Object Variable or With block variable not set 我不是很熟悉的语言和文档已经离开了我想(我找不到的表格(索引)调用的返回types, 这是我发现最接近)。 当我点击录制macros时,执行一些操作,然后点击停止,macros体仍然是空白的。 任何人都可以阐明如何使用SrcRange作为variables?
我有以下vba代码来查找在下面的列中出现“0”: For Each c In Range("B:B") If c.Value = "0" Then MsgBox "0 found at " & (c.Address) End If Next c 我怎样才能修改代码,当它发现一个“0”,B6,它显示C7? 即。 它显示与find“0”的单元对angular相邻的单元格。
我需要帮助! 有人可以让我知道如何返回第n个字符后的字符? 例如,我所拥有的string是“001棒球”和“002高尔夫球”,我想让我的代码返回棒球和高尔夫,而不是数字部分。 由于数字之后的单词并不总是相同的长度,所以我不能使用= Right(String,n) 任何帮助将不胜感激
我需要每10分钟执行一次我的macros。 这允许它在10分钟内工作 sub my_Procedure () msgbox "hello world" end sub sub test() Application.OnTime Now + TimeValue("00:00:10"), "my_Procedure" end sub 但是这只能工作一次。 我怎样才能让我的macros每10分钟执行一次?
我有大约4000个单元格,每个单元格有大约4个单独的文本行。 每行文本都使用ALT + ENTER方法input。 任何人都可以提出一种方法,无论是VBA或Excel命令/方法将这些单元格中的每一个转换成一行,并在单词之间留有空格。 示例:当前单元格1: 关于 马 狗 需要:单元格1: 关于马狗 任何帮助深表感谢
我有一个包含大量文本框的用户窗体。 当这些文本框的值发生变化时,我需要通过调用子程序AutoCalc()来根据文本框值重新计算最终结果值。 我有大约25个盒子,我不想单独添加Change()事件到每个调用该子例程的文本框。 当某个值发生变化时,调用AutoCalc()的最快和最有效的方法是什么?
我有2个问题。 当我按下esc键然后closuresUserform1 当我input在TextBox1 open ,那么Userform2应该显示。 同时自动清除TextBox1中的TextBox1 。 我已经尝试了下面的代码: Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If textbox1.value = "open" then userform2.show textbox1.value ="" End If End Sub