|
▼こんばんは さん:
おはようございます。
まだ、私には、理解できないことがあるのですが・・・。
>>・やりたいことの概要説明
>>・入力データと出力データの詳細説明と例題
>>例えば、myshで参照しているシートの
>>A列に何が入っているかシートにこんな情報が入っていた場合、
> 列A B:F
>1NO(文字列)情報
>2DTQA654FR AのNoに対しての情報行
myshが参照しているシートの概要はわかりました。
>>↑にここにデータ例。
>
>同じ状態のファイルをそれぞれ1つのbookに読み込み
>ファイル名=sheet名とさせたく
↑これがわかりません。
>それぞれ処理するsheet(ファイル)枚数は
>その都度変わる状態で
>列A に対し 同じ状態の情報がある場合(重複データ)
> 1sheetにしかない場合
>を検査します
これもわかりませんが、
コードと照合すると、
myshのA列のNOという情報で
読み込んだブックのA列を検索しているということですか?
この読み込んだブックのA列には、同じNOが複数あることも考えなくてよいのですか?
列A B:F
1NO(文字列)情報
2DTQA654FR AのNoに対しての情報行
3bbb 情報1
4ccc 情報2
5bbb 情報3
というような・・・。
>それを新bookにて
>列Aを基準にB:Fにその情報
>列Hに 重複している情報のsheet名を&"を使い抽出
>但し 全sheetに情報が揃った場合は 列Hに 上記 &"での
>sheet名は出さずにいたい
>のでsheet枚数をカウントしその情報を消そうとしています
これもわかりません。重複しているという具体例を2,3例挙げてください。
>
>また 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のみ値がある場合
>
これは、どこに出力するのですか?
読み込んだブックの各シートに出力と言うことですか?
というように未だ私には肝心なところが殆どわかっていません。
|
|