Access VBA質問箱 IV

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

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


6379 / 9994 ←次へ | 前へ→

【6820】Re:特定の行をインポートするには
回答  小僧  - 05/11/15(火) 13:40 -

引用なし
パスワード
   ▼にしもり さん:
こんにちは。

[#4871]2行目からインポートしたい

にもありましたが、取り込み先の Excel の作成が他部署ですと
向こうの都合に合わせたフォーマットにされてしまいがちですよね…。

といった愚痴をなくすため(?)に汎用のコードを組んでみました。

Sub 特定行を削除してExcelコピー()
'要参照 Microsoft Excel x.x Object Library
Dim xlsApp As New Excel.Application
Dim xlsWkb As Excel.Workbook
Dim xlsSht As Excel.Worksheet
Dim xName As String
Dim sName As String
Dim Fuyo() As Variant
Dim strDel As String
Dim i As Long

  xName = "C:\test.xls"
  sName = "Sheet1"
  
'不要行をセット
  Fuyo = Array(1, 2, 4)
  
  For i = 0 To UBound(Fuyo, 1)
    strDel = strDel & "," & Fuyo(i) & ":" & Fuyo(i)
  Next
    strDel = MID(strDel, 2)

    xlsApp.Visible = True
  Set xlsWkb = xlsApp.Workbooks.Open(xName)
  Set xlsSht = xlsWkb.Sheets(sName)
    xlsSht.Range(strDel).Delete xlUp
    xlsWkb.SaveAs CurrentProject.Path & "\temp.xls"
  Set xlsSht = Nothing
    xlsWkb.Close False: Set xlsWkb = Nothing
    xlsApp.Quit: Set xlsApp = Nothing
End Sub

変数 Fuyo で定義された行を削ったファイルが
mdb と同じフォルダに「temp.xls」という名前で作成されるかと思います。

あとはこのファイルを TransferSpreadsheet メソッドで取り込めますよね。

※ ファイルの重複チェックや存在チェックなどは考慮しておりません。
  色々過去ログ等を参考にされてみて下さい。

3,421 hits

【6815】特定の行をインポートするには にしもり 05/11/15(火) 10:37 質問
【6820】Re:特定の行をインポートするには 小僧 05/11/15(火) 13:40 回答
【6823】Re:特定の行をインポートするには にしもり 05/11/15(火) 16:35 お礼
【6825】Re:特定の行をインポートするには にしもり 05/11/16(水) 11:37 質問
【6826】Re:特定の行をインポートするには 小僧 05/11/16(水) 13:00 発言
【6827】Re:特定の行をインポートするには にしもり 05/11/16(水) 13:48 お礼

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