| 
    
     |  | ▼ichinose さん: おはようございます。
 >まず、以下のコードだけでは,やりたいことがわかりません。
 >何がしたいのかをはっきりと記述してください。
 
 そうですね・・申し訳ないです
 やりたいことに対しVBAが良く分からず頭がぐちゃぐちゃになり
 申し訳ないです
 
 >・やりたいことの概要説明
 >・入力データと出力データの詳細説明と例題
 >例えば、myshで参照しているシートの
 >A列に何が入っているかシートにこんな情報が入っていた場合、
 列A    B:F
 1NO(文字列)情報
 2DTQA654FR  AのNoに対しての情報行
 >↑にここにデータ例。
 
 同じ状態のファイルをそれぞれ1つのbookに読み込み
 ファイル名=sheet名とさせたく
 それぞれ処理するsheet(ファイル)枚数は
 その都度変わる状態で
 列A に対し 同じ状態の情報がある場合(重複データ)
 1sheetにしかない場合
 を検査します
 それを新bookにて
 列Aを基準にB:Fにその情報
 列Hに 重複している情報のsheet名を&"を使い抽出
 但し 全sheetに情報が揃った場合は 列Hに 上記 &"での
 sheet名は出さずにいたい
 のでsheet枚数をカウントしその情報を消そうとしています
 
 また sheet1枚のみの情報に関しては
 そのsheetを()内に明細と考えています
 
 >.Cells(myCell.Row, 8).Value このセルには
 >何が結果としていれたいのか(コードを見る限りは、True Or Falseですが)
 >で、コードを見て気が付いたところは
 >
 >>Do Until mySh.Cells(i, 1).Value = ""
 >>        Set myCell = .Columns(1).Find(mySh.Cells(i, 1).Value)
 >>        If myCell Is Nothing Then
 >>          .Range("A" & j & ":" & "I" & j).Value = mySh.Range("A" & i & ":" & "I" & i).Value
 >>            .Cells(j, 8).Value = mySh.Name
 >>          j = j + 1
 >>        Else
 >>          If InStr(1, .Cells(myCell.Row, 8).Value, mySh.Name) = 0 Then
 >>            .Cells(myCell.Row, 8).Value = .Cells(myCell.Row, 8).Value & " & " & mySh.Name
 >>          End If
 >>        End If
 >>        i = i + 1
 >>
 >
 >>         Workbooks("book1").Sheets.Count = i - 1
 >'        ↑このコードを何をしたくて記述したのでしょうか?
 
 sheet枚数をカウントしたく入れました
 そのカウントで 全sheet枚数が揃った場合と
 1枚のみとの作業に移すつもりで・・
 
 >'Workbooks("book1").Sheets.Count は、book1という名前のついたブックの
 >'シート数を取得するための読取専用のプロパティです。
 >'このコードのように値を入れることはできません。
 
 
 >>        .Cells(myCell.Row, 8).Value = .Cells(myCell.Row, 8).Value & " & " & mySh.Name = Dir()
 >'Dir()を使用していますが、最初にどのように設定しているのですか?
 
 上記は全てのsheetに情報がある場合H列に載せない・・・
 としたかったのですが
 >
 >>      Loop
 >
 >
 >
 >処理後は、
 
 列A  B:F   H
 No  情報  sheet名 重複は&と使って明記
 全sheetには明記なし
 (1sheet名) 1つのsheetのみ値がある場合
 
 >↑ここに結果として得たいデータ例を記述
 >してみて下さい。
 >
 >問題をみている方にわかりやすくする と言う目的ですが、
 >上記のような説明記述を行うことでご自分の考えも
 >整理されてくると思いますよ!!
 
 本当に面倒をお掛けし申し訳ありません
 
 
 |  |