advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 37667 for IF (0.007 sec.)
[[20050627184922]]
#score: 1591
@digest: 8607e263b5e7d58d37bcbc77b70a3ce5
@id: 15112
@mdate: 2005-06-29T06:02:06Z
@size: 7835
@type: text/plain
#keywords: 録確 (17227), 恵梨 (15630), 木景 (15630), 品-- (13911), 田恵 (12695), 景子 (12397), 舗id (11484), vbdefaultbutton1 (10407), 新商 (9656), 規デ (6599), ジbo (5138), 本田 (5111), すra (4206), 、c8 (4074), vbokcancel (3857), 認") (3781), lastrow (3449), kenbou (3111), vbinformation (2994), userform1 (2628), ーフ (2583), b11 (2308), range (2135), と返 (1845), ken (1844), selectionchange (1781), msg (1674), 登録 (1393), ォー (1372), show (1322), ユー (1294), ーザ (1261)
『ユーザーフォーム』(マー)
With Worksheets("sheet2") .AutoFilterMode = False 'オートフィルタ解除 'オートフィルタで抽出 .Range("A").AutoFilter Field:=2, Criteria1:=Range("B11").Value '----------------- If .Range("A") = 0 Then msgBOX(”新規です登録ををします”) End If '----------------- B11の値がsheet2のAの列にあるかを検索してなければ、ユーザーフォームを画面上に 表示したいのですが、ユーザーフォームの表示の仕方が分かりません・・・。 メッセージの後に表示したいのですが。 教えて下さい。 ---- VBA は苦手ですが、こんな感じ? Sub test() Dim LastRow, n As Long Dim msg As Integer With Worksheets("sheet2") If .Range("A1") = "" Then UserForm1.Show Exit Sub End If LastRow = .Range("A65536").End(xlUp).Row For n = 0 To LastRow - 1 If .Range("A1").Offset(n) = .Range("B11") Then Exit Sub End If Next n msg = MsgBox("新規データです。" & Chr(13) & Chr(13) & "登録しますか?" _ , vbOKCancel + vbDefaultButton1 + vbInformation, "登録確認") If msg = 2 Then Exit Sub End If UserForm1.Show End With End Sub 違ってたら、ゴメン。 (ken) ---- ユーザーフォームは表示できたのですが、どこのセルを選択しても メッセージBOXが表示されます。B11に入力した後にsheet2に無い場合は表示したいのですが。 お願い致します。 ---- >どこのセルを選択してもメッセージBOXが表示されます すいません。よく意味が分かりませんが、Worksheet_SelectionChange のコードに入れてるとか? (ken) ---- Worksheet_SelectionChange のコードに入れています。 すみません私もマクロは初心者でどのようなコードに入れたらいいのでしょうか? ---- そのコードをここに書いてみては如何でしょう。 (ken)さんとは別人の(kenbou) ---- Private Sub Worksheet_SelectionChange(ByVal Target As Range) '-----------------------店舗ID------------------------------------ If Range("B4") = "1" Then Range("C4") = "S" End If If Range("B4") = "2" Range("C4") = "D" End If If Range("B4") = "3" Then Range("C4") = "Y" End If If Range("B4") = "4" Then Range("C4") = "N" End If If Range("B4") = "5" Then Range("C4") = "W" End If If Range("B4") = "6" Then Range("C4") = "G" End If '---------------------担当者ID------------------------------------- If Range("B8") = "1" Then 'B8に1と入力したら、C8に本田恵梨と返す Range("C8") = "B" End If If Range("B8") = "2" Then 'B8に2と入力したら、C8に鈴木景子と返す Range("C8") = "A" End If '-------------------------------------------------------------------- '------------------新商品-------------------------------------------- Dim LastRow, n As Long Dim msg As Integer With Worksheets("sheet2") If .Range("A1") = "" Then UserForm1.Show Exit Sub End If LastRow = .Range("A65536").End(xlUp).Row For n = 0 To LastRow - 1 If .Range("A1").Offset(n) = .Range("B11") Then Exit Sub End If Next n msg = MsgBox("新規データです。" & Chr(13) & Chr(13) & "登録しますか?" _ , vbOKCancel + vbDefaultButton1 + vbInformation, "登録確認") If msg = 2 Then Exit Sub End If UserForm1.Show End With End Sub '-------------------------------------------------------------------------------- こんな感じなのですが... すみませんあまり人様にみせらられるような物ではないのですが。 ---- イベントがいつでも発生してしまってますね。 [[20050508095758]] 『追加セルをクリックするとそのセルに"■"を表示』(ととろ) こちらを参考にイベントから抜け出る処理を追加してください。 (kenbou) ---- kenbou 様、フォローありがとうございます。 仕事中、、、あまり時間がないんで。。。手短に。すいません。ちなみに検証してません。 with target.cells if .row = 11 and .column = 2 then goto JOB end if end with JOB: を、新製品の前に代入かな?これだったら、セル入力後でなく、選択後かな? <PS> kenbou さま、いつもすばらしい VBA 拝見して勉強させてもらってます。今後とも宜しくお願いします。 (ken) ---- これで御希望に沿えるかは判りませんが、どうぞ。 Private Sub Worksheet_Change(ByVal Target As Range) '-----------------------店舗ID------------------------------------ If Range("B4") = "1" Then Range("C4") = "S" End If If Range("B4") = "2" Then Range("C4") = "D" End If If Range("B4") = "3" Then Range("C4") = "Y" End If If Range("B4") = "4" Then Range("C4") = "N" End If If Range("B4") = "5" Then Range("C4") = "W" End If If Range("B4") = "6" Then Range("C4") = "G" End If '---------------------担当者ID------------------------------------- If Range("B8") = "1" Then 'B8に1と入力したら、C8に本田恵梨と返す Range("C8") = "B" End If If Range("B8") = "2" Then 'B8に2と入力したら、C8に鈴木景子と返す Range("C8") = "A" End If '-------------------------------------------------------------------- '------------------新商品-------------------------------------------- If Target.Address = Range("B11").Address Then GoTo JOB Exit Sub JOB: Dim LastRow, n As Long Dim msg As Integer With Worksheets("sheet2") If .Range("A1") = "" Then UserForm1.Show Exit Sub End If LastRow = .Range("A65536").End(xlUp).Row For n = 0 To LastRow If .Range("A1").Offset(n) = .Range("B11") Then Exit Sub End If Next n msg = MsgBox("新規データです。" & Chr(13) & Chr(13) & "登録しますか?" _ , vbOKCancel + vbDefaultButton1 + vbInformation, "登録確認") If msg = 2 Then Exit Sub End If UserForm1.Show End With End Sub 以上で〜す。すごく基本通りの VBA 。。。 ちなみに、Worksheet_Change にしましょうね。 (ken) ---- お返事遅くなりましてすみません。 やっぱり商品リストにあるのに新商品ですとなってしまいます・・・。 なぜでしょう?ユーザーフォームは表示されるのですが・・・。 ---- うぉっ! すいません。 多分、こうですね。 If .Range("A1").Offset(n) = .Range("B11") Then この部分を、 If .Range("A1").Offset(n) = Range("B11") Then に、変えてみてください。勘違いしてたかも。。。 (ken) ---- できました。ありがとうございます。 あとB11からB25まで同じようにしたいのですが・・・。 お手間掛けさせてすみませんが、教えてください。 ---- とりあえずは OK ですね。 じゃあ、 If Target.Address = Range("B11").Address Then GoTo JOB Exit Sub の部分を、 With ActiveCell If .ROW > 11 And .ROW < 27 And .Column = 2 Then GoTo JOB Exit Sub End With にして、 If .Range("A1").Offset(n) = .Range("B11") Then の部分を、 If .Range("A1").Offset(n).Value = ActiveCell.Offset(-1).Value Then にしてみてください。ただし、エンターキーを押したときに、セルが下に移動するという前提ですよ。 この学校には、偉大な先生方がたくさんみえるので、もっといい案があるかも。です。 VBA は苦手。。。 (ken) ---- 完璧です(^0^)ありがとうございます。 ずうずうしいですが追加で、ユーザーフォームが表示されたときtext1にBに入力した 値を既に入れておく事はできますでしょうか? あと、一度ユーザーフォームに入力して、2回目にユーザーフォームが出たときに textに前の値が残っています、それを消しておきたいのですが・・・。 何度もすみませんが、教えてください。 ---- ほぼ解決ですね。後は下記を応用してください。 Private Sub UserForm_Initialize() TextBox1 = "AAA" 'TextBox1にAAAを入れておくとき TextBox2 = "" 'TextBox2を空欄にしておくとき End Sub これをユーザーフォームのコードにコピペ。 ちなみに、Initialize は、初期設定のことです。 (ken) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200506/20050627184922.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97012 documents and 608132 words.

訪問者:カウンタValid HTML 4.01 Transitional