|
▼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のみ値がある場合
>↑ここに結果として得たいデータ例を記述
>してみて下さい。
>
>問題をみている方にわかりやすくする と言う目的ですが、
>上記のような説明記述を行うことでご自分の考えも
>整理されてくると思いますよ!!
本当に面倒をお掛けし申し訳ありません
|
|