Excel VBA質問箱 IV

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

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


32956 / 76734 ←次へ | 前へ→

【49005】Re:複雑な文字列処理
回答  Hirofumi  - 07/5/20(日) 22:20 -

引用なし
パスワード
   配分規格と配分要素から結果を得ると言う事で
ユーザー定義関数にするとこんなかな?

Option Explicit

Public Function Coefficient(vntStandard As Variant, vntElement As Variant) As Variant

'  vntStandard : 配分規格
'  vntElement : 配分要素
  
  Dim i As Long
  Dim vntList As Variant
  Dim vntResult As Variant
  
  '戻り値としてエラー値をセット
  Coefficient = CVErr(xlErrValue)
  
  '配分規格、配分要素が""ならFunctionを抜ける
  If vntStandard = "" Or vntElement = "" Then
    Exit Function
  End If
  
  '配分規格を"×"で配列に分割
  vntList = Split(vntStandard, "×", , vbBinaryCompare)
  '配分規格に配分要素が有るか探索
  For i = 0 To UBound(vntList)
    '有る場合はForを抜ける
    If InStr(1, vntList(i), vntElement, vbBinaryCompare) > 0 Then
      Exit For
    End If
  Next i
  '結果に予め1を代入
  vntResult = 1
  '配分規格に配分要素が有る場合
  If i < UBound(vntList) Then
    '係数を乗算
    For i = i To UBound(vntList)
      vntResult = vntResult * Val(vntList(i))
    Next i
  Else
    '無い場合Functionを抜ける
    If i > UBound(vntList) Then
      Exit Function
    End If
  End If
  
  '戻り値として計算結果を返す
  Coefficient = vntResult
  
End Function

引数vntStandardに配分規格、vntElementに配分要素を与えて下さい
4 hits

【49003】複雑な文字列処理 GHQ 07/5/20(日) 21:13 質問
【49004】Re:複雑な文字列処理 Kein 07/5/20(日) 22:13 回答
【49177】Re:複雑な文字列処理 GHQ 07/5/26(土) 11:29 お礼
【49005】Re:複雑な文字列処理 Hirofumi 07/5/20(日) 22:20 回答
【49006】Re:複雑な文字列処理 Hirofumi 07/5/20(日) 22:55 回答
【49178】Re:複雑な文字列処理 GHQ 07/5/26(土) 11:52 お礼

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