[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『データを品名別に別シートに自動的に入力したい』(山田)
Excel2003です
A1 B1 C1 D1 E1 品名 仕入先 注文日 入荷日 販売日
をseet1に入力(全部のデータをseet1に入れたい) これを品名毎に seet2 seet3に 自動的に入るようにするには どうしたらできるのでしょうか
「別シート」のシート名が 品名と一致しているなら、
ThisWorkbookのモジュールに以下を貼り付け。
'------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim i As Long, ii As Long, xr As Long
Dim asn As String, tbl, x
If ActiveSheet.Name = "seet1" Then Exit Sub
asn = ActiveSheet.Name
tbl = Sheets("seet1").Range("A1").CurrentRegion
ReDim x(1 To UBound(tbl, 1), 1 To 5)
For i = 2 To UBound(tbl, 1)
If tbl(i, 1) = asn Then
xr = xr + 1
For ii = 1 To 5
x(xr, ii) = tbl(i, ii)
Next
End If
Next
Range("A1").CurrentRegion.Offset(1).ClearContents
If xr = 0 Then
MsgBox "データがありませんでした。"
Else
Range("A2").Resize(xr, 5) = x
End If
End Sub
'------
↓数式で処理する方法が載っていますのでこちらも参考になりそうに思います。 [[20081216163656]]『seet1にあるデータから条件に合うものをseet2に表示させる』(斉木) その他、この手の話は割と頻繁にあるイメージがありますので 過去ログを探してみられても良いかもしれませんね。
(HANA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.