画像のようにA列に①~③の文字列があります。 この文字列の中から、頭文字が5の文字列のみ、BCD列の表のように取り出し たいです。

画像

Excel | Visual Basic112閲覧xmlns="http://www.w3.org/2000/svg">50

1人が共感しています

ベストアンサー

0
画像

ThanksImg質問者からのお礼コメント

マクロのプログラムをありがとうございます。 知人に関数で出来る事を教わって、そちらで解決することが出来ました。 しかし、マクロの知識も必要としているので、とても参考になりました。 ありがとうございました。

お礼日時:10/23 2:40

その他の回答(2件)

0

私は、マクロの関数の知識がないためチョット異なる回答となりますが、回答させて頂きます。 先ず確認ですが、常に①、②、及び③の3ブロックのみが対象でよいのですね。 次にこの3ブロックはの間隔は10行間隔で良いのですね。 回答としては、次のようになります。 手順 1.フォームコントロールのボタンをシートに貼付けます。(下図参照) 2.そのフォームコントロールのボタンの「Clik」のプロシージャに下記プログラムを貼付けて頂くと良いでしょう。 3.プログラム: Sub ボタン3_Click() ←この行はコピー不要です。 For n0 = 1 To 30 Step 10 If Cells(5 + n0, 1).Value = "" Then Exit For Else For n1 = 1 To 9 If Cells(5 + n0 + n1, 1).Value = "" Then Exit For Else Cells(1 + (n0 - 10) / 10 + 2, 2).Value = Cells(5 + n0, 1).Value For n2 = 1 To 9 If Left(Cells(5 + n0 + n1, 1).Value, 1) = 5 Then For n3 = 1 To 9 If Cells(1 + (n0 - 10) / 10 + 2, 2 + n3).Value = "" Then Cells(1 + (n0 - 10) / 10 + 2, 2 + n3).Value = Cells(5 + n0 + n1, 1).Value Exit For End If Next Exit For End If Next End If Next End If Next End Sub ←この行はコピー不要です。

画像
0

なんでもできる。文字列を取得できる関数があるから使えばええ

ありがとうございます。 すみません、この場合の具体的な数式を教えて欲しいのです。 一つ言わせて頂ければ、具体的な質問に対して、抽象的な回答をされた時に、あなたは、どのように思いますか?