Tag: split

在_下划线之后用于提取##的VBA Excel

我有一个9位数字后跟一个下划线,然后是两位数字的数据集。 例如: 123456789_17 123456789_16 … 目前我有一个代码删除之前的数字下划线“ Sub Trunc3() Range("AF1:AF10000") = Evaluate(Replace("IF(ROW(),LEFT(@,FIND("" "",SUBSTITUTE(SUBSTITUTE(" & _ "@,""_"","" ""),""_"","" "")&"" "")-1))", "@", "E1:E100000")) End Sub 相反,我想将输出分成两列: 第一列应该是9位数字:123456789第二列应该是两位数年份:17 提前致谢。

Excel VBAmacros在分号之前获取文本的子string

我在这里有工作代码。 在第(3)节中,它从特定标题下的单元格获取值并将其打印到主文件中。 这些值通常看起来像 TL-18273982; 10MM TL-288762; 76DK CT-576 N / A 我想抓取第一个分号之前的信息。 并不是所有的单元格都有一个分号,所以它可能需要if语句的if语句; 然后在其前面打印所有内容。 我一直在尝试使用分离function来做到这一点,但我不是很熟悉VBA,所以我遇到了一些麻烦。 有什么build议么? Option Explicit Sub LoopThroughDirectory() Const ROW_HEADER As Long = 10 Dim objFSO As Object Dim objFolder As Object Dim objFile As Object Dim MyFolder As String Dim StartSht As Worksheet, ws As Worksheet Dim WB As Workbook Dim i […]

试图用多个variables分割单个单元格

