Excel VBA質問箱 IV

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

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


7303 / 13644 ツリー ←次へ | 前へ→

【39915】検索フォームの作り方 初心者3 06/7/4(火) 10:48 質問[未読]
【39916】Re:検索フォームの作り方 ハチ 06/7/4(火) 11:14 発言[未読]
【39917】Re:検索フォームの作り方 初心者3 06/7/4(火) 11:29 質問[未読]
【39920】Re:検索フォームの作り方 Jaka 06/7/4(火) 11:47 発言[未読]
【39921】Re:検索フォームの作り方 初心者3 06/7/4(火) 12:21 質問[未読]
【39922】Re:検索フォームの作り方 neptune 06/7/4(火) 12:51 回答[未読]
【39923】Re:検索フォームの作り方 初心者3 06/7/4(火) 13:05 質問[未読]
【39928】Re:検索フォームの作り方 ハト 06/7/4(火) 13:33 発言[未読]
【39930】Re:検索フォームの作り方 Jaka 06/7/4(火) 13:45 発言[未読]
【39934】Re:検索フォームの作り方 neptune 06/7/4(火) 14:25 発言[未読]
【39935】Re:検索フォームの作り方 Jaka 06/7/4(火) 14:28 発言[未読]
【39943】Re:検索フォームの作り方 neptune 06/7/4(火) 15:45 発言[未読]
【39957】Re:検索フォームの作り方 初心者3 06/7/4(火) 16:27 お礼[未読]
【39944】Re:検索フォームの作り方 初心者3 06/7/4(火) 15:46 お礼[未読]

【39915】検索フォームの作り方
質問  初心者3  - 06/7/4(火) 10:48 -

引用なし
パスワード
   いつも大変お世話になっております。

フォームを使って検索し、検索データを修正した後
登録を行うコードをいろいろな方のコードを参考に
作っています。
以下のように書きましたが、シート上では検索
出来ましたが、フォーム上に表示されません。

どこの部分を修正すれば、反映されますでしょうか?


Private Sub CommandButton1_Click() '[検索]ボタン
  Dim myDname As String
  Dim c As Range
  
  strSimei = Me.simei.Value
  
'エラートラップを設定する
  On Error GoTo errHandler
'テキストボックスの文字列を検索する
  With Sheets("編集用シート").Columns("A")
  Set c = .Find(What:=Me.TextBox1.Text, After:=Range("A2"), LookIn:=xlValues, lookat:=xlPart).Activate
       Me.simei.value = c.value
       Me.furigana.Value = c.Offset(, 1).Value
       Me.tel1.Value = c.Offset(, 2).Value
       Me.tel2.Value = c.Offset(, 3).Value
       Me.tel3.Value = c.Offset(, 4).Value
       Me.mail1.Value = c.Offset(, 5).Value
       Me.mail2.Value = c.Offset(, 6).Value
       Me.mail3.Value = c.Offset(, 7).Value
       Me.memo.Value = c.Offset(, 8).Value


  End With
  
'エラートラップを解除する
  On Error GoTo 0

'サブルーチンを抜ける
Exit Sub
'エラートラップ用ラベル
errHandler:
'メッセージボックスを表示する
  MsgBox "該当なし"
'エラーを無視して次のステートメントを実行する
  Resume Next
End Sub

【39916】Re:検索フォームの作り方
発言  ハチ  - 06/7/4(火) 11:14 -

引用なし
パスワード
   ▼初心者3 さん:
