Questions tagged «vba»

Visual Basic应用程序;所有Microsoft Office应用程序中使用的Visual Basic的子集。考虑将该标签与该特定应用程序的标签一起使用。关于VBA的好问题通常包含一些代码,并要求解决特定问题。要求完整解决方案的问题(请给我代码/如何使用VBA做到这一点)不在主题之内,将因为过于广泛而封闭。

1
如何在Word VBA中的两个“书签”之间选择文本?
我使用了您为此前一个问题提供的代码,但我收到了编译错误:Sub或Function未定义。我正在使用VBA 7.1和Word 2016。 Sub SelectTextBetweenBookmarks() Set rngStart = ActiveDocument.Bookmarks("START").Range Set rngEnd = ActiveDocument.Bookmarks("END").Range Range(rngStart.Start, rngEnd.End).Select End Sub 谢谢您的帮助。

2
使用变量文件名在VBA中获取文件标签
我在Excel中使用VBA循环浏览一系列文件并决定导入哪些文件。我想决定使用文件标签之类的东西导入哪些文件,这样我就不需要打开每个文件了。我正在尝试使用 GetDetailsOf 获取它们的方法,但每当我尝试使用变量作为文件名时它就失败了。 此代码使用常量作为文件名,可正常工作: Sub TestTags() Dim strPath As String Dim strFile As String strPath = "C:\Users\XXXX\Documents\Safe Space\MacroTest\" strFile = Dir(strPath & "*.xls*") Do While strFile <> "" Debug.Print GetTags() strFile = Dir() Loop End Sub Function GetTags() Const csFile As String = "MyTestFile.xlsx" With CreateObject("Shell.Application").Namespace("C:\Users\XXXX\Documents\Safe Space\MacroTest\") GetTags = .GetDetailsOf(.Items.Item(csFile), …
2 vba 

1
如何在Access中返回当前记录号?
我想让我的表自动返回当前记录号。 我应该在此字段的默认值中输入哪些功能(以蓝色箭头表示),以便根据当前记录自动生成数字? 例如,在此表中,应填充数字“1”。如果我创建一个新记录,那么它也会分别自动填充数字“2”。 当前记录编号:


2
如何将引用另一个工作表的字符串转换为方程式?
我有这个细胞: ="='C:\Daily Reports\" & A1 & "\" & B1 &"\[Report " & C1 & ".xls]Report'!K4 它创建一个像这样的字符串: ='C:\Daily Reports\2015\11\[Report 03Nov15.xls]Report'!K4 如果我使用该字符串并将其手动复制到另一个单元格中,它将按我的意愿查找K4该工作表的值。 但是,我不知道如何使用Excel自动将创建的字符串转换为公式。 我尝试使用,=INDIRECT但是它不起作用,因为它需要打开我引用的工作簿。我也尝试过 Function Eval(Ref As String) Application.Volatile Eval = Evaluate(Ref) End Function 但是类似地,它需要打开工作簿。 有人知道我该怎么做吗?我感觉自己已经接近了,但是我不知道最后一步。我希望它完全使用Excel公式完成,但是如果需要,可以使用VBA函数。 提前致谢。

1
将Application.OnKey返回到先前的状态
我正在使用Application.OnKey在电子表格中轻松运行一些宏。当电子表格退出时,它通过将键设置为空来释放键。 但是,当时可能还有其他电子表格要使用相同的键打开,因此我希望能够将OnKey设置为电子表格打开时的状态。 是否可以将当前过程设置为OnKey(如果存在),以便稍后再设置? 我使用的是Excel 2010,但如有需要,可以移至2013或2016。 谢谢!

2
Excel VBA替换字符
我尝试查找此特定问题,但找不到它。 我正在尝试替换字符串中的各种字符。 我尝试使用字符代码循环遍历字符,但是我的代码会“随机”吗?删除整个字符串,而不只是特殊字符。(基本上我只想要字符串中的字母和数字) ABC-3.3%H14T-6 我只想要 ABC33H14T6 对此(对我而言)奇怪的是,我的代码将删除随机字符上的字符串,这并不总是chr(41)或任何事情,每次运行代码时都会更改。.也许是格式问题? For Char = 33 To 47 Sheets("Sheet1").Cells(FRow, 44).Replace What:=Chr(Char), Replacement:="", LookAt:=xlPart Next Char 我会给您大部分代码,但是它对工作敏感。

0
通过vbscripting验证word文档
你认为vba会帮助我学习如何通过vbscripting验证word文档。或者我必须严格学习word文档的vb脚本。我的主要问题是我想从第7行开始验证,然后在完成后退出文档。我不想在文档结束前验证。请让我知道怎么做。 Set objWord = CreateObject("Word.Application") objWord.Visible = True Set objDoc = objWord.Documents.Open(strFilePath) Set objSelection = objWord.Selection For i =0 to 1 objSelection.Find.Text =Date 'Today's Date objSelection.Find.Forward = TRUE objSelection.Find.MatchWholeWord = TRUE If objSelection.Find.Execute Then Call Verification(True, True,"The search string was found."&i, "") Else Call Verification(True, False,"The search string was not …

2
Excel 2013:VBA将公式从一个单元格复制到下一个单元格
我需要在Excel中将一个公式从Cell A3复制到B3,使用按钮在宏下运行: Sub Copy() Range("A3").Select ActiveCell.Offset(0, 1).Formula = ActiveCell.Formula End Sub 然后,随后每次单击该按钮,都需要将公式复制到范围(B3:J3)中的下一个单元格,直到填充整个范围。我不希望只需点击一下按钮即可立即填充范围,而只是每次点击一个单元格,因为这将在几周内发生,因此每周要填充一个单元格。


2
无法通过VBA覆盖Excel快捷方式
所以我有一堆键盘快捷键映射到我的工作表的各种宏。通常他们工作正常,但突然他们一群不工作。 奇怪的是这是不一致的。因此快捷键ctrl + q将正常工作,但ctrl + alt + r不会(ctrl + alt + r改为改变我突出显示的单元格的格式)。 在我正在使用的所有电子表格中都是如此 - 看起来任何涉及Alt键的快捷方式都没有被映射。 真正奇怪的是,在不同的计算机上运行这些完全相同的电子表格工作正常。 有人有主意吗?


2
确定第一个可见单元格是否等于最后一个
请问如何在vba中确定首次可见(使用过滤器后)单元格是否等于最后一个可见单元格? 如果我有: A5 = a,B5 = 1 A6 = b,B6 = 2 A7 = c,B7 = 1 A8 = a,B8 = 1 A9 = b,B9 = 2 然后,如果我过滤掉“1”,则列A将是:a,c,a。然后我什么都不做。 但是,当我过滤掉“2”时,A列将是:b,b。然后我需要C5例如= b。 这个 Range("A200").End(xlUp).SpecialCells(xlCellTypeVisible).Value 我不能使用,因为它也会使用A1,A2,A3和A4(我想),但我需要成为A5的“最后一个”。 我有这个: If Range("A5").End(xlDown).Value <> "first visible cell in Range("A5:A200")" Then ThisWorkbook.Sheets("Šablona").Range("B2").Value = "" Else ThisWorkbook.Sheets("Šablona").Range("B2").Value = "first …



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.