写在Excel单元格中
问题描述:
我想我的变量varJoin
写在A列的每个细胞这样写只是在1,1 ....我希望有人能帮助我:)写在Excel单元格中
Sub extractionMots()
Dim Tableau() As String
Dim i As Integer
Dim res As String
Dim ZoneTest As Range
Dim ZoneEcrire As Range
Dim CelluleSelect As Range
Dim arr As Variant
Dim varJoin As Variant
Set ZoneTest = Range("C1:C16")
Set ZoneEcrire = Range("A1:A16")
For Each CelluleSelect In ZoneTest
' Suppression des espaces superflus
CelluleSelect = Application.WorksheetFunction.Trim(CelluleSelect)
res = CelluleSelect.Value
Debug.Print res
i = 0
Tableau() = Split(res, ".") 'découpe la chaine en fonction des points " "
'x = Tableau(i) 'le résultat de la fonction Split est stocké dans un tableau
For i = 0 To UBound(Tableau)
x = Tableau(1)
A = Tableau(0)
b = Tableau(2)
For j = 0 To Len(x)
Do While Len(x) < 6
x = "0" + x
Loop
Do While Len(b) < 4
b = "0" + b
Loop
Next j
Next i
Debug.Print x
For c = 0 To Len(ZoneEcire)
'define array:
arr = Array(A, x, b)
'using the vba Join function to join substrings contained in an array:
varJoin = Join(arr, ".")
'return string after joining the substrings:
Cells(c + 1, 1).Value = varJoin
Next c
Next
End Sub
答
首先it'是因为你For c ... loop
看到一只错字:
......你所定义的范围ZoneEc [R愤怒,但遍历ZoneEcire(不[R)。
使用Option Explicit可以防止这些错字,但是这会迫使您将所有其他变量也设为Dim。
在其下方,ZoneEcrire是一个范围,因此,你必须循环
For c = 0 To ZoneEcrire.Count
答
谢谢你的答案,但我删除对于:) 这是没有必要的,最后我的代码如下所示:
子extractionMots() 昏暗的Tableau()作为字符串 昏暗我作为整数 昏暗RES作为字符串 昏暗ZoneTest作为范围 昏暗ZoneEcrire作为范围 昏暗CelluleS当选为靶场
Dim arr As Variant
Dim varJoin As Variant
Set ZoneTest = Range("C1:C16")
Set ZoneEcrire = Range("A1:A16")
For Each CelluleSelect In ZoneTest
' Suppression des espaces superflus
CelluleSelect = Application.WorksheetFunction.Trim(CelluleSelect)
res = CelluleSelect.Value
Debug.Print res
i = 0
Tableau() = Split(res, ".") 'découpe la chaine en fonction des points " "
'x = Tableau(i) 'le résultat de la fonction Split est stocké dans un tableau
For i = 0 To UBound(Tableau)
x = Tableau(1)
A = Tableau(0)
b = Tableau(2)
For j = 0 To Len(x)
Do While Len(x) < 6
x = "0" + x
Loop
Do While Len(b) < 4
b = "0" + b
Loop
'define array:
arr = Array(A, x, b)
'using the vba Join function to join substrings contained in an array:
varJoin = Join(arr, ".")
Next j
Next i
'return string after joining the substrings:'
Cells(c + 1, 1).Value = varJoin
c = c + 1
Next
末次