[[20090221215929]] 『A〜ZとAA〜AZ』(00p) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『A〜ZとAA〜AZ』(00p)
 こんな事って可能でしうか?
 基本データの入力はA〜Zで固定です。(2万以上のデータがあり)
 AA〜AZには基本データの中から必要な部分だけの入力となっています。
 これをSheet2にどれと同じなのか書き出したいのですが?

 Sheet1				
	A	  〜Z	 AA	〜AZ
 1	NO	*******	 NO	*******
 2	1	○-×-△	 1	○-○-×
 3	2	○-△-△	 2	○-×-○
 4	3	△-△-△	 3	○-○-○
 5	4	○-○-○	 4	○-△-△
 6	5	×-×-×	 5	
 7	6	○-×-○	 6	
 8	7	×-×-○ 	 7	
 9	8	○-○-×  8	

 Sheet2				
	A	 〜Z	AA	〜AZ
 1	NO	*******	NO	*******
 2	1	○-×-△		
 3	2	○-△-△	 4	○-△-△
 4	3	△-△-△		
 5	4	○-○-○  3	○-○-○
 6	5	×-×-×		
 7	6	○-×-○	 2	○-×-○
 8	7	×-×-○		
 9	8	○-○-×	 1	○-○-×
 よろしくお願いいたします。

 Z列の内容だけが一致すれば 同じと見なせばよいのですか?
 それとも、B:Zの内容とAB:AZの内容が一致すれば
 同じと見なせば良いのでしょうか?

 前者で有れば、AA列の表示だけで良い様に思いますし
 後者で有れば、少なくとも、AZ列の表示は不要に思います。

 Sheet1,AA列の番号が 上から順に振られており
 データも隙間無く上から順に入力されているなら
 Sheet2のAA列にはMATCH関数が使用できそうに思います。

 (HANA)

 紛らわしくてすみませんでした。
 HANAさんの質問返答ですが
 B:Zの内容とAB:AZの内容が一致すればの方です。
 出来ればマクロ処理でお願いしたいのですが(00p)

 B:Z, AA:AZ の比較でよいのですね?

 Sub test()
 Dim a, i As Long, ii As Long, z As String, b()
 a = Sheets("sheet1").Range("a1").CurrentRegion.Resize(,52).Value
 ReDim b(1 To UBound(a, 1), 1 To 26)
 With CreateObject("Scripting.Dictionary")
     For i = 2 To UBound(a, 1)
         z = ""
         For ii = 2 To 26
             z = z & ";" & a(i, ii)
         Next
         If Len(Replace(z, ";","")) > 0 Then .item(z) = i
     Next
     For i = 2 To UBound(a, 1)
         z = ""
         For ii = 28 To 52
             z = z & ";" & a(i, ii)
         Next
         If .exists(z) Then
             For ii = 1 To 26
                 b(.item(z), ii) = a(i, ii + 26)
             Next
         End If
     Next
 End With
 With Sheets("sheet2").Range("a1")
     .CurrentRegion.ClearContents
     .Resize(UBound(a, 1), 26).Value = a
     .Offset(, 26).Resize(UBound(a, 1), 26).Value = b
 End With
 End Sub
 (seiya)

 ありがとうございます。
  If Len(Replace(z, ";","") > 0 Then .item(z) = iが構文エラーと?

 ) が一つ抜けました。

 If Len(Replace(z, ";","")) > 0 Then .item(z) = i
                          ↑
 コード修正済み
 (seiya)


 (訂正前)
  前者で有れば、AA列の表示だけで良い様に思いますし
  後者で有れば、少なくとも、AZ列の表示は不要に思います。

 (訂正後)
  後者で有れば、AA列の表示だけで良い様に思いますし
  前者で有れば、少なくとも、AZ列の表示は不要に思います。

 でした。

 (HANA)

 ありがとうございました。出来た?とおもったら
 AA 1の部分だけが同じであっても表示されないのですが?
 何回もすみません(00p)


 えーーと、
 コードは
 B?:Z? と AB?:AZ? を比較を比較して、同一のものがあったら
 AAの番号と共にAB:AZを同一行に表示させていると思いますが?
 仕様が違っていたら、質問の意味を理解していませんね...
 (seiya) 

 (seiya) さんすみませんでした。
 私が間違えてタイトル行を削除して行っていました。完璧に出来ました。
 今後もよろしくご指導下さい。ありがとうございました。(00p)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.