Excel VBA - 将一个单元格拆分为 1000 块并将它们复制到不同的单元格中

克里斯

我想知道是否有办法将包含 6000 个单词的单元格拆分为 1000 个单词。例如,单元格 C1 中的 1000 个单词,然后是 C2 中的下一个 1000 个单词,依此类推。

这是我到目前为止的代码。

该代码的输出(单元格 C1)应该被拆分,C6 有 1000 个单词,C7 有 1000 个单词,依此类推,直到没有更多的单词可用。

先感谢您!

Option Explicit
Option Base 1

Dim dStr As String, aCell As Range
Dim cet, i As Long

Sub countWords()

Application.ScreenUpdating = False
Dim iniWords As Long, lWords As Long
Dim wK As Worksheet
On Error GoTo Err

Set wK = ActiveSheet

dStr = Join(WorksheetFunction.Transpose(wK.Range("A1:A" & wK.Range("A" & Rows.Count).End(xlUp).Row).Value), " ")
'iniWords = WorksheetFunction.CountA(wK.Range("A1:A" & wK.Rows.Count))
cet = Split(dStr, " ")
iniWords = UBound(cet)

wK.Range("A1:A" & wK.Range("A" & Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlNo

'lWords = WorksheetFunction.CountA(wK.Range("A1:A" & wK.Rows.Count))

dStr = Join(WorksheetFunction.Transpose(wK.Range("A1:A" & wK.Range("A" & Rows.Count).End(xlUp).Row).Value), " ")
cet = Split(dStr, " ")

dStr = ""
For i = LBound(cet) To UBound(cet)
    If Trim(cet(i)) <> "" And InStr(dStr, Trim(cet(i))) = 0 Then
        dStr = Trim(dStr) & " " & Trim(cet(i))
    End If
Next i
dStr = Trim(dStr)

cet = Split(dStr, " ")
lWords = UBound(cet)
wK.Range("C1") = dStr

Application.ScreenUpdating = True
MsgBox "Words: " & iniWords & vbNewLine & _
        "Removed duplicates " & iniWords - lWords & vbNewLine & _
        "Remaining Words " & lWords




Exit Sub

Err:
    MsgBox "There is no data in row A"


End Sub
用户3598756

你可以用这个:

Option Explicit

Sub main()
    Const NWORDS As Long = 100 '<--| it's the number of words you want each cell to be written with. change it to your needs

    Dim strng As String
    Dim rowOffset As Long

    With Range("C1")
        strng = .Value
        rowOffset = 5 '<--| point to C7 at the first iteration
        Do
            strng = Replace(strng, " ", "|", , NWORDS) '<--| "mark" the first NWORDS with a different separator (be sure pipe ("|") is not a character you can have in your words)
            .Offset(rowOffset).Value = Replace(Left(strng, InStrRev(strng, "|") - 1), "|", " ") '<--| write first NWORDS words in current 'rowoffset' cell
            strng = Right(strng, Len(strng) - InStrRev(strng, "|"))
            rowOffset = rowOffset + 1 '<--| update row offset
        Loop While UBound(Split(strng, " ")) > NWORDS - 1
        .Offset(rowOffset).Value = strng
    End With
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Excel VBA-将单元格字符串拆分为单个单元格并将单元格复制到新工作表

来自分类Dev

Excel VBA宏将多个excel中使用的单元格复制到一个excel中

来自分类Dev

Excel 2013:VBA将公式从一个单元格复制到下一个单元格

来自分类Dev

vba excel:如何将字符从一个单元格复制到另一个单元格

来自分类Dev

Excel VBA将单元格拆分为多个单元格

来自分类Dev

将数据复制到下一个可用的空白单元格 excel vba

来自分类Dev

Excel / VBA比较两列并将单元格内容从第三列复制到两个不同工作表中的第四列

来自分类Dev

excel VBA,在将多个CSV文件复制到一个工作簿中的单元格中创建带有工作表或文件名的列

来自分类Dev

excel VBA,在将多个CSV文件复制到一个工作簿中的单元格中创建带有工作表或文件名的列

来自分类Dev

如何根据值excel VBA将多行复制到特定单元格中的另一个工作表

来自分类Dev

在最后一个空格处拆分单元格Excel VBA

来自分类Dev

Excel VBA如何使用超链接将信息从一个单元格复制到工作表之间的另一个单元格

来自分类Dev

Excel VBA选择每隔一个单元格

来自分类Dev

Excel-VBA 宏将单元格内容转换为另一个单元格的注释

来自分类Dev

将行复制到一个单元格VBA中

来自分类Dev

Excel VBA - 通过另一个单元格更改单元格值?

来自分类Dev

如何在Excel中复制行并将值从一个单元格复制到另一个单元格?

来自分类Dev

Excel:如何将一个单元格的内容分为3个不同的单元格

来自分类Dev

使用vba将单元格的值复制到另一个单元格

来自分类Dev

Excel If语句检查单元格是否包含某些字符并将它们复制到其他单元格

来自分类Dev

VBA查找匹配并将单元格复制到另一个

来自分类Dev

将单元格数据从Excel复制到Word VBA

来自分类Dev

Excel VBA:将单元格值复制到 cmd

来自分类Dev

Excel VBA计算过滤的单元格并复制到另一张表

来自分类Dev

VBA Excel-复制单元格值并将值粘贴在另一个单元格的字符之间

来自分类Dev

在Excel中将某些特定单元格从一个工作表复制到另一个工作表的VBA是什么?

来自分类Dev

Excel Vba 将多个单元格拆分成列

来自分类Dev

Excel VBA - 使用单元格中的值作为地址来定位另一个单元格

来自分类Dev

根据 VBA Excel 2010 中另一个单元格的值设置单元格的值

Related 相关文章

  1. 1

    Excel VBA-将单元格字符串拆分为单个单元格并将单元格复制到新工作表

  2. 2

    Excel VBA宏将多个excel中使用的单元格复制到一个excel中

  3. 3

    Excel 2013:VBA将公式从一个单元格复制到下一个单元格

  4. 4

    vba excel:如何将字符从一个单元格复制到另一个单元格

  5. 5

    Excel VBA将单元格拆分为多个单元格

  6. 6

    将数据复制到下一个可用的空白单元格 excel vba

  7. 7

    Excel / VBA比较两列并将单元格内容从第三列复制到两个不同工作表中的第四列

  8. 8

    excel VBA,在将多个CSV文件复制到一个工作簿中的单元格中创建带有工作表或文件名的列

  9. 9

    excel VBA,在将多个CSV文件复制到一个工作簿中的单元格中创建带有工作表或文件名的列

  10. 10

    如何根据值excel VBA将多行复制到特定单元格中的另一个工作表

  11. 11

    在最后一个空格处拆分单元格Excel VBA

  12. 12

    Excel VBA如何使用超链接将信息从一个单元格复制到工作表之间的另一个单元格

  13. 13

    Excel VBA选择每隔一个单元格

  14. 14

    Excel-VBA 宏将单元格内容转换为另一个单元格的注释

  15. 15

    将行复制到一个单元格VBA中

  16. 16

    Excel VBA - 通过另一个单元格更改单元格值?

  17. 17

    如何在Excel中复制行并将值从一个单元格复制到另一个单元格?

  18. 18

    Excel:如何将一个单元格的内容分为3个不同的单元格

  19. 19

    使用vba将单元格的值复制到另一个单元格

  20. 20

    Excel If语句检查单元格是否包含某些字符并将它们复制到其他单元格

  21. 21

    VBA查找匹配并将单元格复制到另一个

  22. 22

    将单元格数据从Excel复制到Word VBA

  23. 23

    Excel VBA:将单元格值复制到 cmd

  24. 24

    Excel VBA计算过滤的单元格并复制到另一张表

  25. 25

    VBA Excel-复制单元格值并将值粘贴在另一个单元格的字符之间

  26. 26

    在Excel中将某些特定单元格从一个工作表复制到另一个工作表的VBA是什么?

  27. 27

    Excel Vba 将多个单元格拆分成列

  28. 28

    Excel VBA - 使用单元格中的值作为地址来定位另一个单元格

  29. 29

    根据 VBA Excel 2010 中另一个单元格的值设置单元格的值

热门标签

归档