Excel VBA質問箱 IV

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

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


33154 / 76734 ←次へ | 前へ→

【48804】Re:文字の抽出
発言  ウッシ  - 07/5/9(水) 19:50 -

引用なし
パスワード
   こんばんは

良く分かりません。

>文字列A:N20,(Z-2.4),N20,(Z-5.0),N30,(Z-2.4),N30,(Z-5.0)
それぞれのナンバーと値は交互に並んでいますか?

>規則は、それぞれのナンバーの最大マイナス値になります。
>N20の最大マイナスは(Z-5)で、N30の最大マイナスも(Z-5)
値は「(Z」括弧+英字1文字の後にマイナス値で、括弧閉じる。
でしょうか?

  Dim i   As Long
  Dim m1Dic As Object
  Dim V   As Variant
  Dim tmp  As String
  Dim B   As String
  Dim o   As Variant
  
  tmp = "N20,(Z-2.4),N20,(Z-5.0),N30,(Z-2.4),N30,(Z-5.0)"
  
  V = Split(tmp, ",")
  
  Set m1Dic = CreateObject("Scripting.Dictionary")
  For i = LBound(V) To UBound(V) Step 2
    If Not IsEmpty(V(i)) Then
      If Not m1Dic.Exists(V(i)) Then
        m1Dic(V(i)) = V(i + 1)
      Else
        If Val(Replace(Mid(m1Dic(V(i)), 3), ")", "")) > _
          Val(Replace(Mid(V(i + 1), 3), ")", "")) Then
          m1Dic(V(i)) = V(i + 1)
        End If
      End If
    End If
  Next
  o = m1Dic.keys
  For i = 0 To m1Dic.Count - 1
    If B = "" Then
      B = o(i) & "," & m1Dic(o(i))
    Else
      B = B & "," & o(i) & "," & m1Dic(o(i))
    End If
  Next

  MsgBox B
  
  Set m1Dic = Nothing
6 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 発言

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