vba - 我需要使用 vba 根据分隔符值将单元格值拆分为不同的单元格
问题描述
我有一个 excel,它作为单个单元格中的一条长线(例如在 Sheet1 中的“A1”中),我需要拆分这个单个单元格并粘贴到 Sheet1 本身的不同连续单元格中的单元格 A1,A2,A3 中。 , 很快。但挑战是我在另一张表(Sheet2)中有分隔符值。
Sheet1 中的单个单元格(“A1”)行是,
2012-06-02-13.01.29.64179044558000358307267 CAB2019012018 12345612345678场景1 0000000000000000000000000000000000DoeNN
并且分隔符在 Sheet2 中(分隔符值在不同的连续单元格中),
4(A1),5(A2),6(A3),2(A4),3(A5),5(A6),6(A7),1(A8),5(A9),7(A10), 5(A11),9(A12)
我尝试使用以下代码,
Sub split_work()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim cell_value As Variant
Dim counter As Integer
Dim WrdArray() As String
Set ws1 = Sheets("Sheet1")
Set ws2 = Sheets("Sheet2")
With ws1
str = ws1.Cells(i, j).Value
MStr = ws2.Cells(Lengthrow, j).Value
'MStr = Left(str, MStr)
''These lines is to extract only the value from the cells in Sheet2 as a delimiter value, for example val=4, then we are extracting only 4 as delimiters,
MStr = Cells(Lengthrow, j).Value
MStr1 = InStrRev(MStr, "=")
Length = Len(MStr)
Mstr = Right(MStr, Length - MStr1)
For Each Item In WrdArray
ThisWorkbook.ActiveSheet.Cells(counter, 2).Value = Item
counter = counter + 1
Next Item
End with
End sub
请在这件事上给予我帮助!
解决方案
我认为这样的事情可能对你有用。
Sub split_work()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim pStr As String
Dim delimiter As String
Dim counter As Integer
Dim lStr As Integer
Set ws1 = Sheets("Sheet1")
Set ws2 = Sheets("Sheet2")
pStr = ws1.Range("A1")
delimiter = ws2.Range("A1")
counter = 0
Do While delimiter <> ""
dpos = InStr(pStr, delimiter)
ws1.Range("A1").Offset(counter, 1) = Left(pStr, dpos)
lStr = Len(pStr)
pStr = Right(pStr, lStr - dpos)
counter = counter + 1
delimiter = ws2.Range("A1").Offset(counter, 0)
Loop
If pStr <> "" Then
ws1.Range("A1").Offset(counter, 1) = pStr
End If
End Sub
我不确定您是否使用这些值作为分隔符或位置来拆分字符串。我假设您想要在代码找到该子字符串时拆分字符串。
另外,您想在字符串中包含还是排除该值?在上面的代码中,我已经包含了该值,请在您的问题中提供更多信息,以便我可以更好地回答您的问题。
推荐阅读
- android - 有没有办法使 Android 签名密钥失效?
- git - 推送所有代码后,在 git 存储库中找不到 css 文件夹
- state - 仅在条件通过时设置值的瞬态转换
- gnuplot - 在 gnuplot 中添加/相乘热图
- java - 从 Spring Boot 1 升级到 Spring Boot 2 后,对每个 HTTP 请求进行不必要的日志记录
- php - PHP 7.2.23 MongoDB\Driver\Manager 数组集群返回空
- sql - 替换oracle数据库值范围内的字符
- c++ - 是否可以限制 C++ 17 并行“for_each”的线程数?
- python - H2O 以不同的方式解析文件类型
- c - 将字符串数组传递给在所有级别下施加 const-ness 的函数的最佳方法