Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7469 / 76732 ←次へ | 前へ→

【74850】Re:複数のCSVファイルを開き、抽出、別シートの空白セルに貼り付けしたい
質問  マスク  - 13/9/29(日) 19:45 -

引用なし
パスワード
   宜しくお願いします。説明不足で申し訳ありません。

>もちろんマクロで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

コメントを見て、似たような事例を引っ張ってきました。
やはり空白の列の求め方が分からないのと、貼りつける別シートは新規で作成したいのですが……。
ファイルを開いて見出し行を挿入する処理が分かりませんでした。
知識不足で申し訳ないです、宜しくお願いします。
1 hits

【74845】複数のCSVファイルを開き、抽出、別シートの空白セルに貼り付けしたい マスク 13/9/29(日) 10:34 質問
【74847】Re:複数のCSVファイルを開き、抽出、別... kanabun 13/9/29(日) 17:29 発言
【74848】Re:複数のCSVファイルを開き、抽出、別... マスク 13/9/29(日) 18:35 質問
【74849】Re:複数のCSVファイルを開き、抽出、別... kanabun 13/9/29(日) 19:11 発言
【74850】Re:複数のCSVファイルを開き、抽出、別... マスク 13/9/29(日) 19:45 質問
【74851】Re:複数のCSVファイルを開き、抽出、別... kanabun 13/9/29(日) 20:08 質問
【74852】Re:複数のCSVファイルを開き、抽出、別... マスク 13/9/29(日) 21:23 お礼
【74854】Re:複数のCSVファイルを開き、抽出、別... kanabun 13/9/30(月) 10:51 発言
【74855】Re:複数のCSVファイルを開き、抽出、別... マスク 13/10/2(水) 21:55 お礼

7469 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free