1つのセルの値を2つの異なる文字列に分割し、それらの文字列の両方を異なるセルに配置することはできません。
たとえば、あるセルで測定10ft x 20ft
値を取得し、10ft
それを別のセルに取得し、それを取得20ft
して完全に別のセルに配置したいとします。
区切り文字などを使用したいのですx
が、分割後にそれらをどのように分離して処理するかがわかりません。
ヒントをいただければ幸いです。私はまだVBAマクロにかなり慣れていません。
ありがとう
1つのセルの値を2つの異なる文字列に分割し、それらの文字列の両方を異なるセルに配置することはできません。
たとえば、あるセルで測定10ft x 20ft
値を取得し、10ft
それを別のセルに取得し、それを取得20ft
して完全に別のセルに配置したいとします。
区切り文字などを使用したいのですx
が、分割後にそれらをどのように分離して処理するかがわかりません。
ヒントをいただければ幸いです。私はまだVBAマクロにかなり慣れていません。
ありがとう
最善の解決策はSPLITを使用することです
Dim strX As String
Dim sx() As String
Dim i as Integer
strX = "10FT x 20FT"
sx = Split(strX, "x")
または多分あなたはinstr関数を使うことができます
Dim sVar1 as string
Dim sVar2 as string
I = InStr(1, strX, "x")
これで、intを2つの変数に分割できる場所がわかりました。
sVar1 = mid(strX, 1, I)
sVar2 = mid(strx,i+1)
関数の問題は、チェーン内に複数のキーがあり、それを使用して関数を分離すると、より大きな配列が返されることです。例:Dim var as string var = "x 20XP 10XP"
戻り値
array (0) = "10"
array (1) = "p"
array (2) = "20"
array (3) = "p"
実際には VBA は必要ありません。ExcelのText to Columnsを使用できます
たとえば、Excel-2010では
delimited
を押しますもう少し真剣に見る必要があったと思います。
Sub Split_CutArea()
Dim str1() As String
Dim str2() As String
Dim avarsplit As Variant
avarsplit = Split(Cells(4, "B").Value, "x")
splitValues = Split(ActiveSheet.Cells(4, "B").Value)
ActiveSheet.Cells(22, "B").Value = splitValues(0) & splitValues(1)
ActiveSheet.Cells(23, "B").Value = splitValues(3) & splitValues(4)
End Sub