『より便利な検索方法』(ゆんぱすとーら) Win Vista Excel 2007 こういう動作をマクロで動作させたいのですが、書式とマクロで可能でしょうか。 1.特定のシートに検索BOXを設置 2.その検索BOXに検索したい文字列(アルファベット)を入力する 3.検索候補を表示 例:Sheet1 _______A______ このA列に入力されている文字列を検索候補を出しながら 検索 1 AKIRA SATOU      検索BOX 『AK    』 2 AKITOSI SANO     検索候補 AKIRA SATOU    3 SATOSI KITAGAWA         AKITOSI SANO 4 HITOSI KURIHARA AKI ARAI 5 AKI ARAI AKIKO KONDOU . . 2000 AKIKO KONDOU 4.検索候補から当てはまる文字列を選ぶと、A1:A2000の範囲の中でその文字列をセル選択 よろしくお願いします ---- マクロではないですが… B,C列を作業列として使用します。 B1セルに =IF(COUNTIF(A1,"*"&$E$1&"*")>0,"○","×") C1セルに =IF(B1="○",COUNTIF($B$1:B1,"○"),"") としてそれぞれB2000,C2000までオートフィル E1セルを検索BOXとし、F列に検索候補を表示するとして F1セルに =IF(ISERROR(MATCH(ROW(),C:C,0)),"",INDIRECT("C"&MATCH(ROW(),C:C,0))) として下にオートフィルでいかがでしょうか? マクロわからなくてごめんなさい。 (ぞうちゃん) ---- すみません。 さっきの式一部訂正です。  F1セル==IF(ISERROR(MATCH(ROW(),C:C,0)),"",INDIRECT("A"&MATCH(ROW(),C:C,0))) でした。 (ぞうちゃん) ---- 普通にエクセルに用意されている検索との違いはなんでしょう? かえって面倒にも思えますけど・・・ (momo) ---- 絞込み検索ってことでしょうか? 新規ブック(Sheet1というシート名がある)にて 標準モジュールに '======================================================================= Option Explicit Sub 準備() With Worksheets("sheet1") Dim r As Range Set r = .Range("e2:g4") With .OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _ DisplayAsIcon:=False, Left:=r.Left, Top:=r.Top, Width:=r.Width, Height:=r.Height) .Object.MatchEntry = 2 .Name = "ComboBox1" End With .Range("a1:a6").Value = Evaluate("{""AKIRA SATOU"";""AKITOSI SANO"";""SATOSI KITAGAWA"";" & _ """HITOSI KURIHARA"";""AKI ARAI"";""AKIKO KONDOU""}") End With End Sub 準備を実行してみてください。 検索データ例とコントロールツールボックスのコンボボックスを作成します。 次にSheet1のモジュールに '======================================================== Dim ev As Boolean 'Changeイベントの有無フラグ True--発生可能 False---発生不可 Private Sub ComboBox1_Change() Dim myvalue As Variant Dim rng As Range 'リストデータのセル範囲 Dim svtext As String 'コンボボックスのTextの内容の一時保存 If ev = True Then Exit Sub With OLEObjects("combobox1") '←適当な名前に変更すること svtext = .Object.Text Set rng = Range("a1", Cells(Rows.Count, 1).End(xlUp)) If .Object.Text <> "" Then If rng.Count = 1 Then If rng.Value = "" Then .Object.Clear Exit Sub End If End If myvalue = Evaluate("transpose(if(mid(" & rng.Address & ",1," & Len(.Object.Text) & ")=""" _ & .Object.Text & """," & rng.Address & ",""" & Chr(&HFF) & """))") If UCase(TypeName(myvalue)) <> UCase("variant()") Then myvalue = Array(myvalue) End If myvalue = Filter(myvalue, Chr(&HFF), False) '↑あり得ない文字を使用してフィルタをおこなう ev = True .Object.Clear .Object.List() = myvalue .Object.Text = svtext If UBound(myvalue) >= 0 Then .Object.DropDown End If ev = False On Error Resume Next rng(Application.Match(.Object.Text, rng, 0)).Select On Error GoTo 0 Else .Object.Clear .Visible = False .Visible = True .Activate End If End With End Sub これでコンボボックスに検索データを入力してみてください。 検索候補が表示されます。 ichinose   ---- ぞうちゃん様、ご回答有難うございます。Bookをあまり重くしたくないので、できればマクロで考えています。しかし、書式はちゃんと動きました。ありがとうございました。 momo様、ご回答有難うございます。そうなんです、標準の検索とはホント紙一重なやり方なのです。でもその紙一重が例え3秒でも5秒であっても、先方取引先に待ちの時間は与えたくない。そういう気持ちで質問しました。申し訳ございません。 ichinose様、ご回答有難うございます。マクロを動かしてみました。このマクロは .Range("a1:a6").Value = Evaluate("{""AKIRA SATOU"";""AKITOSI SANO"";""SATOSI KITAGAWA"";" & _ """HITOSI KURIHARA"";""AKI ARAI"";""AKIKO KONDOU""}") このEvaluateの後ろの部分に、現在登録されている名前を全て入力しなければ動かないのでしょうか。。(2000近くあります) 拾ってきたマクロを少し書き換えたのですが、ちょっとした問題があるので見ていただけますでしょうか。 Private Sub UserForm_Initialize() Set Tokuisaki = Worksheets("得意先マスタ") 'Tokuisaki.Activate Maxl = Tokuisaki.UsedRange.Rows.Count 'ListIdx = 0 'ChangeSwitch = False 'Call Member 'OptionButton1.Value = True End Sub Private Sub CommandButton1_Click() Dim Namae As String Dim MeNamae As Object Namae = TextBox1.Text Set MeNamae = KensakuForm Call 検索(Namae, MeNamae) End Sub Private Sub CommandButton2_Click() End End Sub Public Function Kensaku(ByVal Namae As String) As Integer Dim kensakuSu As Integer kensakuSu = 0 For l = 1 To Maxl If Tokuisaki.Cells(l, 3) = Namae Then kensakuSu = kensakuSu + 1 Kensaku = l End If Next End Function Private Sub ListBox1_Click() 'If ChangeSwitch = True Then ' 保存忘れ防止装置 'End If ListIdx = ListBox1.ListIndex Namae = ListBox1.List(ListIdx) l = Kensaku(ByVal Namae) 'Call 個別へ表示(ByVal l) Tokuisaki.Cells(l, 1).Activate End Sub ----------------- <標準モジュールのコード> Public Sub 検索(ByVal Namae As String, ByRef MeNamae As Object) Dim Nagasa As Integer Dim i As Long Dim MaxRows As Long Dim Tokuisaki As Object Dim KensakuChar As String Dim ListNamae As String Dim ListChar As String Dim KBanme As Integer Dim LBanme As Integer Set Tokuisaki = Worksheets("得意先マスタ") MaxRows = Tokuisaki.UsedRange.Rows.Count Nagasa = Len(Namae) MeNamae.ListBox1.Clear For i = 3 To MaxRows ListNamae = Tokuisaki.Cells(i, 3) KBanme = 0 LBanme = 0 Do Do While Nagasa >= KBanme KBanme = KBanme + 1 KensakuChar = Mid(Namae, KBanme, 1) If KensakuChar <> " " Then Exit Do End If Loop Do While Nagasa >= LBanme LBanme = LBanme + 1 ListChar = Mid(ListNamae, LBanme, 1) If ListChar <> " " Then Exit Do End If Loop If KensakuChar = ListChar Then If Nagasa = KBanme Then With MeNamae .ListBox1.AddItem (ListNamae) End With End If Else Exit Do End If Loop Until Nagasa <= KBanme Next End Sub ------------------- 問題点 1.検索候補に同じ名前(全く同じ人)が何度も表示されてしまう。 (同じ名前の人は入力されてますが、2人しか居ないのに10個ほど表示されてしまう) 2.大文字と小文字を区別したくない 3.最初の一文字入力だけで検索候補が出ますが、逐一ボタンを押さないと検索候補が 表示されない。これをタイプした瞬間に表示させたい。 よろしくお願いいたします。 (ゆんぱすとーら) ---- 私からはイベント制御でのサンプルコードです。 該当シートのモジュールに貼り付けで B1セルを検索文字の入力セル B3から下へHITした文字を出力します。 Private Sub Worksheet_Change(ByVal Target As Range) Dim tbl, c As Long, i As Long If Target.Address = "$B$1" Then Application.EnableEvents = False tbl = Me.Range(Me.Range("A1"), Me.Range("A" & Me.Rows.Count).End(xlUp)).Value Me.Range(Me.Range("B3"), Me.Range("B3").End(xlDown)).ClearContents c = 2 For i = 1 To UBound(tbl) If tbl(i, 1) Like Me.Range("B1").Value & "*" Then c = c + 1 Me.Range("B" & c).Value = tbl(i, 1) End If Next i Me.Range("B1").Activate Application.EnableEvents = True End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Application.Intersect(Target, Me.Range(Me.Range("B3"), Me.Range("B3").End(xlDown))) Is Nothing Then Exit Sub Application.EnableEvents = False With Me.Columns("A") .Find(Target.Value, .Cells(.Cells.Count), xlValues, xlWhole, xlByRows, xlNext, False, False).Activate End With Application.EnableEvents = True End Sub (momo) ---- momo様、御回答有難うございます >> 該当シートのモジュールに貼り付けで B1セルを検索文字の入力セル B3から下へHITした文字を出力します。 何も反応しません。。。  (ゆんぱすとーら) ---- >このEvaluateの後ろの部分に、現在登録されている名前を全て入力しなければ動かないのでしょうか。。 これは、A列にデータ例を設定するマクロです。 実際には、準備を実行して、コンボボックスの作成後に A列に実際のデータをコピーして試してください。 でも、ということが読み取れないようでは、この仕様自体が難しい仕様かも知れませんよ!! 訂正があったので再度最初からコードを提示します。 新規ブック(Sheet1というシート名がある)にて 標準モジュールに '======================================================================= Option Explicit Sub 準備() With Worksheets("sheet1") Dim r As Range Set r = .Range("e2:g4") With .OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _ DisplayAsIcon:=False, Left:=r.Left, Top:=r.Top, Width:=r.Width, Height:=r.Height) .Object.MatchEntry = 2 .Object.BoundColumn = 2 .Object.TextColumn = 1 .Name = "ComboBox1" End With .Range("a1:a6").Value = Evaluate("{""AKIRA SATOU"";""AKITOSI SANO"";""SATOSI KITAGAWA"";" & _ """HITOSI KURIHARA"";""AKI ARAI"";""AKIKO KONDOU""}") End With End Sub 「準備」を実行してみてください。 検索データ例とコントロールツールボックスのコンボボックスを作成します。 データ例は実際のデータをA1から設定してください。2000行でも 試した限りでは そんなに遅くないですよ 次にSheet1のモジュールに '======================================================== Dim ev As Boolean 'Changeイベントの有無フラグ True--発生可能 False---発生不可 '============================================================================ Private Sub ComboBox1_Change() Dim myvalue As Variant Dim idx As Long Dim g0 As Long Dim rng As Range 'リストデータのセル範囲 Dim svtext As String 'コンボボックスのTextの内容の一時保存 If ev = True Then Exit Sub With OLEObjects("combobox1") '←適当な名前に変更すること On Error Resume Next idx = .Object.List(.Object.ListIndex, 1) If Err.Number <> 0 Then idx = 0 On Error GoTo 0 svtext = .Object.Text Set rng = Range("a1", Cells(Rows.Count, 1).End(xlUp)) If .Object.Text <> "" Then If rng.Count = 1 Then If rng.Value = "" Then .Object.Clear Exit Sub End If End If myvalue = Evaluate("transpose(if(mid(" & rng.Address & ",1," & Len(.Object.Text) & ")=""" _ & .Object.Text & """,row(" & rng.Address & "),""" & Chr(&HFF) & """))") If UCase(TypeName(myvalue)) <> UCase("variant()") Then ReDim ll(1 To 1) ll(1) = myvalue myvalue = ll() Erase ll() End If myvalue = Filter(myvalue, Chr(&HFF), False) '↑あり得ない文字を使用してフィルタをおこなう ev = True .Object.Clear If UBound(myvalue) >= 0 Then ReDim llist(1 To UBound(myvalue) + 1, 1 To 2) For g0 = LBound(myvalue, 1) To UBound(myvalue, 1) llist(g0 + 1, 2) = myvalue(g0) llist(g0 + 1, 1) = rng(myvalue(g0)).Value Next .Object.List() = llist() .Object.DropDown End If .Object.Text = svtext ev = False On Error Resume Next If idx > 0 Then rng(idx).Select On Error GoTo 0 Else .Object.Clear .Visible = False .Visible = True .Activate End If End With Erase llist() End Sub これで同名の選択肢があっても選択した名前のあるセルを選択します。 私のコードに限らず、ご自分で解析し、コードをピンポイントで指定し、質問をした方が良いですよ!! ichinose ---- ichinose様、ご回答ありがとうございます。 >> これは、A列にデータ例を設定するマクロです。 実際には、準備を実行して、コンボボックスの作成後に A列に実際のデータをコピーして試してください。 でも、ということが読み取れないようでは、この仕様自体が難しい仕様かも知れませんよ!! マクロを正常に動かすことが出来ました。この形はここに質問する前に思い描いていた理想の 検索方法です。場所も取らず、動きも早いし、クリック数も最小限。有難うございます。仕様 に関しては、はい、、難しいです。 『>>このEvaluateの後ろの部分に、現在登録されている名前を全て入力しなければ 動かないのでしょうか。。』後から読み直してみると、ichinose様がそんな仕様にするはず無い のに、とても失礼な言動でした。申し訳ございません。以前、GoogleMapの住所検索の件で一度 御世話になりました。その節は大変お世話になりました。 >>私のコードに限らず、ご自分で解析し、コードをピンポイントで指定し、質問をした方が良いですよ!! コードを解析する能力も、そこを指定することも、現在の私ではとても悔しいですが出来ないのです>< せめて出来るのは、拾ってきたマクロなり書式なりを、自分のBookで動くように書き換えることくらい しか出来ません。そして、それすら一つの作業に1週間ほど掛かってしまう能力以上の作業なのです。 申し訳ありません、こんな者にでも御助力いただけたら助かります。 ・C4から検索して(C3には見出しがあります)候補をクリックしたらA列の同じ行の文字列をコピーし、 「オーダー」シートのAM2にペーストしたい。 ・マクロに仕事をしてもらった後、Bookを終了したときにExcel応答無しで、再起動してしまいま す(10回中10回)。こちらの環境でしょうか。。他のマクロが書いてあるBookでも新規Bookでも 同じ状態です。 質問ではA列A1からの検索で質問しています。この時点では、Rangeを書き変えるだけで自分の指定した 範囲で検索出来るだろう、と簡単に考えていたのですが、Ichinose様から頂いたマクロを見るとどこに Rangeの範囲 があるのか、どこを書き変えたら指定した場所を検索してくれるのか、全く理解できません。 2度手間になってしまい本当に申し訳ありませんが、A1ではなくC4からの検索方法を御 願い出来れば、、、と、厚かましいのは重々承知しております。 どうか、よろしくお願いします。 (ゆんぱすとーら) ---- >それすら一つの作業に1週間ほど掛かってしまう能力以上の作業なのです。 そうですか?今回は、いくつか興味深い現象が見つかったのでそのお礼ということで コードは提示します。 まず、 >マクロを見るとどこにRangeの範囲 があるのか、どこを書き変えたら指定した場所を検索してくれるのか、全く理解できません。 これは、Sheet1のモジュールの ComboBox1_Change内に Set rng = Range("a1", Cells(Rows.Count, 1).End(xlUp)) とありますね!! ここでセルA1からデータのあるA列のセル範囲を取得しています 例題データでは、rngは、セルA1:A6を取得しています。 >Bookを終了したときにExcel応答無しで、再起動してしまいます。 これは、コンボボックスのBoundColumnとTextColumnが異なる時に 起きていそうです。 >A1ではなくC4からの検索方法を御願い出来れば、、、と、厚かましいのは重々承知しております。 新規ブックにて試してみてください。 標準モジュール(Module1)に '======================================================================= Option Explicit Sub 準備() With Worksheets("sheet1") Dim r As Range Set r = .Range("e2:g4") With .OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _ DisplayAsIcon:=False, Left:=r.Left, Top:=r.Top, Width:=r.Width, Height:=r.Height) .Object.MatchEntry = 2 .Object.BoundColumn = 2 .Object.TextColumn = 1 .Name = "ComboBox1" End With .Range("c3:c9").Value = Evaluate("{""氏名"";""AKIRA SATOU"";""AKITOSI SANO"";""SATOSI KITAGAWA"";" & _ """HITOSI KURIHARA"";""AKI ARAI"";""AKIKO KONDOU""}") End With End Sub 別の標準モジュール(Module2)に '=========================================================================== Sub auto_close() With Worksheets("sheet1").OLEObjects("combobox1") .Object.Clear End With End Sub Sub auto_open() With Worksheets("sheet1").OLEObjects("combobox1") .Object.Value = "" .Object.Clear End With End Sub Sheet1のモジュールに '===================================================================== '======================================================== Dim ev As Boolean 'Changeイベントの有無フラグ True--発生可能 False---発生不可 '============================================================================ Private Sub ComboBox1_Change() Dim myvalue As Variant Dim idx As Long Dim g0 As Long Dim rng As Range 'リストデータのセル範囲 Dim svtext As String 'コンボボックスのTextの内容の一時保存 If ev = True Then Exit Sub With OLEObjects("combobox1") '←適当な名前に変更すること On Error Resume Next idx = .Object.List(.Object.ListIndex, 1) If Err.Number <> 0 Then idx = 0 On Error GoTo 0 svtext = .Object.Text Set rng = Range("c4", Cells(Rows.Count, "c").End(xlUp)) If .Object.Text <> "" Then If rng.Row <= 3 Then .Object.Clear Exit Sub End If myvalue = Evaluate("transpose(if(mid(" & rng.Address & ",1," & Len(.Object.Text) & ")=""" _ & .Object.Text & """,row(" & rng.Address & "),""" & Chr(&HFF) & """))") If UCase(TypeName(myvalue)) <> UCase("variant()") Then ReDim ll(1 To 1) ll(1) = myvalue myvalue = ll() Erase ll() End If myvalue = Filter(myvalue, Chr(&HFF), False) '↑あり得ない文字を使用してフィルタをおこなう ev = True .Object.Clear If UBound(myvalue) >= 0 Then ReDim llist(1 To UBound(myvalue) + 1, 1 To 2) For g0 = LBound(myvalue, 1) To UBound(myvalue, 1) llist(g0 + 1, 2) = myvalue(g0) - rng.Row + 1 llist(g0 + 1, 1) = rng(myvalue(g0) - rng.Row + 1).Value Next .Object.List() = llist() .Object.DropDown End If .Object.Text = svtext ev = False On Error Resume Next If idx > 0 Then rng(idx).Select On Error GoTo 0 Else .Object.Clear .Visible = False .Visible = True .Activate End If End With Erase llist() End Sub  「準備」を実行してみてください。 Sheet1にコンボボックスが作成され、C4:C9にサンプルデータが作成されます。 尚、C3には、項目名(例では、「氏名」)があるものとします。 C4以降に、データを追加・変更してもかまいません。 ここで一度、適当な名前でこのブックを保存してください。 一度、終了して、再度当該ブックを開いて、試してみてください。 私の環境では、今度は、正常に作動しています。 ichinose ---- ishinose様、御回答有難うございます。 応答なし、再起動については、10回保存→終了を試したところ1度だけ再発しましたが、概ね正常に 終了動作するようになりました。ありがとうございます。 1つだけ自分のBookにおいて不都合な点があります。Book起動時に一番最初にアクティブ(Sheet00)に なるシートを設定してあるんですが(起動時処理としてマクロ設定しています)、Ichinose様から頂 いたマクロを動作させると、Sheet1がアクティブになって起動してしまいます。なぜ起動時処理のマ クロが動作しないか、なぜSeet1がアクティブになるのか皆目解りません>< ・C4から検索して(C3には見出しがあります)候補をクリックしたら同じ行のA列を コピーし、Sheet2のAM2にペーストしたい。 甘えてばかりで申し訳ありません、よろしくお願いいたします。 (ゆんぱすとーら) ---- >1つだけ自分のBookにおいて不都合な点があります。Book起動時に一番最初にアクティブ(Sheet00)に なるシートを設定してあるんですが Thisworkbookのモジュールに Private Sub Workbook_Open() Worksheets("sheet00").Activate End Sub このようなコードが記述されているのですか? だとしたら、 このThisworkbookのモジュールに Option Explicit Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim asht As Object Set asht = ActiveSheet With Worksheets("sheet1").OLEObjects("combobox1") .Object.Clear .Object.BoundColumn = 1 .Object.TextColumn = -1 End With asht.Activate Set asht = Nothing End Sub Private Sub Workbook_Open() With Worksheets("sheet1").OLEObjects("combobox1") .Object.Value = "" .Object.Clear .Object.BoundColumn = 2 .Object.TextColumn = 1 End With Worksheets("sheet00").Activate End Sub このようにして、標準モジュールにある Auto_Open とAuto_Closeは、削除してください。 ・C4から検索して(C3には見出しがあります)候補をクリックしたら同じ行のA列を コピーし、Sheet2のAM2にペーストしたい。 Sheet1のモジュールにあるComboBox1_Changeを Option Explicit '======================================================== Dim ev As Boolean 'Changeイベントの有無フラグ True--発生可能 False---発生不可 '============================================================================ Private Sub ComboBox1_Change() Dim myvalue As Variant Dim idx As Long Dim g0 As Long Dim rng As Range 'リストデータのセル範囲 Dim svtext As String 'コンボボックスのTextの内容の一時保存 If ev = True Then Exit Sub With OLEObjects("combobox1") '←適当な名前に変更すること On Error Resume Next idx = .Object.List(.Object.ListIndex, 1) If Err.Number <> 0 Then idx = 0 On Error GoTo 0 svtext = .Object.Text Set rng = Range("c4", Cells(Rows.Count, "c").End(xlUp)) If .Object.Text <> "" Then If rng.Row <= 3 Then .Object.Clear Exit Sub End If myvalue = Evaluate("transpose(if(mid(" & rng.Address & ",1," & Len(.Object.Text) & ")=""" _ & .Object.Text & """,row(" & rng.Address & "),""" & Chr(&HFF) & """))") If UCase(TypeName(myvalue)) <> UCase("variant()") Then ReDim ll(1 To 1) ll(1) = myvalue myvalue = ll() Erase ll() End If myvalue = Filter(myvalue, Chr(&HFF), False) '↑あり得ない文字を使用してフィルタをおこなう ev = True .Object.Clear If UBound(myvalue) >= 0 Then ReDim llist(1 To UBound(myvalue) + 1, 1 To 2) For g0 = LBound(myvalue, 1) To UBound(myvalue, 1) llist(g0 + 1, 2) = myvalue(g0) - rng.Row + 1 llist(g0 + 1, 1) = rng(myvalue(g0) - rng.Row + 1).Value Next .Object.List() = llist() .Object.DropDown End If .Object.Text = svtext ev = False On Error Resume Next If idx > 0 Then rng(idx).Select Worksheets("sheet2").Range("am2").Value = rng(idx).Offset(0, -2).Value '↑追加変更箇所 End If On Error GoTo 0 Else .Object.Clear .Visible = False .Visible = True .Activate End If End With Erase llist() End Sub ichinose  ---- こんにちは。 > コードを解析する能力も、そこを指定することも、現在の私ではとても悔しいですが出来ないのです>< > せめて出来るのは、拾ってきたマクロなり書式なりを、自分のBookで動くように書き換えることくらい > しか出来ません。 たぶん、自分の実力とかけ離れたことをしようとしているからです。 悪い意味に取らないで下さいね。 はじめてプールに入る子供に いきなりバタフライの泳ぎ方を教えるでしょうか? 教えませんね。 でも、段階を追って少しずつ教えれば、子供もいずれバタフライを泳げるようになります。 段階を追って がポイントです。 VBAも同じです。自分の実力よりほんの少し難しいことを、独力で実現してみる。 それを何度も何度も繰り返しながら、少しずつ前に進んでいくのです。 もちろん実力とかけ離れたことを望んでいけないわけではありません。 仕事ははかどります。 でもそれは実力向上にはあまり役に立たないと自覚して、使い分けるのがかしこいやり方です。 −佳− ---- ichinose様、御回答ありがとうございます。 出来ました!やっと自分のイメージ通りのBookが出来ました!長かったです、時間が空いたときに少し づつより良く使いやすいように作り始めて約1年たってしまいました。ここの学校に質問をしたのは、 頭の中に「こりゃどう見ても無理だ」と感じた4回ですが、こんな私ごとの為に、貴重なお時間を削っ て頂き、本当に感謝しております。再度、有難うございました。 佳様、ありがとうございます。自分の実力とかけ離れたことをしているのは重々承知です。開き直っ ているわけではなく、分は弁えております。ここは悔しいですが今現在は、、としておきます。御助 言頭に叩き込んでおきます。有難うございます。 (ゆんぱすとーら)