戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
V列に "GI" "GII" "GIII"がある場合R列の同じ行に取得する。

    [195491] V列に "GI" "GII" "GIII"がある場合R列の同じ行に取得する。-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ こうちゃん -(2023/01/09(19:47))
    □U R L/
      よろしくお願いいたします。
      
      Sheet1のR5行目からオープンがあったら
      
      同じ行のV列に "GI" "GII" "GIII"
      
      があったらR列の同じ行に取得したいのですが
      
       "GI" "GII" "GIII"がない場合はそのままオープンにします。
      
      TESTのコードを実行しても
      うまくいきません。
      
      ご指導おねがいしたいのですが
      宜しくお願い致します。   
      
      (例1)
      Sheet1
      
         R列       V列
      行
      
       5 オープン    京王杯2歳ステークス GII
       6 新馬      サラ系2歳新馬 
       7 500万下     白菊賞
       8 オープン    京王杯2歳ステークス GII
       9 500万下     ベゴニア賞
      10 オープン    阪神ジュベナイルフィリーズ GI    
      11 オープン    アルテミスステークス GIII
      12 未勝利     サラ系2歳未勝利 
      13 オープン    京王杯2歳ステークス GII
      14 500万下     サラ系2歳500万円以下
      15 新馬      サラ系2歳新馬
      16 オープン    福島2歳ステークス
      17
      18 オープン    阪神ジュベナイルフィリーズ GI
      19 未勝利     サラ系2歳未勝利 
      20 新馬      サラ系2歳新馬
      
      
      Sub TEST()
      
      Dim v, W
      Dim i As Long
      Dim Str As String
         
          v = Worksheets("Sheet1").Range("R5:V20").Value
          ReDim W(1 To UBound(v), 1 To 1)
          
          For i = 1 To UBound(v)
              If v(i, 1) = "オープン" Then
                  Str = v(i, 5)
                  If InStr(Str, "G") > 0 Then
                      W(i, 1) = Mid(Str, InStr(Str, "G"), Len(Str) - InStr(Str, "G"))
                  Else
                      W(i, 1) = v(i, 1)
                  End If
              Else
                  W(i, 1) = v(i, 1)
              End If
          Next i
          
          Worksheets("Sheet1").Range("R5").Resize(UBound(v)).Value = W
          
          Erase v, W
      
      End Sub
      
      TESTのコードを実行したら
      この様になってしまいます。
      
      (例2)
      Sheet1
      
         R列       V列
      行
      
       5 GI       京王杯2歳ステークス GII
       6 新馬      サラ系2歳新馬 
       7 500万下     白菊賞
       8 GI       京王杯2歳ステークス GII
       9 500万下     ベゴニア賞
      10 G        阪神ジュベナイルフィリーズ GI    
      11 GII       アルテミスステークス GIII
      12 未勝利     サラ系2歳未勝利 
      13 GI       京王杯2歳ステークス GII
      14 500万下     サラ系2歳500万円以下
      15 新馬      サラ系2歳新馬
      16 オープン    福島2歳ステークス
      17
      18 オープン    阪神ジュベナイルフィリーズ GI
      19 未勝利     サラ系2歳未勝利 
      20 新馬      サラ系2歳新馬
      
      例3の様にしたいのですが
      
      (例3)
      Sheet1
      
         R列       V列
      行
      
       5 GII       京王杯2歳ステークス GII
       6 新馬      サラ系2歳新馬 
       7 500万下     白菊賞
       8 GII       京王杯2歳ステークス GII
       9 500万下     ベゴニア賞
      10 GI       阪神ジュベナイルフィリーズ GI    
      11 GIII      アルテミスステークス GIII
      12 未勝利     サラ系2歳未勝利 
      13 GII       京王杯2歳ステークス GII
      14 500万下     サラ系2歳500万円以下
      15 新馬      サラ系2歳新馬
      16 オープン    福島2歳ステークス
      17
      18 オープン    阪神ジュベナイルフィリーズ GI
      19 未勝利     サラ系2歳未勝利 
      20 新馬      サラ系2歳新馬
      
      
      OP2003は、うまく実行できていたんですが
      
      OP2010に変えたらうまく取得できないみたいです。
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



      ++++++++++++++++++++
      OS      ⇒OTHER
      Version⇒OTHER
      ++++++++++++++++++++




    [195492] Re[1]: V列に -

    記事引用/メール受信=OFF■

    □投稿者/ こうちゃん -(2023/01/09(19:52))
    □U R L/

      すいません
      例 2,3の18行目がちがってました。

      (例2)

      18  G    阪神ジュベナイルフィリーズ GI

      (例3)

      18  GI    阪神ジュベナイルフィリーズ GI

      書き間違え、すいませんでした。




      ++++++++++++++++++++
      OS      ⇒OTHER
      Version⇒OTHER
      ++++++++++++++++++++




    [195493] Re[2]: V列に -

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2023/01/09(20:11))
    □U R L/
      >W(i, 1) = Mid(Str, InStr(Str, "G"), Len(Str) - InStr(Str, "G"))
      
        W(i, 1) = Mid(Str, InStr(Str, "G"), Len(Str) - InStr(Str, "G") + 1)
                                      ~~↑~~
                                      じゃないですか?




    [195494] Re[3]: V列に -

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ こうちゃん -(2023/01/09(21:22))
    □U R L/

      半平太さん、

      ありがとうございます。

      >InStr(Str, "G") + 1)

      + 1 を追加するんですね。

      勉強になりました。


      ++++++++++++++++++++
      OS      ⇒OTHER
      Version⇒OTHER
      ++++++++++++++++++++



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G