2017-08-08 5 views
1

ディレクトリに.csvファイルが多数あります。 4番目の列(数値)には、以下の例のように、間に空白があります。各ファイルを1つずつ開くことなく、列内のスペースだけを削除し、ディレクトリ内のすべてのファイルに適用するにはどうすればよいですか。ディレクトリ内の特定の列から空白を削除します。

"EMIS Number","Organisation Name","Organisation Code","Number","Date","Clinical Code","Code Term", 
"11","West Hampstead Medical Centre","F03033","931 094 3111","19-Apr-1019","G340-1","Coronary artery disease", 
"14","Prince Of Wales Medical Centre","F03010","401 300 1319","03-Jan-1004","G30","Acute myocardial infarction", 
"13","HAMPSTEAD GROUP PRACTICE","F03014","411 419 3949","1999","G3","Ischaemic heart disease", 
"19","BROOKFIELD PARK SURGERY","F03031","400 134 0101","1991","G3","Ischaemic heart disease", 

P.S. ExcelとVBAを試しましたが、両方とも式を実行するにはそれぞれのファイルを開く必要があります。私もUltraEditを試しましたが、特定の列ではないすべてのファイル内のすべてのスペースが削除されます。

+0

ファイルをループするvbaを作成し、それぞれを開き、削除してファイルを保存します。 –

+0

ファイルを開く際に何が問題になりますか? –

+0

これは私がVBAにどれくらいの距離を置いたかです。私はループをすることができませんでした。申し訳ありません、私は本当にvbaを知らない。 サブSpaceKiller() ワークシート( "CHD001")の列( "D")交換_ どの:=」」、_ 置換:= ""、_ SearchOrder:= xlByColumns、_ MatchCase:= True End Sub – Kennisblegad

答えて

1

すべてのファイルをループするには、次のコードを参照してください。

Sub OpenFiles() 
    Dim MyFolder As String 
    MyFolder = "Your Folder Name where all files are saved." 
    Dim MyFile As String 
    MyFile = Dir(MyFolder & "\*.csv") 
    Do While MyFile <> "" 
     Workbooks.Open Filename:=MyFolder & "\" & MyFile 
     Columns("D:D").Replace What:=" ", Replacement:="", LookAt:=xlPart, _ 
      SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 
      ReplaceFormat:=False 
     Activeworkbook.close true 
     MyFile = Dir 
    Loop 
End Sub 

ファイルを開いたら、スペースを削除するコードを追加します。

+0

私はあなたがこのコードを使用する方法を知っていると思います... – Shrikant

+0

私のコードで少し変更を加えました。 'Activeworkbook.close true'です。おかげで@ScottCraner – Shrikant

+0

ああうわー。それは完全に動作します。どうもありがとうございます。あなたは人生の節約者です。 – Kennisblegad

関連する問題