gpt4 book ai didi

vba - Characters.Insert 方法 (Excel) 将文本限制为 255 个字符

转载 作者:行者123 更新时间:2023-12-03 21:24:26 51 4
gpt4 key购买 nike

在 MS Excel 中通过 VBA 宏将超过 255 个字符附加到单个单元格中真的不可能吗?

示例代码:

Option Explicit
Sub TestSub()
Dim L As Long
' Const str = "1" & vbLf
Dim i As Integer
Range("A1").ClearContents
Range("A1").WrapText = True
For i = 1 To 260 ' any number greatest than 255
L = Range("A1").Characters.Count
Debug.Print L
Range("A1").Characters(L + 1, 1).Insert ("A")
Next i
End Sub

添加:
将以前的字符格式保存在单元格中很重要。

最佳答案

以下代码将写入 500 A进入单元格A1 .之后,每隔一个 A将被格式化为粗体。

Public Sub tmpSO()

For i = 1 To 500
Range("A1").Value = Range("A1").Value & "A"
Next i

For i = 1 To 500
If i Mod 2 = 0 Then Range("A1").Characters(i, 1).Font.Bold = True
Next i

End Sub

我希望这能解决你的问题。

注意:您的代码将不起作用,因为您试图插入一个字符 之后 L + 1 .然而,您的字符串目前只有 L长和 不是 L + 1 .一旦你插入了另一个 A您将拥有 L + 1该单元格中的字符。但尚未。因此,如果您将代码与 Range("A1").Characters(L, 1).Insert ("A") 一起使用那么它将起作用。

编辑#1:

以下代码经过测试,正确插入 500 A进入单元格 A1 .此外,一些 A将被格式化为粗体。
Sub TestSub()
Dim i As Integer

Range("A1").ClearContents
Range("A1").WrapText = True
Range("A1").Font.Bold = False

For i = 1 To 500
Range("A1").Characters(i, 1).Insert ("A")
Next i
For i = 1 To 500 Step 10
Range("A1").Characters(i, 3).Font.Bold = True
Next i
End Sub

关于vba - Characters.Insert 方法 (Excel) 将文本限制为 255 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37272000/

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