我有非微软的文件,沿着看线: >gibberish that changes AAARRGGGHHHH 现在,我有一个代码来创build一个新的.xlsx文件来分割使用尝试转换文件,同时保留旧名称 。 但是,我希望“A2”单元格内容与每个单独的字母分配一个单元格,然后删除以前的内容。 我不介意这是否结束在A3到AZ。 因此,上面的例子我想转换成它看起来像: >gibberish that changes AAARRGGGHHHH 澄清“改变的胡言乱语”是不是一个常数,它改变每个文件我有什么是在这里表示。 第二行也是如此。 基于拆分单元格string到单个单元格 我试过这个代码: Dim sVar1 as string Dim sVar2 as string I = InStr(1, strX, "A" & "R" & "G" & "H") sVar1 = mid(strX, 1, I) sVar2 = mid(strx,i+1) 但是,这不会产生任何结果。 它不会导致macros失败(因为我没有得到任何错误信息,而macros的其余部分工作(将文件更改为另一种格式并更改名称),但它什么也没有做。我想使用string因为文件A2中内容和顺序的文件不断变化。 我也没有真正的分界符,就像ARRGHHHH被写成一个词一样,是否导致这个问题呢?

如何在单元格中分割多个值并链接到用户窗体中的checkbox

您好,我有以下代码search的姓氏和返回文本框中的值。 我希望checkbox取决于第6列(f.offset(0,5))。 但是,当我使用下面的代码,它不是拿起第6列的单元格中的多个值,它只能拿起第一个。 我怎样才能解决这个问题? Private Sub Search_Click() Dim Name As String Dim f As Range Dim r As Long Dim ws As Worksheet Dim s As Integer Dim FirstAddress As String Dim str() As String Name = surname.Value With ws Set f = Range("A:A").Find(what:=Name, LookIn:=xlValues) If Not f Is Nothing Then With Me firstname.Value = […]

VBA – find子string“TL”的第二次出现并删除之后的所有内容

它有什么作用:我有一段代码可以在单元格中find一个子stringTL,并通过在“TL-”后面加上或者删除0来强制它后面的数字长度为6。 (即, TL-00072 -> TL-000072 , TL-034 -> TL-000034 , TL-000000789 -> TL-000789 ) 我想要它做什么:但是,有时在一个单元格中有多个TL值。 我需要找出是否有TL的第二次发生,如果是的话,删除第二次发生和之后的所有事情。 例: Start: Output: TL-000789 TL-000187 TL-000773 -> TL-000789 TL-000689 TL -000787 -> TL-000689 TL-000982 TL – 980819 -> TL-000982 这是在我一直在使用拆分(不正确,不工作)的代码的尝试(也许修剪也会工作?),会发现TL的第二次发生,并删除它后面的一切。 完整的工作代码下面。 目前在CODE的尝试 Dim splitValues As Variant If Str(str, "TL" + 1) 'do not know how to get SECOND occurrence […]

VB – 将串行数据分割并分别存入Excel

我有一个forms为“X0507Y0512Z0413”的数据串。 我使用VB从pic微控制器读取数据,并使用在web上发现的VB脚本将数据加载到excel中。 我可以在上面的表单中将第一行数据放到电子表格的第一个单元格中。 不过,我希望将这个string分成三列X,Y和Z,并从每个variables的开始处放下字母。 它也必须每次读取长达20秒的数据,所以每个值都需要被附加到前一个。 这是我的VB脚本到目前为止,我已经尝试了Split()命令并收到错误13types不匹配。 Private Sub CommandButton3_Click() Dim intPortID As Integer ' Ex. 1, 2, 3, 4 for COM1 – COM4 Dim lngStatus As Long Dim strData As String Dim xyzData As String intPortID = 4 lngStatus = CommRead(intPortID, strData, 1) xyzData = Split(strData, "X""Y""Z") Range("A2,B2,C2").Value = xyzData End Sub 我是一个总新手,所以这可能是一个相当简单的修复,所以如果看起来微不足道的道歉。 任何build议将是伟大的。 SJ […]

计数件数据被一定的分隔符分割

数据看起来像这样: Aaa, Bbb, Ccc, Ddd, Eee, Fff Aaa, Bbb, Ccc, Ddd, Eee Aaa, Bbb, Ccc, Ddd Aaa, Bbb, Ccc Aaa, Bbb Aaa 行中的数据由“ , ”分隔符分隔。 我想获得每行分割的部分数量。 这是这个数字: 所以,在第一行中,数据被“,”分隔符分成6个部分。 在2 – 5部分等。 我应该使用什么公式B列?

Excel:把​​两个不同的复杂公式(独特的清单和拆分)

你好,所有你惊人的人 我想做两件事 从长长的重复值列表中填充一个独特的清单 提取用连字符分隔的文本的组成部分 我在不同的地方find了解决这些问题的方法。 独特的清单在这里 : http : //www.get-digital-help.com/2009/03/30/how-to-extract-a-unique-list-and-the-duplicates-in-excel-from-one -柱/ 公式是 `{=INDEX(A2:A65000,MATCH(0,COUNTIF($B$1:B1,A2:A65000),0))}` 其中列B是唯一列表填充的位置 并从这里提取(拆分文本) : http : //spreadsheetpage.com/index.php/tip/the_versatile_split_function/ Function ExtractElement(str, n, sepChar) ' Returns the nth element from a string, ' using a specified separator character Dim x As Variant x = Split(str, sepChar) If n > 0 And n – 1 <= UBound(x) […]

如何在查询中使用OLEDB.Jet for Excel文件使用分割string函数

我正在ASP.NET Web Forms 4.5中开发一个Web应用程序,它导入Access数据库中的Excel(.XLS,.XLSX)文件数据。 我需要实现一个查询将Excel工作表列分成两个不同的字段。 我的查询应该是这样的: string query = @"SELECT DISTINCT split(([MyExcelColumn], "" – "")(0) AS [CustomerID], split(([MyExcelColumn], "" – "")(1) AS [CustomerDescr] FROM [Sheet]"; // The separator string is " – ". // Executing the query DataTable dt = ExcelWorksheet.ListQuery(ExcelFileConnString, query); ExcelWorksheet.ListQuery是一个在Excel文件上执行列表查询的方法。 这是方法的实现: public static DataTable ListQuery(string connString, string query) { OleDbConnection conn = […]

Excelmacros每n行创build一个新表

我试图编写一个macros来获取几千行的excel文件,并将原始表单的行分成每张 250行的表单,而不包括原始表头行,这也应复制到每个表单中。 总共有13列,有些领域是空的。 我可以自己sorting文件 – 这不是问题 – 我只是没有macros观技能来解决这个问题。 我已经尝试过search,并find了一些例子,但没有一个非常适合..例如这个.. 创buildmacros,将excel行从单张转换为新的工作表 ..或这一个.. 保存从一张纸input数据到另一张纸上的连续行上 任何帮助?