|
宜しくお願いします。説明不足で申し訳ありません。
>もちろんマクロでAutoFilterをかけるわけです。
!なるほど。
>ということは、CSVファイル開いてみるまで、どういう項目が何列あるか、
分らないということですか?
その通りです。
>のようなCSVファイル例をみますと、1行目に項目名がないですけど?
項目名がないとフィルタかけられませんから、無いばあいはExcelで開いてから
ダミーの列見出しを挿入することになります。
CSVファイルには項目名がありません。
まず列見出しの挿入を考えなければならないのですね。なるほど。
>あと、再度質問ですが、
CSVの項目数(列数)は都度変わるけれど、「日付」データは必ず A列固定と
考えていいですか? でないと、日付の列をマクロで探さないといけません。
それと、たとえば
8/31
の行はひとつのCSVに 複数行ありうるんですよね?
CSVの列数は都度変わります。
日付データは必ずA列に存在します。日付だけは固定です。
8/31はひとつのCSVファイルに複数行必ず存在します。
営業時間内分のログが入っているので、数十行必ず存在します。
Sub prog4_2()
dim myCri As String
Dim myRow As Long
Dim Sh2 As Worksheet, Sh3 As Worksheet
Set Sh2 = Worksheets("データ")
Set Sh3 = Worksheets("抽出")
myCri = InputBox("日付を入力して下さい")
With Sh2
.Range("A1").AutoFilter Field:=1, Criteria1:=myCri
myRow = .Range("A" & Rows.Count).End(xlUp).Row
Sh3.Range("A:月によって変わる最終列").ClearContents
.Range("A1:月によって変わる最終列" & myRow).Copy Sh3.Range("空白の列の1から貼るように")
.Range("A1").AutoFilter
End With
Worksheets("抽出").Activate
Range("A1").Select
End Sub
コメントを見て、似たような事例を引っ張ってきました。
やはり空白の列の求め方が分からないのと、貼りつける別シートは新規で作成したいのですが……。
ファイルを開いて見出し行を挿入する処理が分かりませんでした。
知識不足で申し訳ないです、宜しくお願いします。
|
|