Articles of excel vba

如何select列中的多个单元格

到目前为止,我可以在input框中input一个单词,并让它返回特定单词内出现特定单词的次数。 我想要做的是selectinput的单词出现在每个单元格或者突出显示单词出现在每个单元格。这是我已经: Sub wordcounter() Dim word As String Dim count As Integer word = InputBox(Prompt:="Enter word to search: ", Title:="Enter Word", Default:="Search word") For Each cell In ActiveSheet.UsedRange.Columns("G").Cells cell.Value = LCase(cell.Value) If InStr(cell.Value, word) Then cell.select End If If InStr(cell.Value, word) Then count = count + 1 End If Next cell MsgBox (word & " […]

使用shell命令在vba中执行batch file不起作用

我已经创build了batch file从networking驱动器复制文件到本地。 .bat文件: SET username=%1 SET password=%2 net use "\\gesvij\toys\names" %password% /user:shop\%username% :copy Xcopy "\\gesvij\toys\names" "%appdata%\Microsoft\Templates" /S /E IF ERRORLEVEL 0 goto disconnect goto end :disconnect net use "\\gesvij\toys\names" /delete goto end :end 我已经尝试了下面的代码来执行vba中的batch file。 sub ok_click dim un as string dim pd as string un = " " + un_text.value pd = " " […]

Excel中的VBA在Windows 2007机器中工作正常,但不是Windows 10

我有这个VBA的位 Sub populateChartData() Dim i As Integer Dim j As Integer Dim finalRowSheet2 As Integer Dim k As Integer Dim n As Integer Dim Sheet2 As Worksheet Dim price As Double Dim cnt As Integer With Worksheets("Data") Set Sheet2 = Worksheets("Sheet2") finalRowSheet2 = Sheet2.UsedRange.Rows.Count For i = 2 To 5 For j = 2 To […]

传输特定于Windows的macros以在Mac Excel上运行

我最近从PC变成了Mac。 我运行了很多macros,其中99%运行正常,但是我有一个在Mac上无法运行。 它在文件中的所有工作簿上运行一组其他macros。 要做到这一点,它使用这样的string: Function BrowseFolder(Title As String, _ Optional InitialFolder As String = vbNullString, _ Optional InitialView As Office.MsoFileDialogView = _ msoFileDialogViewList) As String 当我尝试在Mac上运行它时,会返回一个错误: “编译错误:variables未定义” 我想知道是否有人可以帮助我移植这个macros在Mac上运行。 它build立在Excel 2007 Windows上,我试图在Excel 2011 Mac上运行它。 Option Explicit Function GetFolder(Optional strPath As String) As String Dim fldr As FileDialog Dim sItem As String Set fldr = Application.FileDialog(msoFileDialogFolderPicker) With […]

macros在Windows上正常工作,但在Mac上失败

我创build了一个macros,当选中某个特定范围内的任何单元格时,它基本上都会被执行。 这是我的代码: Private cellSelected As String Private cellDData As String Private cellEData As String Private cellFData As String Private cellGData As String Private cellIData As String Private cellD As String Private cellE As String Private cellF As String Private cellG As String Private cellI As String Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' [START] Transaction […]

如何在Excel VBA中调用“添加数字签名”对话框

我想写一个简单的Excelmacros,为用户调用添加数字签名对话框。 我不想添加签名本身,只是显示添加数字签名对话框,以便用户不必自己查找它。 我正在search解决scheme,并了解这不能在本机Excel VBA中完成。 必须直接调用Windows Shell。 我怎么做?

VBA Unix到DOS文本转换代码错误

我目前正在创build一个代码,创build一个文本文件,从Unix数据文件转储数据到一个临时文本文件,我可以在vba中访问数据后处理。 我的macros只适用于当这个文件是在DOS格式,所以我试图将从Unix的行饲料转换到DOS。 现在,当我尝试将修改后的文本写入临时文件时,出现错误。 我的代码列在下面 Filepath = Application.GetOpenFilename(".f06 files (*.f06),*.f06") Dim tempFilepath As String tempFilepath = Replace(Filepath, ".f06", "_temp.txt") Dim realfile As Integer realfile = FreeFile Dim tempfile As Integer tempfile = FreeFile Dim FileContent As String Open tempFilepath For Output As tempfile Close #1 Open Filepath For Input As realfile Do While Not EOF(realfile) Line […]

VBA:将多个Word文件组合成一个后,Microsoft Word进程不会退出

我正在尝试将多个Word文件合并为一个。 我正在MS Excel中使用VBA例程。 Word文件都在一个名为“文件”的文件夹中,我想在一个文件夹中创build一个新文件“combinedfile.docx”。 我面临的问题是在合并文件后(不pipe它是否在VBA函数执行后退出),Word过程的行为。 在一些机器上,这个过程工作正常(除了页面2和最后一页为空白),而在其他一些机器上,合并的文档包含一个空白页面,进程pipe理器显示由VBA函数启动的Word进程仍然是运行。 我不习惯于VBA编程,正如你可以在下面的代码中看到的,我不知道正确的方式来closures打开的文档,并退出一个开放的Word过程。 如果有人可以看看我已经做了什么,并build议一种方法来解决这个问题,这将是非常有益的。 我也有兴趣知道这是否合并几个Word文件的正确方法。 如果有更好的方法,请让我知道。 'the flow: ' start a word process to create a blank file "combinedfile.docx" ' loop over all documents in "files" folder and do the following: ' open the file, insert it at the end of combinedfile.docx, then insert pagebreak ' close the file and exit […]

Excel VBA – 有没有TextChanging / TextChanged或类似的事件? 或者如何移动select而不使用Enter?

最近有人问我是否可以在Excel VBA中创build一个允许用户键入两个数字并使其自动进入下一行的macros。 这样做的目的是让他们可以一次input两个数字的分数,而不必按下input键,因为他们打字不是很好。 当我第一次听到这个,他提到它是Visual Basic,所以我想我只是在单元格范围内使用TextChanging或TextChanged事件,并使其工作。 但是,迄今为止,我还没有find任何类似事件或类似事件。 我遇到的第一件事是Workbook_Change,但是只有在按下回车键后才会改变,这对我没用。 有人提到有这样一个事件,但不能直接命名,我一直无法find他们在说什么。 如果任何人有任何信息,如果这样的事件存在或是可能的,我很想知道。 据我所知,Excel版本是2007年。

在内存中保留脚本字典,VBA

我在VBA中使用脚本字典来保存Excel 2010中的1,840,000个键和值对。我想声明并填充它们一次,然后在我的模块和函数中使用它们。 对于初学者,我宣布dictioanry为public,使用Public dict As Scripting.Dictionary Dict Public dict As Scripting.Dictionary ,然后将其填充到worksheet_activate() 。 我如何保存并在其他MODS中使用它? 谢谢