Excel VBA質問箱 IV

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

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


60901 / 76732 ←次へ | 前へ→

【20459】Re:文字列の操作について
回答  Hirofumi  - 04/12/9(木) 21:15 -

引用なし
パスワード
   こんなかな?

Option Explicit

Public Sub Extraction()

  Dim i As Long
  Dim vntResult As Variant
  
  With ActiveSheet
    For i = 2 To .Cells(65536, "A").End(xlUp).Row
      vntResult = UnitPrice(.Cells(i, "A").Value)
      .Cells(i, "B").Resize(, UBound(vntResult)).Value = vntResult
    Next i
  End With
    
End Sub

Private Function UnitPrice(ByVal vntLine As Variant) As Variant

  Dim i As Long
  Dim vntData() As Variant
  Dim lngPos As Long
  Dim lngRead As Long
  Dim vntTmp As Variant
  Dim lngLineLen As Long
  
    
  vntLine = Trim(vntLine)
  lngLineLen = Len(vntLine)
  
  lngRead = 1
  i = 0
  ReDim vntData(1 To 1)
  Do Until lngRead > lngLineLen
    lngPos = InStr(lngRead, vntLine, " ", vbTextCompare)
    If lngPos = 0 Then
      vntTmp = Mid(vntLine, lngRead)
      lngRead = lngLineLen + 1
    Else
      vntTmp = Mid(vntLine, lngRead, lngPos - lngRead)
      lngRead = lngPos + 1
    End If
    If IsNumeric(vntTmp) Then
      i = i + 1
      ReDim Preserve vntData(1 To i)
      vntData(i) = vntTmp
    End If
  Loop
  
  UnitPrice = vntData
  
End Function

1 hits

【20385】文字列の操作について 初心者 04/12/7(火) 21:51 質問
【20386】Re:文字列の操作について Kein 04/12/7(火) 22:40 回答
【20390】Re:文字列の操作について ちゃっぴ 04/12/8(水) 0:29 回答
【20428】Re:文字列の操作について 初心者 04/12/8(水) 22:42 質問
【20459】Re:文字列の操作について Hirofumi 04/12/9(木) 21:15 回答
【20462】Re:文字列の操作について Hirofumi 04/12/9(木) 21:37 回答

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