もじぴったん楽しいなあ!
楽しい!楽しい!
あ!
負けそう!
やりたいこと
- 文字登録
- 文字検索(あいまい検索)
エクセルがぴったりだ!
VBAというものを使いました。
完成はこんな感じです。
文字数別に分けました。見やすいので。
それぞれのテーブル横に、今登録済みの言葉の数を出しています。
=COUNTA(B6:B206)
を入れてます!Bが変わるやつです。
あとB2のセルの文字数がA2に出るようにしてます。
=LEN(B2)
です。
ソースコード
登録ボタンの方Private Sub CommandButton1_Click()
Dim a As Long
If Range("A2") = 3 Then
a = Range("C6")
Range("B" & a + 6).Value = Cells(2, 2)
ElseIf Range("A2") = 4 Then
a = Range("F6")
Range("E" & a + 6).Value = Cells(2, 2)
ElseIf Range("A2") = 5 Then
a = Range("I6")
Range("H" & a + 6).Value = Cells(2, 2)
ElseIf Range("A2") = 6 Then
a = Range("L6")
Range("K" & a + 6).Value = Cells(2, 2)
ElseIf Range("A2") = 7 Then
a = Range("O6")
Range("N" & a + 6).Value = Cells(2, 2)
ElseIf Range("A2") = 8 Then
a = Range("R6")
Range("Q" & a + 6).Value = Cells(2, 2)
ElseIf Range("A2") = 9 Then
a = Range("U6")
Range("T" & a + 6).Value = Cells(2, 2)
End If
End Sub
検索ボタンの方
Private Sub searchBtn_Click()
Dim arr(1 To 200) As String
Dim c As Range
Dim firstAddress As String
Dim i As Long: i = 1
With Range("B6:T206")
Set c = .Find(Cells(2, 2), LookIn:=xlValues, lookat:=xlWhole, MatchCase:=False)
If Not c Is Nothing Then
firstAddress = c.Address
Do
arr(i) = c.Value & ","
i = i + 1
Set c = .FindNext(c)
If c Is Nothing Then Exit Do
Loop Until c.Address = firstAddress
End If
End With
MsgBox Join(arr, " ")
End Sub
登録ボタンの名前変えてないの今気づいた遅すぎ!
あと絶対もっと効率よくできるー知識不足ー
おわり
もじぴったんは登録されている言葉の一覧とかが公開されていないので、対戦しながら言葉を登録していって、みたいなかんじです。ボタン押してぽんぽん登録していけるから楽だけど、
重複した登録ができないようにするとかを追加したい。
とりあえずこちらを参考に登録してみました。
超地道だった。
ふつうにもじぴったんした方が楽しいかな
楽しい!楽しい!!