
簡略化と空白セルが詰められてしまう現象の修正方法を教えてください
複数のエクセルを集計するのに使用しています
集計用のエクセルでワンプッシュで別フォルダから100件までのエクセルが読み取れるようになっています。コピペで作成しているため簡単にできないかと思い相談させていただきました。
また、データを読み込むと元のエクセルには空白セルがあるのですが取り組んだエクセルには空白セルが詰められてしまっています。この現象も対策できるのでしょうか?
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2008/11/12 ユーザー名 :
'
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\3D検査書\検査データ\a (1).csv", _
Destination:=Range("A1"))
.Name = "a (1)"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
a(2)~a(99)省略
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\3D検査書\検査データ\a (100).csv", _
Destination:=Range("A1"))
.Name = "a (1)"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
No.2ベストアンサー
- 回答日時:
> コピペで作成しているため簡単にできないかと思い相談させていただきました。
これはNo.1さんの仰るとおりFor~Nextで繰り返し処理にします。
> また、データを読み込むと元のエクセルには空白セルがあるのですが
> 取り組んだエクセルには空白セルが詰められてしまっています。この現象も対策できるのでしょうか?
.TextFileConsecutiveDelimiter を Falseにしてください。
あと読み込むデータの詳細が不明でしたが、不要と思われる項目を削除しました。
もし動作がおかしい様でしたら項目を追加してみてください。
Sub Macro2()
Dim i As Long
Dim conn As String
For i = 1 To 100
conn = "TEXT;C:\3D検査書\検査データ\a (" & i & ").csv"
' aと(の間にスペースがあるのは良いのか?
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:=conn, Destination:=Range("A1"))
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileConsecutiveDelimiter = False 'Trueから変更(空白セル詰め対応)
.TextFileCommaDelimiter = True
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
.Delete '追加
End With
Next
End Sub
No.1
- 回答日時:
100回繰り返している処理をサブプロシジャ化して、それを100回コールするようにします。
呼ぶ側は引数として1~100の番号を呼ばれる側に渡します。呼ばれる側は、その番号を使って、入力ファイル名などを特定します。詳細は、添付画像を参照してください。赤文字の部分が主な修正ポイントです。「空白セルが詰められてしまう」のは、.TextFileColumnDataTypes = Array(1) のせいだと思います。添付画像のように Array(1,1,2,1,・・・) のようにします。これが何を意味するかというと、セルの書式設定に相当し、1=標準、2=文字列を表します。要するに、空白が詰まってしまう列に対して、「2」を指定すれば良い(はず)です。この例では、3カラム目を文字として指定しています。
※添付のソースはテストを行っていません(文法チェックもしていない)ので、コーディングミスがあったらごめんなさい。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
目を瞑ったときに見えるもの
-
Excel 数値の前の「 ' 」を一括...
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
病院側から早く来てくださいと...
-
血液検査の結果が悪くefgrの値...
-
風俗店へ行く前のご飯
-
腕を見たら黄色くなってる部分...
-
リンク先のファイルを開かなく...
-
増減表のプラスマイナスの符号...
-
エクセルで空白セルを含む列の...
-
値が入っているときだけ計算結...
-
2つの数値のうち、数値が小さい...
-
舌の裏の痛みのないプツプツの...
-
アクエリアスが苦く感じる
-
ワードのページ番号をもっと下...
-
エクセル関数の質問 対象...
-
VLOOKUP関数を使用時、検索する...
-
勃起する時って痛いんですか? ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報