我正在尝试加快我的程序在数组中搜索字符串的速度。例如,我正在编写一个程序,它在1000个随机单词的列中搜索单词"test“。
目前我的程序是一个简单的:
If Cells(x,1).Value = "test" Then
...
End If
然而,这是我的想法,
If Left(Cells(x,1).Value,1) = "t" Then
If Left(Cells(x,1).Value,2) = "te" Then
... and so on ...
End If
但后来我开始想,当我请求VBA来测试value = "test
VBA正则表达式字符组不支持unicode字符组(例如{p(L})。此外,\w仅匹配拉丁字母数字。所以我的问题是如何在不在pattern字段中键入整个字符列表的情况下替换unicode字符串中的非字母数字字符。
例如,如果尝试将"abc (for αβψ̌) and de (for δε)"中的每个非单词字符替换为下划线,则模式\W将导致"abc__for_______and_de__for____"而不是abc__for_αβψ___and_de__for_δε_
最后,我认为至少有一个快速的解决方案...
我是一个初学者,使用vba尝试做简单的程序,它有一个列表框,一旦用户单击该项目从列表框,该项目的其他信息应出现在表单中。
Private Sub ListBox1_Click()
Dim ename As String
Dim star As Integer
ename = ListBox1.Value
Lblname.Caption = " Employee Name: " & ename
star = Application.Worksheet
我正在开发一些VBA,它将在工作表中搜索特定的单词或短语,如果遇到该词或短语,我希望它能够抓取整个专栏并复制它。不幸的是,当我试图将搜索结果设置为与我的变量相等时,我总是遇到一个问题。
Dim Srch As Range
Set Srch = Cell.Find(What:="Foundation Account", After:=ActiveCell, LookIn:= _
xlValues, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False)
If
对于Word 2019,我可以在VBA中使用正则表达式:
Dim RegEx As New RegExp
Dim Matches As MatchCollection
RegEx.Pattern = "[\d\w]+"
Text = "HelloWorld"
Set Matches = RegEx.Execute(Text)
但是如何匹配所有Unicode字符和所有数字呢?
\p{L}在我的PHP中运行得很好,但在Word 2019的VBA中,这并不适用于我。
我想找到有字符和数字的单词。因此,在PHP中,我使用这个[\p{L}\p{N}]+。在VBA中,我可
我尝试在word VBA中使用Find.FindText查找单词的前几个字母,然后选择该单词的其余部分。例如,如果我有:“你好,AB-1234-123检查”
我会找到"AB-“,然后选择单词的其余部分,得到"AB-1234-123”。我不能使用空间作为我的MoveEndUntil(“"),因为,有时,这个词以句号结尾。
到目前为止,我的代码是
SearchString = "AB-"
With Rng.Find
Do While .Execute(FindText:=SearchString, Forward:=True) = True
下午好, 请原谅这可能是非常简单的编码,我是VBA的新手。 本质上,我要做的是在VBA中从用户表单更新电子表格。我从有效地将ComboBox中的选择添加到我的电子表格中开始。 我想让代码在电子表格中查找名称,转到第5列并插入来自ComboBox的结果-在本例中是单词"complete“ 我尝试过的代码如下: Private Sub ComboBox1_Change()
Dim DOCUMENT As String
Dim Status_Cell As Range
DOCUMENT = "Report 1"
Status_Cell = Applicati
我想在vba中创建一个函数来从字符串中提取前n个单词,如下所示
分隔符(affected_text,ExtractWords,number_of_words_to_extract)
我尝试了一个解决方案,但它只提取了前两个单词。
Function FirstWords(myStr As Variant, delimiter,words_to_extract) As Variant
FirstWords = Left(myStr, InStr(InStr(1, myStr, delimiter) + 1, myStr, delimiter, vbTextCompare) - 1)
End F
我对VBA比较陌生,而且正在慢慢地学习。
我有一个非常基本的宏,它将在我的第一个工作表的C列中查找单词C,然后将整个行复制到一个辅助工作表中,该辅助工作表也称为PASS。
我只试图从列A:E复制和粘贴该行中的数据。下面是我的当前代码。我尝试过添加.range("A:E"),但是它什么也没做。
任何关于如何只复制该特定行的列A-E中的信息的帮助都将不胜感激。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Intersect(Target, Me.Range("C:C"
只是想看看是否可以在表的第二列上使用VLookup?我无穷无尽地寻找,也找不到答案,但我觉得这应该是可能的。
在这一点上,我要补充说,VBA不是我的强项。我来自PHP/MySQL背景,但没有在工作中使用这两者的奢侈,所以我求助于学习VBA。
到目前为止我的代码(简化):
Dim userEnviron As String
Dim rowId As Integer
rowId = 0
userEnviron = Environ("Username")
Dim tbladmin As ListObject
Set tbladmin = Sheets("Office De
在excel中,我有一列单词需要转换为整数。例如,我有一个行业专栏:
资本货物,
列出项目,
消费者服务,
技术等
我想用一个整数来代替这些行业。
下面,我在VBA中尝试的一些东西,但没有奏效。在这里,我试图遍历列,如果当前单元格中的单词与前一个单元格中的单词不同,那么我就给它分配一个不同的整数。(但这不起作用)
Sub WordtoNum()
Dim ws As Worksheet
Dim varList
Dim rng1 As Range
Dim lngCnt As Long
Dim startrow, wsheet, tt
在word中,在文档的用户选择了Ctrl之后,很容易使用vba对多个字符串、单词、句子等应用突出显示。但是,当我选择几个单词并运行下面的语句时,只会更改我选择的最后一个单词。是否有方法将wdtitleword应用于多个选定的单词?谢谢。
sub a()
Selection.Range.Case = wdTitleWord
end sub
我对VBA非常陌生,我试图在工作簿中隐藏一些列。我必须在VBA中这样做,因为工作簿是Office工作簿的工作簿,所以我必须隐藏一些最终用户不需要看到的列。我的问题是,我不能指向列的特定字母,因为工作簿可以像枢轴一样修改,与打开的默认维度类似,如果我指向代码中的特定列,当用户添加新维度时,情况就不一样了。所以我必须找到这个列的名字和隐藏它。
所以现在我试了一下:
Sub Hide_Columns()
'Dim Sourcecell As Range
Dim wb As Workbook
Dim ws As Worksheet
'Set Sourcecell = Nothing
&
很抱歉打扰你们,但我有qq:
Task:有一列包含一个我需要查找的单词("Kermit")。然后从"Kermit“向下选择单元格,直到最后一个。而不是改变颜色,仅此而已。
问题:我想将第一个变量用于具有单词Kermit的单元格,第二个变量用于我最终的最终选择。我真的对VBA和变量感到困惑。有什么想法吗?感谢advance!
Sub Muppets()
Dim Kermit As Range
Set Kermit = Cells.Find("Kermit")
Dim ooo As Range
Set ooo = Ran
我正在尝试管理Android和IntelliJ IDEA中相对较大的项目。我想使用一个标记接口来指示以某种方式未完成的类。
public interface ToDo {
}
麻烦的是,当我单击"has“图标时,我会得到包含单词implements ToDo的所有类子类的列表,包括匿名类(正如我应该的那样)。是否可以进行搜索,以便只获得单词implements ToDo实际出现的类的列表?如果没有,是否有其他方法可供选择?
如何将输入框中的用户输入限制为字母、数字和字符‘-’?我尝试了以下代码。
For I = 1 To Len(UserInput)
If VBA.Asc(VBA.Mid(UserInput, I, 1)) >= 65 And VBA.Asc(VBA.Mid(UserInput, I, 1)) <= 90 Or VBA.Asc(VBA.Mid(UserInput, I, 1)) >= 0 And VBA.Asc(VBA.Mid(UserInput, I, 1)) <= 9 Or VBA.Asc(VBA.Mid(UserInput, I, 1)) = 45
如何使用Excel单元格内容(日期)搜索另一个工作表上的某个区域,并返回该区域中该日期右侧的单元格中包含的该日期的相关信息。我需要检查日期是否是工作日而不是假日,以及是否是月底。该范围内有
Column 1 Column 2 Column 3 Column 4 Column 5
Date Day of Week BD or WE HD or NH Y or N
BD =工作日,WE =周末,HD =节假日,NH =非节假日,Y=月末,N=非月末从2011年到2016年的每个日期都在该范围内计算
我想使用用户在工作表的单元格中输入的日期