
昨日VBAの事で質問し回答を頂いたのですが追加で質問があります。ベストアンサーを選ぶと質問は締め切られる事を知らずにお礼をしたら終わってしまっていました。どなたか宜しくお願い致します。
最初の質問は
表を作りたいのですが、
顧客名のシートを100枚ほど作り、シート1(シート1は検索シートにしたいので顧客名は無)のA1にクライアント名を入力したら入力した顧客名シートが出てくる様にしたいです。
以上が最初の質問です。
以下の書式がベストアンサーに選らばせて頂いた方の回答です。
これで動くようになったのですが、
追加で
シートのC1に顧客のID数字が7ケタあるのですが、顧客名シート検索かID検索どちらかで一方入力した場合のコードとかは教えて頂いたコードに足せば可能ですか?
というのが質問です。
宜しくお願い致します。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim k As Long, str As String, myFlg As Boolean
str = Range("A1")
For k = 1 To Worksheets.Count
If Worksheets(k).Name = str Then
myFlg = True
Exit For
End If
Next k
If myFlg = True Then
Worksheets(str).Activate
Else
MsgBox "該当シートなし"
End If
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは!
前回回答した者です。
>シートのC1に顧客のID数字が7ケタあるのですが・・・
とありますが、各SheetともID番号がC1セルに入っている訳ですよね?
そして「検索用」SheetのA1セルに、Sheet名もしくはID番号を入力すると
そのSheetを選択したい!
という解釈での一例です。
ID番号の扱いが問題になりますが、「文字列」で7桁表示しているのではなく
各Sheetには「数値」でID番号が入っていて、表示形式で7桁表示にしている!
という前提です。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim k As Long, tmp, myFlg As Boolean
tmp = Range("A1")
If IsNumeric(tmp) Then
For k = 1 To Worksheets.Count
If Worksheets(k).Range("C1") = tmp Then
myFlg = True
Exit For
End If
Next k
Else
For k = 1 To Worksheets.Count
If Worksheets(k).Name = tmp Then
myFlg = True
Exit For
End If
Next k
End If
If myFlg = True Then
Worksheets(k).Activate
Else
MsgBox "該当シートなし"
End If
End Sub
こんなんではどうでしょうか?m(_ _)m
動きました!ありがとうございます。
昨日直ぐにベントアンサーに選ばせて頂いたら質問出来なくなってしまっていたので、練習用にデータをコピーしてやっていたのですがダメで途方に暮れていました。
質問見つけて下さいましてありがとうございます。本当に感謝の気持ちでいっぱいです。毎日試行錯誤してやって最初に質問したコードにたどり着いたのですが作動せず、ストレスで頭が狂いそうになりました。
本当にありがとうございます!!
他にも質問してあるのですが、そちらもお時間があれば見て頂きたいです。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のExcelファイルをマージす...
-
【マクロ】シートの変数へ入れ...
-
vbsでのwebフォームへの入力制限?
-
VBAでセルの書式を変えずに文字...
-
Vba Array関数について教えてく...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
【マクロ】並び替えの範囲が、...
-
vbaにてseleniumを使用したedge...
-
vba textboxへの入力について教...
-
算術演算子「¥」の意味について
-
VBAでエクセルのテキストデータ...
-
不要項目の行削除方法について
-
VBA Application.Matchについて...
-
Excelのマクロについて教えてく...
-
【ExcelVBA】5万行以上のデー...
-
[Excel VBA]特定の条件で文字を...
-
ExcelVBA修正のお願い
-
VBAでCOPYを繰り返すと、処理が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
複数のExcelファイルをマージす...
-
【ExcelVBA】5万行以上のデー...
-
vbsでのwebフォームへの入力制限?
-
vba textboxへの入力について教...
-
Vba セルの4辺について罫線が有...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
Vba Array関数について教えてく...
-
【ExcelVBA】値を変更しながら...
-
【マクロ】開いているブックの...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
VBA 入力箇所指定方法
-
[VB.net] ボタン(Flat)のEnable...
-
VBAでセルの書式を変えずに文字...
-
vb.net(vs2022)のtextboxのデザ...
-
Excelのマクロについて教えてく...
-
改行文字「vbCrLf」とは
おすすめ情報