0

次のデータを分割しようとしています(VBAを使用)

私が持っているテキストの例は以下のとおりです

Scott Hamilton 1/2

同じ行にこのように表示したい

A15 Scott Hamilton
B15 1
C15 2

セルには常に名前 (名と姓) が含まれており、統計情報、つまり 1 of 2 が含まれています。

上記のように分割したい

誰かが助けてくれることを願っています-私のデータの一部の写真を添付し​​ました(これは、移動/変更できないシートに既に他のテキストがあるためです)

http://i40.tinypic.com/riyq9x.jpg

編集:

申し訳ありませんが、私の試みを追加するのを忘れました。

Sub SplitName()
Dim SplitName() As String
SplitName = Split(ActiveSheet.Cells(15, 1).Value)
Cells(15, 1) = SplitName(0) + " " + SplitName(1)
Cells(15, 2) = SplitName(2)
Cells(15, 3) = SplitName(3)
End Sub
4

5 に答える 5

1

数値を見つける前に、まず文字列を分割する必要があると思います。したがって、最初に数値の前に出現する文字列を取得する必要があります。あなたの場合、数値が発生する前に文字列を分割します。したがって、次のように2つの文字列が得られます

Scott Hamilton and 1/2

次に、残りの文字列を区切り文字「/」で分割します

だから以下のようにしてみてください

Dim str As String
Dim i As Integer
Dim strArray() As String

str = ActiveCell.Value

For i = 1 To Len(str)

  If IsNumeric(Mid(str, i, 1)) Then

    LeftString = Left(str, i – 1)
    RightString = Right(str, Len(str) – i + 1)

    Exit For
  End If
Next i

RightString を "/" で分割するようになりました

だから以下をやってください

 strArray = Split(RightString , "/")

これにより、テキストが分離されます1/2

あなたがアイデアを得たことを願っています。このコードはテストしていません。これはうまくいくはずのアイデアです。

于 2013-09-10T11:54:12.760 に答える
0
jQuery( window ).load(function() {
            jQuery("#FullNametest").change(function(){
                var temp = jQuery(this).val();
                var fullname = temp.split(" ");
                var firsname='';
                var middlename='';
                var lastname = '';
                firstname=fullname[0];
                lastname=fullname[fullname.length-1];

                for(var i=1; i < fullname.length-1; i++) 
                {
                   middlename =  middlename +" "+ fullname[i];
                }
                jQuery('#FirstName').val(firstname);
                jQuery('#middlename').val(middlename);
                jQuery('#LastName').val(lastname);
            });
        });
于 2014-06-03T10:58:04.237 に答える
0

一方通行...

Sub tgr()

    Dim rngFound As Range
    Dim strFraction As String

    Set rngFound = Columns("A").Find("/", , xlValues, xlPart)
    If Not rngFound Is Nothing Then
        Do
            strFraction = Trim(Right(Replace(WorksheetFunction.Trim(rngFound.Text), " ", String(99, " ")), 99))

            rngFound.Resize(, 3).Value = Array(Trim(Replace(rngFound.Text, strFraction, "")), _
                                               Split(strFraction, "/")(0), _
                                               Split(strFraction, "/")(1))

            Set rngFound = Columns("A").Find("/", rngFound, xlValues, xlPart)
        Loop While Not rngFound Is Nothing
    End If

End Sub
于 2013-09-10T14:55:03.957 に答える