関数 秘密のアッコちゃん - 2009/06/02(Tue) 16:50 No.5606 | |
返信
|
修正・削除
|
|
関数について教えてください。 "RSCB12-100"この文字列から「12」と「100」を各々取り出したいです。桁数の変化に対応可能にするにはどんな式を作ればよいでしょうか?
宜しくお願いします。 |
| Re: 関数 emily - 2009/06/03(Wed) 07:49 No.5607 | |
返信
|
修正・削除
|
|
|
-は1回だけ出現するとして、 Private Sub Command1_Click() ss = "RSCB12-160"
ppm = InStr(ss, "-") For p1 = ppm - 1 To 1 Step -1 ' If Mid(ss, p1, 1) < "0" Or "9" < Mid(ss, p1, 1) Then Exit For If IsNumeric(Mid(ss, p1, 1)) = False Then Exit For Next p1 = p1 + 1 s1 = Mid(ss, p1, ppm - p1) s2 = Mid(ss, ppm + 1) MsgBox s1 & ":" & s2 End Sub でいかがでしょう |
| Re: 関数 秘密のアッコちゃん - 2009/06/03(Wed) 09:31 No.5608 | |
返信
|
修正・削除
|
|
|
早々の回答ありがとうございます。 関数初心者の私にはかなりレベルの高い式で、時間のある時に理解できるよう勉強させてください。
自分なりにやってみましたが、「12」のところはなんとか成立してるような感じです。 「12」を取り出す式の応用で「100」を取り出す式があれば教えてください。
型式=RSCB22-100 文字列=`型式` .Extract(4 ,`型式` .Length() -8) これで「12」のところは取り出せました。 これぐらいのレベルでお願いします。
|
| Re: 関数 emily - 2009/06/03(Wed) 12:54 No.5609 | |
返信
|
修正・削除
|
|
|
CATIAのパラメータの式ですね・・・ やはり -は1回だけ出現するとして、 添付画像のようにすれば出来ますヨ |
| Re: 関数 秘密のアッコちゃん - 2009/06/04(Thu) 11:24 No.5612 | |
返信
|
修正・削除
|
|
|
こんにちは。 早々の回答ありがとうございます。
文字列2=`文字列.1` ->Extract(`整数.1`+1 ,`整数.2` -`整数.1` -1 ) で `整数.2` -`整数.1` -1 が理解できません。
ちなみに、`整数.1`+1 =8 で8番目と解釈しています。 同じように考えると `整数.2` -`整数.1` -1 =4となり、 どう解釈したらいいのかわかりません。
宜しくお願いします。 |
| Re: 関数 emily - 2009/06/04(Thu) 12:57 No.5613 | |
返信
|
修正・削除
|
|
|
>型式=RSCB12-100 >文字列=`型式` .Extract(4 ,`型式` .Length() -8) >これで「12」のところは取り出せました。 じゃぁここで `型式` .Length() -8 は、2なのだけど それを理解して無いということ? 取り出す文字数だと思いますが・・・.ExtractのHELPを読んだほうがいいですよ(当方HELPが読めない環境のためスミマセン) |
| Re: 関数 mmy - 2009/06/04(Thu) 16:48 No.5614 | |
返信
|
修正・削除
|
|
|
構文は .Extract(何番目, 何文字) です。
No.5612 で言うと、8番目から4文字取り出すので、1305 になりますね。
|
| Re: 関数 秘密のアッコちゃん - 2009/06/08(Mon) 10:48 No.5623 | |
返信
|
修正・削除
|
|
|
こんにちは。 ご回答ありがとうございます。 Extractの引数を何番目〜何番目と解釈してました。 「12」とでたのは、力わざです。 おかげさまで少しわかってまいりました。 ありがとうございました。 |
| Re: 関数 秘密のアッコちゃん - 2009/06/08(Mon) 10:51 No.5624 | |
返信
|
修正・削除
|
|
|
こんにちは。 ご回答ありがとうございます。 おかげさまで、間違った解釈をしていた事に気づきました。 ありがとうございます。
|
|