>いつも大変お世話になっております。
>
>フォームを使って検索し、検索データを修正した後
>登録を行うコードをいろいろな方のコードを参考に
>作っています。
>以下のように書きましたが、シート上では検索
>出来ましたが、フォーム上に表示されません。
>
>どこの部分を修正すれば、反映されますでしょうか?
>
>
>Private Sub CommandButton1_Click() '[検索]ボタン
>  Dim myDname As String
>  Dim c As Range
>  
>  strSimei = Me.simei.Value
>  
>'エラートラップを設定する
>  On Error GoTo errHandler
>'テキストボックスの文字列を検索する
>  With Sheets("編集用シート").Columns("A")
>  Set c = .Find(What:=Me.TextBox1.Text, After:=Range("A2"), LookIn:=xlValues, lookat:=xlPart).Activate
>       Me.simei.value = c.value
>       Me.furigana.Value = c.Offset(, 1).Value
>       Me.tel1.Value = c.Offset(, 2).Value
>       Me.tel2.Value = c.Offset(, 3).Value
>       Me.tel3.Value = c.Offset(, 4).Value
>       Me.mail1.Value = c.Offset(, 5).Value
>       Me.mail2.Value = c.Offset(, 6).Value
>       Me.mail3.Value = c.Offset(, 7).Value
>       Me.memo.Value = c.Offset(, 8).Value
>
>
>  End With
>  
>'エラートラップを解除する
>  On Error GoTo 0
>
>'サブルーチンを抜ける
>Exit Sub
>'エラートラップ用ラベル
>errHandler:
>'メッセージボックスを表示する
>  MsgBox "該当なし"
>'エラーを無視して次のステートメントを実行する
>  Resume Next
>End Sub

Me.tel1.Value ←このあたりのコントロールはなんですか?
TextBoxですか?
Label だとしたら、.Captionだと思います。

On Error GoTo errHandler をコメントアウトして
どうなるのか明記してください。

【39917】Re:検索フォームの作り方
質問  初心者3  - 06/7/4(火) 11:29 -

引用なし
パスワード
   ▼ハチ さん:
早速、確認頂き、有難うございました。

>Me.tel1.Value ←このあたりのコントロールはなんですか?
>TextBoxですか?

はい。TextBoxです。

>On Error GoTo errHandler をコメントアウトして
>どうなるのか明記してください。

エラー番号424
「オブジェクトが必要です。」
と表示されました。
Set c のところです。
cの値はNothingになっています。

【39920】Re:検索フォームの作り方
発言  Jaka  - 06/7/4(火) 11:47 -

引用なし
パスワード
   >  Set c = .Find(What:=Me.TextBox1.Text, After:=Range("A2"), LookIn:=xlValues, lookat:=xlPart).Activate
これだとActivateの結果がセットされるだけです。

>cの値はNothingになっています。
Activateの結果がなんでNothingになるのか調べたことないのでとく解りませんが

.Activateを取り除いて
if c is nothing then
で、結果判定させればいいと思います。。

【39921】Re:検索フォームの作り方
質問  初心者3  - 06/7/4(火) 12:21 -

引用なし
パスワード
   ▼Jaka さん:
ありがとうございます!!
無事表示されました。

図々しくも、もう一つ質問しても良いでしょうか?

検索フォームで検索したデータを修正し、修正ボタンを
押して、シート上のデータに反映させることは
出来ますか?

【39922】Re:検索フォームの作り方
回答  neptune  - 06/7/4(火) 12:51 -

引用なし
パスワード
   ▼初心者3 さん:
>出来ますか?
できます。

【39923】Re:検索フォームの作り方
質問  初心者3  - 06/7/4(火) 13:05 -

引用なし
パスワード
   ▼neptune さん:
>▼初心者3 さん:
>>出来ますか?
>できます。

どのようなコードにすれば良いのか、ヒントだけでも
教えていただけますか?
たとえばtel1を修正して、
tel1=cells(c.row,3)
と入れても、反映されません。

過去ログを検索しても良く分からなかったのでお願いします。

【39928】Re:検索フォームの作り方
発言  ハト  - 06/7/4(火) 13:33 -

引用なし
パスワード
   ▼初心者3 さん:
>▼neptune さん:
>>▼初心者3 さん:
>>>出来ますか?
>>できます。
>
>どのようなコードにすれば良いのか、ヒントだけでも
>教えていただけますか?
>たとえばtel1を修正して、
>tel1=cells(c.row,3)
>と入れても、反映されません。
>
>過去ログを検索しても良く分からなかったのでお願いします。

