• 締切済み

エクセルで少し困っています。

失礼します。 エクセル初心者です。 名前をランダムに表示したいと思い調べてみたのですが、 わからずここへ来ました。 少し困っております。 下記(例)のようにしたいんですが、 ひらがなチームを選択するとひらがなのチームの方がランダムで選択され、 英数字チームを選択すると英数字のチームの方がランダムで選択される。 というようなことをエクセルで出来ますでしょうか? エクセル2007です。 宜しくお願い致します。

みんなの回答

  • kuma56
  • ベストアンサー率31% (1423/4527)
回答No.3

>というようなことをエクセルで出来ますでしょうか? ・・・・とりあえず、出来、、、みたい。。。。。 エクセルはそれほど詳しくないけど、とりあえず下記のマクロを張り付けてやれば、それなりの動きをしそうです。 ワークシート下側のシートの見出しをマウスで右クリックして"コードの表示"で表示されるエリアに下記のマクロを貼り付けてください。 条件 A1セルに、"ひらがな"か"アルファベット"を入力する     (ツール→入力規制→リスト、でどちらかを選ぶ様にしておくといいかも)    D1~D15セルにひらがなのチーム名を入力    E1~E15セルにアルファベットのチーム名を入力    B1セルにチーム名が張り付く ***ここ↓から切り取る*** Private Sub Worksheet_Change(ByVal Target As Range) Randomize '乱数を発生させる Min = 0 '最小値を 0 Max = 14 '最大値を 14 VAL01 = Int((Max - Min + 1) * Rnd() + Min) ' Range("B1").Select If Target = Range("A1") And Target = "ひらがな" Then '条件設定 A1セルが ひらがな ならば ActiveCell.Offset(VAL01, 2).Range("A1").Select '下へ vAL01 の設定値まで 右へ2コマ移動 Selection.Copy 'コピーを取る Range("B1").Select 'B1セルを選択 ActiveSheet.Paste '張付ける ElseIf Target = Range("A1") And Target = "アルファベット" Then '次の条件 A1セルが アルファベット ならば・・・・ ActiveCell.Offset(VAL01, 3).Range("A1").Select '下へ VAL01 の設定値まで 右へ3コマ移動 Selection.Copy 'コピーを取る Range("B1").Select 'B1セルを選択 ActiveSheet.Paste '張付ける End If Application.CutCopyMode = False End Sub ***ここ↑まで*** マクロを使わず、関数式で何とかする方法もあるかも知れませんが、その辺はよく判りません。 また上記のマクロも、このサイトの過去ログやWEB検索した物の切り貼りに近いので、もっときちんとした記述の仕方が有るのかも知れませんし、もっと簡単な方法もあるかもしれません。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.2

表示したい名前の候補一覧が、別に登録されていて、 その中から選択したグループに属する候補を、無差別に表示したいということでしょうか?

sunpon15
質問者

補足

DIooggooIDさん ありがとうございます。 表示したい名前の候補一覧が、別に登録されていて、 その中から選択したグループに属する候補を、無差別に表示したいということでしょうか? >>はい。そうです。

noname#192382
noname#192382
回答No.1

チーム名を対象に並べ替えをすると、チーム名の最初の字によりひらかな、英字、漢字がそれぞれまとめて示されると思います。

sunpon15
質問者

お礼

optimumsoupさん ありがとうございます。 是非やってみます。

関連するQ&A