Excel VBA質問箱 IV

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

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


15519 / 76734 ←次へ | 前へ→

【66692】Re:英単語 整序問題
発言  kanabun  - 10/9/26(日) 12:53 -

引用なし
パスワード
   ▼星の子 ロビン さん:

>英単語のテスト作りで A列にword と入力したら B列にordw のように問題が作成されるように

文字のシャッフルですか?

Worksheetのセルの値が変更されると そのワークシートに Changeイベント
というのが発生します。それを使った方法です。

シート下のシート見出し(シートタブ)を右クリック、[コードの表示]
出てきたコードウィンドウに 以下を貼りつけて コンパイル後、
A列に "word" など単語を入力してみてください。

'----------------------------------------シートモジュール
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  With Target
    If .Count > 1 Then Exit Sub
    If .Column = 1 Then
      Dim L As Long
      Dim ss As String
      L = Len(.Value)
      If L = 0 Then Exit Sub
      
      Dim i As Long, n As Long, t As String
      ReDim s(1 To L) As String
      ss = .Value
      For i = 1 To L
        s(i) = Mid$(ss, i, 1)
      Next
      Randomize Timer
      For i = 1 To L
        n = Int(L * Rnd() + 1)
        t = s(n)
        s(n) = s(i)
        s(i) = t
      Next
      Application.EnableEvents = False
       .Offset(, 1).Value = Join(s, "")
      Application.EnableEvents = True
    End If
  End With
End Sub
2 hits

【66690】英単語 整序問題 星の子 ロビン 10/9/26(日) 10:57 質問
【66692】Re:英単語 整序問題 kanabun 10/9/26(日) 12:53 発言
【66695】Re:英単語 整序問題 星の子 ロビン 10/9/26(日) 19:03 質問
【66696】Re:英単語 整序問題 kanabun 10/9/26(日) 19:20 発言
【66697】Re:英単語 整序問題 星の子 ロビン 10/9/26(日) 19:51 回答
【66698】Re:英単語 整序問題 星の子 ロビン 10/9/26(日) 19:52 お礼

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