cells(c.row,3) = tel1

としても反映されませんか?

c.row の値は正しいですか?

【39930】Re:検索フォームの作り方
発言  Jaka  - 06/7/4(火) 13:45 -

引用なし
パスワード
   変数をどこに宣言しているのかわからないけど、プロシジャーを抜けちゃっているので、
cの中身がなくなっている可能性があります。
フォームのどこかに非表示のテキストボックスを作って、そこにアドレスを入れておくのがいいと思いますが...。

▼neptune さん:
>▼初心者3 さん:
>>出来ますか?
>できます。
冷やかしっぽいのは止めた方が良いです。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=37520;id=excel

【39934】Re:検索フォームの作り方
発言  neptune  - 06/7/4(火) 14:25 -

引用なし
パスワード
   ▼Jaka さん:
>▼neptune さん:
>>▼初心者3 さん:
>>>出来ますか?
>>できます。
>冷やかしっぽいのは止めた方が良いです。
>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=37520;id=excel
↑は冷やかしのつもりは全くないです。親切のつもりで書いてます。
私は冷やかしはしません。なぜなら、法外な質問者にはResを付けないからです。

Jaka さんとは違う考えでResを付けていると思ってください。
Jaka さんがどのような考えかはわかりませんが。

しかしながら、言われてみると確かに
>できます
はひどいかもしれない。
▼初心者3 さん ごめんなさい。
但し、冷やかしのつもりはないです。


なぜこういう書き方をしたかを説明します。
最初の質問のコードを書き、理解するスキルがあれば少し考えれば
出来ると判っている事について
>出来ますか?
という安易な「質問」はしないでしょう。具体的な質問になるはずです。
考えもせずに質問は良くないです。

ああ書いた上で、具体的な質問になり、その上で私が見たとき、誰からもまだ
アドバイスが書き込まれてなかったら、当然書き込みをした以上できる
アドバイスはします。
現在は2名もの方がアドバイスされているので、その必用を感じません。

Jaka さんのリンクしたスレッドも同じ理由で更なるResの必要は
感じなかったので書き込んでおりません。
それを冷やかしというのはどうかと思いますが。そう感じる人もいるし
感じない人もいるでしょう。

いずれにしても基本ポリシーに反しない書き込みをするようできるだけ
気を付けたいと思います。

【39935】Re:検索フォームの作り方
発言  Jaka  - 06/7/4(火) 14:28 -

引用なし
パスワード
   ▼neptune さん:
>>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=37520;id=excel
>↑は冷やかしのつもりは全くないです。親切のつもりで書いてます。
>私は冷やかしはしません。なぜなら、法外な質問者にはResを付けないからです。
このスレッド先は冷やかし思ってません。
ここでかかかれていた事と今回の行動が一致しないということです。

【39943】Re:検索フォームの作り方
発言  neptune  - 06/7/4(火) 15:45 -

引用なし
パスワード
   ▼Jaka さん:
>このスレッド先は冷やかし思ってません。
>ここでかかかれていた事と今回の行動が一致しないということです。
了解。指摘ありがとう。

【39944】Re:検索フォームの作り方
お礼  初心者3  - 06/7/4(火) 15:46 -

引用なし
パスワード
   ▼Jaka さん、ハトさん:

ありがとうございました。
お蔭様で、解決することが出来ました。

本当に有難うございました。

【39957】Re:検索フォームの作り方
お礼  初心者3  - 06/7/4(火) 16:27 -

引用なし
パスワード
   ▼neptune さん:

確かに、「出来ますか?」の質問ですから
「出来ます。」というお答えになっても
当然だと思います。

急いでいたことは理由にもなりません。
安易に質問していまい、大変申し訳ありませんでした。

今後気をつける所存ですが、万が一ポリシーに反する
投稿をしてしまった場合、ご指導宜しくお願いいたします。

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