Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


33133 / 76734 ←次へ | 前へ→

【48825】Re:文字の抽出
お礼  なた E-MAIL  - 07/5/10(木) 18:46 -

引用なし
パスワード
   ▼Kein さん:
▼ウッシさん:

本当にありがとうございました。
おかげさまで、やりたい事が完璧に出来ました。

>では、これでどうかな・・?
>
>Sub Check_Data2()
>  Dim Ary As Variant, Ary2 As Variant
>  Dim i As Long, Num As Single
>  Dim C As Range
>  Dim V As String, MyS As String, RetSt As String
>  Const CkSt As String = _
>  "N20,(Z2.4),N20,(Z-6.0),N30,(Z1.0),N20,(Z-3.5),N30,(Z-5.0)"
> 
>  Application.ScreenUpdating = False
>  Range("IT1:IU1").Value = Array("Data1", "Data2")
>  Ary = Split(CkSt, ")")
>  For i = 0 To UBound(Ary) - 1
>   V = CStr(Ary(i)): Ary2 = Split(V, "Z")
>   MyS = Ary2(0)
>   Num = Val(Ary2(1))
>   If Left$(MyS, 1) = "," Then
>     MyS = Right$(MyS, Len(MyS) - 1)
>   End If
>   Cells(i + 2, 254).Value = MyS
>   Cells(i + 2, 255).Value = Num
>   Erase Ary2
>  Next i
>  Range("IT:IU").Sort Key1:=Range("IT1"), Order1:=xlAscending, _
>  Key2:=Range("IU1"), Order2:=xlAscending, Header:=xlYes, _
>  Orientation:=xlSortColumns
>  With Range("IU2", Range("IU65536").End(xlUp)).Offset(, 1)
>   .Formula = "=IF($IT1<>$IT2,$IU2)"
>   For Each C In .SpecialCells(3, 1)
>     RetSt = RetSt & C.Offset(, -2).Value & _
>     "Z" & Format(C.Value, "###.0") & "),"
>   Next
>   '.CurrentRegion.ClearContents
>  End With
>  RetSt = Left$(RetSt, Len(RetSt) - 1)
>  Application.ScreenUpdating = True
>  Debug.Print RetSt
>End Sub
>
>加工前の文字例としては、上(CkSt)のようになるべくいろいろなケースを
>交えた方がいいです。なぜなら例文では偶然できたけど、他の文字列で
>やってみたら希望の形と違っていた、という可能性が高くなるからです。

4 hits

【48802】文字の抽出 なた 07/5/9(水) 16:12 質問
【48803】Re:文字の抽出 Kein 07/5/9(水) 18:02 回答
【48813】Re:文字の抽出 なた 07/5/10(木) 12:01 質問
【48817】Re:文字の抽出 Kein 07/5/10(木) 14:37 回答
【48825】Re:文字の抽出 なた 07/5/10(木) 18:46 お礼
【48804】Re:文字の抽出 ウッシ 07/5/9(水) 19:50 発言

33133 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free