Excel VBA質問箱 IV

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

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


3933 / 13646 ツリー ←次へ | 前へ→

【59403】文字と数字の分割方法について aoi 08/12/9(火) 23:01 質問[未読]
【59404】Re:文字と数字の分割方法について かみちゃん 08/12/9(火) 23:26 発言[未読]
【59413】Re:文字と数字の分割方法について aoi 08/12/10(水) 13:31 お礼[未読]

【59403】文字と数字の分割方法について
質問  aoi E-MAIL  - 08/12/9(火) 23:01 -

引用なし
パスワード
   エクセルで文字と数字を分割するしたのですが、

G01Z-2.F100.→"G" "01" "Z-" "2." "F" "100."
となっていしまいます。
G01Z-2.F100.→"G" "01" "Z" "-2." "F" "100."
とするにはどうすればいいのでしょうか?
プログラムは以下になります。


Sub BUNKATU()

 d = "A6" '元データの最初のセル
 r = "D6" '結果表示範囲の最初のセル

 Dim a() As String
 For k = Range(d).Row To Cells(65536, Range(d).Column).End(xlUp).Row
  ReDim a(1 To 1)
  myStr = Cells(k, Range(d).Column)
  f = IsNumeric(Left(myStr, 1))
  j = 1
  ReDim a(1 To j)
  For i = 1 To Len(myStr)
   t = Mid(myStr, i, 1) '文字列の指定位置から指定数の文字を出力する。
   If (f <> IsNumeric(t)) And Not (f And t = ".") Then
    f = Not f
    j = j + 1
    ReDim Preserve a(1 To j)
   End If
   a(j) = a(j) & t
  Next i
  Cells(k, Range(r).Column).Resize(1, j) = a()
 Next k
End Sub

【59404】Re:文字と数字の分割方法について
発言  かみちゃん E-MAIL  - 08/12/9(火) 23:26 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>エクセルで文字と数字を分割

分割ルールがよくわからないのですが、

   If (f <> IsNumeric(t)) And Not (f And t = ".") Then
の部分を
   If (f <> IsNumeric(t)) And Not (f And t = ".") Or t = "-" Then
とすればできるような感じがします。

【59413】Re:文字と数字の分割方法について
お礼  aoi E-MAIL  - 08/12/10(水) 13:31 -

引用なし
パスワード
   ▼かみちゃん さん:

教えていただいたコードで実行したら解決しました。
早急な返答、ありがとうございました!!

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