私は、次の文字列があります。VBA分割小数点以下2つの文字によって文字列
配当34.3228.1028.0028.0028.0028.0028.0028.0029.5030.50
そして私は、私は34.32
としてそれを得ることができますので、それを分割しているよ、28.10
、28.00
を等は次にExcelの行に配置されます。私の問題は、特に私からそれを廃棄テーブルデータイムは、それが例えばドルの形式であるため、それを小数点の右側の2つの文字を分割しているよということで:
これは何私であります再び試みたが、している私は、小数点以下2つの文字に基づいて、それを分割する方法が分からない:
Dim eTR As Object, cTR As Object, a As Integer
Set cTR = doc.getElementsByTagName("tr")
a = 0
For Each eTR In cTR
If Left(eTR.innerText, 9) = "Dividends" Then
TR = doc.getElementsByTagName("tr")(a).innerText
Debug.Print TR
'Debug.Print a
End If
a = a + 1
Next
Dim s As Variant
s = (Split(TR, ".")(1))
Cells(1, 2).Value = s
Cells(1, 3).Value = s(1)
Cells(1, 4).Value = s(2)
Cells(1, 5).Value = s(3)
End Sub
私は次のコードで(それが画像上に見えるように)個々のテーブルのデータを取得するにも疲れがあります。
'get divs/share
chk = 0
dividends:
Dim eTR3 As Object, cTR3 As Object
Set cTR3 = doc.getElementsByTagName("td")
g = 0
For Each eTR3 In cTR3
If Left(eTR3.innerText, 9) = "Dividends" Then
TR5 = doc.getElementsByTagName("td")(g).innerText
r = 1
i = g + 10
For h = g To i Step 1
TR5 = doc.getElementsByTagName("td")(h).innerText
Cells(s + 4, r + 1).Value = TR5
r = r + 1
Next h
End If
g = g + 1
Next
しかし何らかの理由で、私はその行に属していないランダムな表のデータ入力を続けていました。その周りの方法として、私はテーブルの行をつかんで、文字列を分割することを考えました。
ありがとうございました!
tom
はすでにエクセルで文字列のですか?エクセル式が利用可能だった場合は適切か、具体的にはVBAをお探しですか? –
何か試しましたか?あなたのコードはどこですか?私たちに*あなたにそれを書いてほしいですか? –
の前に3文字以上を持つことはできますか?あなたの前に2文字未満しか持てませんか? ?合計10個の数字が分かれていますか? –