4

1つのセルの値を2つの異なる文字列に分割し、それらの文字列の両方を異なるセルに配置することはできません。

たとえば、あるセルで測定10ft x 20ft値を取得し、10ftそれを別のセルに取得し、それを取得20ftして完全に別のセルに配置したいとします。

区切り文字などを使用したいのですxが、分割後にそれらをどのように分離して処理するかがわかりません。

ヒントをいただければ幸いです。私はまだVBAマクロにかなり慣れていません。

ありがとう

4

3 に答える 3

5

最善の解決策は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"
于 2012-10-22T21:34:34.327 に答える
5

実際には VBA は必要ありません。ExcelのText to Columnsを使用できます

たとえば、

  1. データ .....テキストから列へ
  2. 選択して次へdelimitedを押します
  3. スペースにチェックを入れ、その他に「x」を入力して次へを押します
  4. 終了

ここに画像の説明を入力

于 2012-10-22T23:09:19.967 に答える
1

もう少し真剣に見る必要があったと思います。

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
于 2012-10-22T21:36:40.433 に答える