gpt4 book ai didi

vba - Excel:如何将部分单元格的内容复制到相应行的其他相邻单元格中

转载 作者:行者123 更新时间:2023-12-04 21:59:34 26 4
gpt4 key购买 nike

我正在复制基于 HTML 的内容并将其粘贴到电子表格中。我需要对会计凭证中的多行重复此过程。因为复制字符串的值或长度会发生变化并且空格不均匀,所以我认为使用 LEFTRIGHTMID 函数不会起作用。

尽管源内容在六个相邻的水平单元格/列中以 HTML 格式显示为表格,但 Excel 将其视为 unicode 并将其粘贴到一个单元格中(请注意,列间距不均匀;所有显示的内容都作为文本在一个单元格中):

Revenues   111,234   222,345    333,456    444,567       555,678
Revenues 666,789 777,890 888,901 999,012 1,111,234

它应该像这样粘贴(使用制表符作为分隔符):
Revenues    111,234 222,345 333,456 444,567 555,678
Revenues 666,789 777,890 888,901 999,012 1,111,234

我已经尝试了每种粘贴特殊格式,但都没有奏效。我还尝试录制一个宏,该宏从单元格中剪切五个数值,并根据需要将每个数值分别粘贴到相邻的列中。

下面是录制的宏:
Sub Copy_Cell_Part_and_Paste_In_Adjacent_Cells()
'
' Copy_Cell_Part_and_Paste_In_Adjacent_Cells Macro
'
' Keyboard Shortcut: Ctrl+u
'
ActiveCell.FormulaR1C1 = "Revenues "
Range("B1").Select
ActiveSheet.Paste
ActiveCell.FormulaR1C1 = "111,234"
Range("C1").Select
ActiveSheet.Paste
ActiveCell.FormulaR1C1 = "222,345"
Range("D1").Select
ActiveSheet.Paste
ActiveCell.FormulaR1C1 = "333,456"
Range("E1").Select
ActiveSheet.Paste
ActiveCell.FormulaR1C1 = "444,567"
Range("F1").Select
ActiveSheet.Paste
End Sub

是的,宏有很多问题,包括使用绝对引用而不是相对引用,并且它将原始单元格内容复制到右侧的第五个单元格。

如何剪切(不复制)单元格中字符串的数值部分并将剪切值粘贴到相邻单元格中?如果问题需要更具体:(1)如何使用相对引用自动切割任何选定单元格的一部分? (2)我如何将那些剪切单元格的内容分配到相邻的单元格?

编辑:更改以澄清数组应该是选定的单元格,它可能在一列中的多行中

最佳答案

假设你在单元格 A1 中有源文本,你可以试试这个:

Dim myArr as Variant
myArr = Split(WorksheetFunction.Trim(Range("A1"))
Range("B1").Resize(,Ubound(myArr) - LBound(myArr) + 1).Value = myArr

或这个
Range("A1").TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, ConsecutiveDelimiter:=True, Space:=True

关于vba - Excel:如何将部分单元格的内容复制到相应行的其他相邻单元格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37691001/

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