VBA コードを整理しようとしているときに、このフォーラムを見つけました。これまでのところ、VBA プログラミングの経験はほとんどありません。そのため、問題の解決策を 2 日間調査しましたが、成功しませんでした。しかし、私は自分のプログラミング スキルを向上させることに非常に関心がありますa。
基本的に、TXTファイルをアクティブなExcelワークブック、「TblDataImport」という名前のテーブルの最後にある「DataImport」という名前のシートにインポートしたいと思います。
TXT ファイルは、タブで区切られた 13 列で構成されています。
- 行: 会社名
- 行:日付 名前CustomerGroup CustomerNo SalesOrder ItemNumber ItemGroup LineStatus数量 価格 割引DiscountPercentage NetAmount
- 行: 対応するすべての値...
データをaredyにインポートしたいテーブルが見出しを含めて存在するため、1行目と2行目をインポートする必要はありません。また、13 列のうち、太字でフォーマットされている 7 列だけが必要です。ユーザーがファイルを開くダイアログを使用してテキスト ファイルを選択できれば完璧です。
TXT ファイルを手動で開き、そのコンテンツを Excel に貼り付けると、既に
正しい列に含まれています。したがって、フォーマットに関して落とし穴があってはなりません。
あなたが思いつく解決策に興味があります。
マクロ レコーダーでは、いくつかの条件しか満たすことができません。
Sub DataImport()
' DataImport Makro
Sheets("DataImport").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\Sales.txt", Destination:=Range _
("$A$1"))
.Name = "AxaptaSales"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(4, 1, 9, 9, 1, 9, 9, 9, 1, 1, 1, 9, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
ただし、このコードはすべての列をセル A1 に貼り付けるだけです (テーブルの最後ではありません)。また、1 行目と 2 行目、および不要な列も含まれています。