gpt4 book ai didi

excel - 将列中的文本剪切为 60 个字符 block

转载 作者:行者123 更新时间:2023-12-04 22:04:38 25 4
gpt4 key购买 nike

我有一个包含数千行且只有一列的工作表 (A) . A 列中的单元格可以为 null 或最多为 1000人物。我需要运行一个宏,该宏将遍历 A 列,将其复制到列 B .如果有任何单元格有任何文本> 60字符将其切成 60 的 block 进入下一列。

我有将文本分成 60 block 的代码但我不知道如何让它复制 60 下的任何内容,如果为空,则移至下一行或遍历行。

Sub x()
Dim cLength As Long, cLoop As Long
cLength = 60

For cLoop = 1 To (Len([A2]) \ cLength) + 1
[A2].Offset(, cLoop).Value = Mid([A2], ((cLoop - 1) * cLength) + 1, cLength)
Next
End Sub

最佳答案

最快的处理方法! (不使用循环。一次性处理整个列)

这使用内置的 Data | Text To Columns .我们正在使用 Fixed Width拆分数据。下面的代码将处理高达 1320 的字符串个字符的长度。

Sub Sample()
Dim ws As Worksheet

Set ws = ThisWorkbook.Sheets("Sheet1")

ws.Columns(1).TextToColumns _
Destination:=Range("A1"), _
DataType:=xlFixedWidth, _
FieldInfo:=Array( _
Array(0, 1), Array(60, 1), Array(120, 1), Array(180, 1), _
Array(240, 1), Array(300, 1), Array(360, 1), Array(420, 1), _
Array(480, 1), Array(540, 1), Array(600, 1), Array(660, 1), _
Array(720, 1), Array(780, 1), Array(840, 1), Array(900, 1), _
Array(960, 1), Array(1020, 1), Array(1080, 1), Array(1140, 1), _
Array(1200, 1), Array(1260, 1), Array(1320, 1) _
), _
TrailingMinusNumbers:=True
End Sub

enter image description here

如果您要手动执行此操作,那么您将执行此操作。

enter image description here

关于excel - 将列中的文本剪切为 60 个字符 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26583507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com