我有字符串strInfo,其中包含"Employee John Maybach".
如何将"员工"部分设为黑色文本,将"约翰迈巴赫"部分设为红色?
"员工"部分将始终保持不变,但员工的姓名部分将更改为可能是由两部分组成的名称(John Doe),或者由三部分组成的名称(John Allen Doe)或仅仅是名字(约翰).
我希望"员工"这个词总是黑色的,但是单元格中的其余部分,即名称部分,都是红色的.这可能吗?
我一直在谷歌上搜索一页,在这里寻找这个看似简单的请求的解决方案,但无济于事.有没有人知道使用vba将字符串转换为句子的可靠方法?
理想情况下,我会将其构建为子而不是函数,因此从GUI调用更容易.
作为参考,我想要:
这里是一个长长的,高级的句子.请立刻向我致敬.
成为:
这是一个冗长,丑陋的大写句子.请立即修改我.
转换为标题案例我发现非常简单(因为有一个内置函数)但转换到句子案例确实非常困难.
我尝试了以下一些方法,但每次都会出现错误:
我怎样才能让它发挥作用?
我有一个脚本打开excel文件并运行宏,然后退出该文件.由于文件处于只读模式,并且脚本对文件进行临时更改,因此当脚本调用myExcelWorker.Quit()excel询问我是否要保存更改时,必须单击"否".有没有办法退出程序并跳过此框?
' Create a WshShell to get the current directory
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
' Create an Excel instance
Dim myExcelWorker
Set myExcelWorker = CreateObject("Excel.Application")
myExcelWorker.Visible = True
' Tell Excel what the current working directory is
' (otherwise it can't find the files)
Dim strSaveDefaultPath
Dim strPath
strSaveDefaultPath = myExcelWorker.DefaultFilePath
strPath = WshShell.CurrentDirectory
myExcelWorker.DefaultFilePath = strPath
' Open the Workbook specified on the command-line
Dim oWorkBook
Dim strWorkerWB
strWorkerWB = strPath & "\BugHistogram_v2.xlsm"
Set oWorkBook …Run Code Online (Sandbox Code Playgroud) 我在excel中有一个中等大小的数据集,我希望从中提取B列中值的最大值,但是那些只对应于A列中满足特定条件的单元格的值.
所需的功能类似于SUMIF或的功能COUNTIF,但这些功能都不是必需的返回数据.没有MAXIF功能; 我该如何模仿一个?
我想知道如何为 Outlook 自动安排一个宏。我创建了一个宏,它从电子邮件中提取附件并将其存储在一个文件夹中。当我通过单击宏“执行”执行该宏时,该宏运行良好。
但我希望这个宏每天自动执行,例如在来我办公室之前的 08:30。
谢谢
我想计算那天的天数
有没有办法实现这个目标?
现在我使用下面的代码将整个列更改为小写.
我想知道是否有更有效的方法来做到这一点 - 我的工作表中有大约150K行.
这需要一些时间才能完成,有时我会收到Out of Memory错误.
第一个子
Sub DeletingFl()
Dim ws1 As Worksheet
Dim rng1 As Range
Application.ScreenUpdating = False
Set ws1 = Sheets("Raw Sheet")
ws1.AutoFilterMode = False
Set rng1 = ws1.Range(ws1.[a1], ws1.Cells(Rows.Count, "A").End(xlUp))
rng1.AutoFilter 1, "Florida"
If rng1.SpecialCells(xlCellTypeVisible).Count > 1 Then
Set rng1 = rng1.Offset(1, 0).Resize(rng1.Rows.Count - 1)
rng1.EntireRow.Delete
End If
ws1.AutoFilterMode = False
Call DeletingEC
End Sub
Sub DeletingEC()
Dim ws1 As Worksheet
Dim rng1 As Range
Application.ScreenUpdating = False
Set ws1 = Sheets("Raw Sheet") …Run Code Online (Sandbox Code Playgroud) 我正在运行 VBA (Excel 2003) 并测试正向后视正则表达式模式。我运行下面的函数但收到以下错误:
Run-time error '5017': Method 'Execute' of object 'IRegExp2' failed
我也试过,
Set re = CreateObject("vbscrip.regexp")
但我得到同样的错误。我已经成功地测试了一些积极的前瞻,并且它们有效。只是后面的问题是有问题的。我已经用 Expresso 测试了下面的模式,效果很好。这是 VBA 特有的风味问题吗?
Function regexSearch(pattern As String, source As String) As String
Dim re As RegExp
Dim matches As MatchCollection
Dim match As match
'Create RegEx object
pattern = "(?<=a)b"
source = "cab"
Set re = New RegExp
re.Multiline = False
re.Global = True
re.IgnoreCase = False
re.pattern = pattern
'Execute
Set matches = re.Execute(source)
'Output
For Each match …Run Code Online (Sandbox Code Playgroud) 我想水平更改excel公式中的变量并保持一个变量不变.
O3/$C18, P3/$C18, Q3/$C18
我可以使用$符号保持底部变量不变,但是当我想将公式扩展到其他单元格时,top变量不会水平变化,而是垂直变化.
谢谢您的帮助.干杯