VBA 动态字符串(Dim x As String)可以容纳 2^31 个字符,所以你应该很好。我不确定您为什么要将它们写入单元格。除非您出于其他原因需要,否则我会在 VBA 中完成所有操作。目前尚不清楚你从哪里得到字符串。
下面是一些代码,它制作了一个假的 40,000 个字符的 DNA 序列和一个假的 5 个字符的子字符串,然后找到一个在另一个里面的位置。
Sub FindDNASubString()
Dim lRnd As Long
Dim i As Long
Dim sMain As String
Dim sSub As String
Dim vaLetters As Variant
Dim lPos As Long
Const lUPPER As Long = 3
Const lLOWER As Long = 0
vaLetters = Array("A", "C", "T", "G")
'Create fake main string
For i = 1 To 40000
lRnd = Int((lUPPER - lLOWER + 1) * Rnd + lLOWER)
sMain = sMain & vaLetters(lRnd)
Next i
'create fake substring
For i = 1 To 5
lRnd = Int((lUPPER - lLOWER + 1) * Rnd + lLOWER)
sSub = sSub & vaLetters(lRnd)
Next i
'find position of sub in main
lPos = InStr(1, sMain, sSub)
MsgBox "Substring is at position " & lPos
End Sub