Tag: string

如何检查string中的可变数字

早上好, 我正在尝试创buildVBA代码,以确定是否在stringfindvariablesvalue (数字)。 string长度可以有所不同,可以包含1个或多个由a和空格隔开的数字。 我试图使用InStr方法,但不幸的是,如果我的value是1,并且string包含17,则它返回为true。 我怎样才能使它返回假,因为1不等于17。 以下是我目前的代码: 'FRB_Code and FRB_Array are variable values within my code but for 'the purpose of this question I have assigned them values. FRB_Array = "10, 17, 21" FRB_Code = 1 'ce.Value If InStr(FRB_Array, FRB_Code) Then MsgBox "Found" Else MsgBox "Not Found" ce.Delete Shift:=xlUp End If Next ce End If […]

状态缩写后提取邮政编码

我有一个带有几个客户的完整邮件地址的Excel文件,我只需填写一个只有5位数字的邮政编码,这个邮政编码始终遵循相同的州名缩写“TX”。 有时在邮政编码后面加上一个电话号码,有时候不是。 如果有一种方法可以在TX之后select5位数字,并将该信息移动到一个新的单元格,直到最后一行,我还没有find它。 我对VBA来说是全新的,只需要一次性的工作。 例: D3有Namey Name Streety Street TX 75029 432-239-2490 D4有Namity Names Streetick Street TX 73902 我想把75029移到F3和73902到F4。

用excel 2007中的VBA将存储在string中的数字与包含格式为文本的数字的单元格进行比较

我试图比较一个string(可能是数字和字母的组合,或者只是数字)到格式为文本(其内容可能是数字和字母的组合,或者只是数字)的单元格。 我发现,当它将具有字母和数字的string与具有匹配内容的单元格进行比较时,它能够正确识别它们是否相同。 但是,当string只包含数字与包含相同内容的单元格进行比较时,它不会将其识别为匹配。 我的代码: If location.Value = identifier then msgbox "Matching" identifier是一个string, location的单元格被格式化为文本。 我也发现,如果我改用: Dim ID_holder As String ID_holder = location.value If ID_holder = identifier then msgbox "Matching" 那么它就能够识别两个数字(存储为string)是否相等。 是否有避免使用额外的步骤使用一个string来保存location.value ? 如果有人知道为什么我原来的方法失败了,也将不胜感激。 谢谢。

从string计算MAX的公式

在列中列出了一些周数的单元格,例如: A1 = Wk01 A2 = Wk02 A3 = Wk09 A4 = Wk32 A5 = Wk24 我想提取MIN和MAX周。 你能提出一个公式吗? A10 = MAX_Formula(A1:A5)= Wk32

Excel VBA添加空格formsStr()

我在Excel 2013 / VBA中有以下snipet。 代码是一个非常简单的随机单元/行生成器,然后在文本框中显示输出。 在Excel / Vba下面的代码片段中,在A和随机数字之间添加一个空格,例如: “一个14” 那里的预期输出是 “A14” 我已经得到解决这个使用Replace()函数,但是我想知道为什么这种行为发生我第一个地方。 这是否与Str()函数? Private Sub btnRetrieve_Click() Dim sh As Worksheet Set sh = ThisWorkbook.Sheets("CenRaw") Dim k As Long Dim selectedRow As String k = sh.Range("A2", sh.Range("A2").End(xlDown)).Rows.Count aRandNum = Int((k – 2) * Rnd + 2) selectedRow = Replace("A" & Str(aRandNum), " ", "") tbOne.Text = […]

把字符放在一个精确的string中

有没有办法把这种情况下的string“0”? 我想在第8位置零 例如: 设备4→设备04 我希望我能很好地解释这个问题。

将string从数组移动到新工作表

下面的代码将图像1中的单元格分解为图像2中所示的数组。将新的数组移动到AG开始。 之后,程序通过数组查找并find单词“hello”和“bye”。 它将这些单词移动到图3中新的图表和列中。在我遇到麻烦的情况下,我仍然想要拖动string“hello”和“bye”,但是我还想直接在string它从数组中。 在我的例子中(图3),我希望它自己阅读“John Hello”而不是“hello”。 我会使用什么函数从数组中提取'hello'或'bye'之前的string? Sub SplitWithFormat() Dim R As Range, C As Range Dim i As Long, V As Variant Dim varHorizArray As Variant Dim rge As Range Dim intCol As Integer Dim s As String Set R = Range("d1", Cells(Rows.Count, "d").End(xlUp)) For Each C In R With C .TextToColumns Destination:=.Range("AD1"), DataType:=xlDelimited, _ […]

string函数MID是否有更好的实现,或者VBA的更好的实现方式更快

我有脚本调用“MID”(16N)次,当N = 43时需要大约4分钟的执行时间。我不知道为什么它需要这么长时间,每次调用的string为〜440个字符: Sub Button1_Click() If Sheets.count = 1 Then a = ActiveWorkbook.Name ChDir "C:\" MsgBox "Be Prepared to a text file", vbExclamation, _ Application.ScreenUpdating = False Application.Calculation = xlCalculationManual FileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt") Workbooks.OpenText FileToOpen, Origin:=xlWindows, _ StartRow:=1, DataType:=xlDelimited, Tab:=True x = ActiveWorkbook.Name 'SO # workbook Workbooks(x).Sheets(1).Copy after:=Workbooks(a).Sheets(1) ActiveSheet.Name = "Results" Windows(x).Activate […]

Excel:date格式select“YYYY-MM-DD”select后没有正确显示串联

我已经将数据从SQL数据库复制到Excel中。 数据在被复制之前格式化的方式是: YYYY-MM-DD 复制完成后,在Excel中显示为M/DD/YYYY 。 我右键单击列并select“ 格式化单元格”以便根据需要自定义格式。 问题是,如果我select值,尽pipe电子表格显示了我需要的值,但是实际值本身是不同的(我将包含一个屏幕截图来显示我所看到的): 我的最终目标是select一个空单元格,并做一个简单的公式: =" DateValue="&B1&" " 但它输出的东西完全不同。 例如:如果我的date是2016-09-23月23日,或者如上图所示,应用上面的公式时,我会得到: DateValue=42636 当我需要的是: DateValue=2016-09-23 任何人都可以build议如何实现这个目标?

使用布尔值,匹配或sumif,使用转义字符对Excelstring进行比较

当我在数据库中进行文本比较时,我注意到一些奇怪的行为。 在我的数据库中,我想根据包含string的列SUM值。 在这个例子中,我想使用下面的string值来创build一个组str和一个组txt 。 str 2 str1 1 str2 0 txt 1 txt1 2 tx2 3 如果我用simpel boolean比较文本,即=(“str”=“str *”),它将返回False ,因为*是一个额外的字符。 这在某种程度上是有道理的。 但是,当我使用其他两种技术时,比较处理方式不同: 首先,以下简单的SUMIFS函数: =SUMIFS(B:B;A:A;"str*")和=SUMIFS(B:B;A:A;"txt*")包括“str”和“ txt“,表明比较是True 。 第二, =Match("str*";{Cell containing "str"};0)返回1,表示比较结果也返回True 。 为什么布尔string比较返回False ,而MATCH和SUMIFS都假设为True ?