投稿日 | : 2004/09/09(Thu) 18:45 |
投稿者 | : ももたろう |
Eメール | : |
URL | : |
タイトル | : 複数のExcelファイルの値コピー |
複数のExcelファイルの中から、A列が空白の行のものを全て"新規抽出一覧.xls"にコピーし、
A列が空白行の一覧表を作りたいのですが下記コード中の***の箇所が分かりません。
単純にcopy、pasteではできないし、クリップボードを使った方がいいのかなど最適な方法と
書き方又は、参考URLなど、教えて下さい。
(クリップボードはまだ使ったことがなく、よくわからないので自分でも調べてみますが。)
よろしくお願いします。
'新規抽出一覧.xlsを開く
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(sSeishikiPath & "\" & "新規抽出一覧.xls")
Set xlSheet = xlBook.Worksheets(1)
'一番最後にsheet追加
xlApp.Worksheets.Add After:=Sheets(Sheets.Count) '一番最後にsheet追加
sSheetname = Replace(Date, "/", "") & Replace(Time, ":", "") '追加するsheet名
iSheet = Sheets.Count 'sheet数
Sheets(iSheet).Name = sSheetname '追加したsheet名変更
For i = 0 To iCount3 - 1
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(sExcelPath & "\" & sTargetFile2(i).file)
Set xlSheet = xlBook.Worksheets(1)
'何行データがあるか?
xlSheet.Range("B1").End(xlDown).Select '最終行までスクロール
row = xlApp.ActiveCell.row 'データのある最終行
'新規があるか?
For a = 3 To (row - 1)
If xlSheet.Range("A" & a).Value = "" Then 'A列に空白セルがあるか?
'*******************
'ここでA列に空白セルがあったらその行を前の処理で作った
'新規抽出一覧.xlsのsSheetnameシートにコピーしたいです
'*******************
Else
xlSheet.Range("A" & a).End(xlDown).Select '空白行分スクロール
y = xlApp.ActiveCell.row '空白行の最終行
'スクロールしたセルの1行前のセルが空白でないなら処理行を飛ばす
If xlSheet.Range("A" & y - 1).Value <> "" Then
a = y
End If
End If
Next
Next