advanced help
per page, with , order by , clip by
Results of 0 - 1 of about 0 (0.000 sec.)
[[20020713170029]]
@digest: c388129fd07887cb1e68b98c90f190ca
@id: 315
@mdate: 2008-02-06T08:41:35Z
@size: 3885
@type: text/plain
#keywords: tgtrng (28238), myans (10548), 理コ (7977), 客リ (6408), 索・ (6050), ・参 (5151), 規デ (4399), 「別 (3534), ーベ (3143), タ部 (2750), myrng (2482), flag (2300), タベ (2135), ベー (2083), 別シ (1692), 顧客 (1636), 上書 (1565), 情報 (1498), enableevents (1396), vbyesno (1223), target (1138), 報を (1135), ・「 (1043), 管理 (1030), ト1 (1024), 「シ (997), ーマ (973), 想定 (973), シー (869), vlookup (818), ース (812), 解釈 (795)
『あるシートの情報をテーブルに反映させる?』(キーマン)
『シート1に管理コードを付けた顧客リストを作り別シートにVLOOKUPを用いた表を作成。管理コードを入力すると必要なデータ部分を表示させる表を作成している。 別シートに書き込んだ情報を顧客リストのデーターベースに反映させる方法を教えてください。 キーマンです。 ---- みやほりんが 未解決ログ解消を目的に 2008/02/06 16:30 ごろ、投稿しました。 トピ主の[キーマン]さんの投稿は2002/07/13 17:00:29でした。 まず、仮定として、次のような構成であると解釈します。 ・「シート1」 管理コードが先頭列にある顧客リスト 兼 データベース ・「別シート」 管理コード入力によってデータベース情報を表示するシート ・「別シート」はVLOOKUP関数によってシート1の内容を検索・参照している。 要望は次のことであると解釈します。 ・「別シート」で「シート1」から顧客情報を検索表示したデータに対する関 連情報を「シート1」へ転記する。 転記処理にはマクロが必須になりますが、次の点が不明。 ・「別シート」で「管理コードを入力すると必要なデータ部分を表示」する部分と、 「データーベースに反映させる」「別シートに書き込んだ情報」に同一のものが あるかどうか。 VLOOKUP関数で検索・参照した情報を編集(上書)して新たな情報として「シート 1」に書き戻す、という動作を想定しているなら、検索・参照に用いている関数 が上書きされて消えてしまう。 この場合、マクロでいくつかの動作が考えられる。 (1)VLOOKUP関数を埋め込まずに最初からマクロで全ての情報を呼び出す仕様。 (2)上書しても良いようにマクロでVLOOKUP関数を入力しなおす仕様。 (3)VLOOKUP関数が入力されている以外のセルでデータベースに上書する為の データ編集を行う仕様。 とりあえず、(1)を想定。 「別シート」のシート見出しを右クリック、「コードの表示」を選択して コードウィンドウへ下記を貼り付けます。 Option Explicit Private Sub Worksheet_Change(ByVal target As Range) Rem A2セルの入力でデータベースから情報を検索・転記するコード Rem 転記先はこのコードを登録したシートのA2:C2を想定。 Dim MyRng As Range, flag As Boolean If target.Row <> 2 Then Exit Sub If target.Count > 1 Then Exit Sub If target.Value = "" Then Exit Sub If target.Column = 1 Then flag = WorksheetFunction.CountIf(Worksheets("Sheet1").Range("A:A"), target.Value) = 1 If flag Then Set MyRng = Worksheets("Sheet1").Range("A:A").Find(target.Value) target.Offset(0, 1).Resize(1, 2).Value = MyRng.Offset(0, 1).Resize(1, 2).Value Else MsgBox "新規データです" target.Offset(0, 1).Resize(1, 2).ClearContents End If End If Set MyRng = Nothing End Sub Private Sub CommandButton1_Click() Rem CommandButton1をクリックして編集したデータを Rem データベースに書き戻すコード Dim MyRng As Range, TgtRng As Range, flag As Boolean, MyAns As Variant Set TgtRng = Me.Range("A2:C2") flag = WorksheetFunction.CountIf(Worksheets("Sheet1").Range("A:A"), Me.Range("A2").Value) = 1 If flag Then MyAns = MsgBox("既存データを上書しますか?", vbYesNo) If MyAns = vbYes Then Set MyRng = Worksheets("Sheet1").Range("A:A").Find(TgtRng.Value) MyRng.Resize(1, 3).Value = TgtRng.Value Application.EnableEvents = False TgtRng.ClearContents Application.EnableEvents = True End If Else MyAns = MsgBox("新規データを追加しますか?", vbYesNo) If MyAns = vbYes Then With Worksheets("Sheet1") Set MyRng = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0) End With MyRng.Resize(1, 3).Value = TgtRng.Value Application.EnableEvents = False TgtRng.ClearContents Application.EnableEvents = True End If End If Set MyRng = Nothing Set TgtRng = Nothing End Sub (みやほりん)(-_∂)b ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200207/20020713170029.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97039 documents and 608037 words.

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