excel 2003でCSVファイルを読み込むVBA
現在CSVファイルを読み込むマクロを作成してますが、レベルが低く下記載のコードで作業を行ってます。
皆様の技術をお借りしたいので、ご教授宜しくお願い致します。
※現在のコードです。
CommandButton1でフォルダーを開いてcsvファイルを選択し、toolをsheetに追加してます。それから、CommandButton3で追加されたtoolからB14:C14)を選択し最終行までコピーしSheet1の(B12)に数値のみを貼り付けています。
結構手間が係り作業に時間がかかってしまいます。
そこで、改良をしたいと思いますのでご教授お願い致します。
※改良したいポイント
(1)同じフォルダー内のTOOL.CSVをフォルダーを開かず直接commandButton1でSheetに追加する。
(2)Sheet2にコピーされたデーターから(B14:C14)を選択し最終行までコピーしSheet1の(B12)に数値のみを貼り付ける。
(commandButton3はなくしたいと思ってます)
以上です。
宜しくお願い致します。
---------------------------------------------------------
Private Sub CommandButton1_Click()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Myname = ActiveWorkbook.Name
CSV_Filename = Application.GetOpenFilename("CSVファイル(*.CSV;*.prn),*.CSV;*.prn", , "CSVファイルを開く")
If CSV_Filename = False Then Exit Sub
Workbooks.Open CSV_Filename
CSV_SheetName = Worksheets(1).Name
Sheets(CSV_SheetName).Move after:=Workbooks(Myname).Sheets(Sheets.Count + 1)
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
----------------------------------------------------------------
Private Sub CommandButton3_Click()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Sheets("(TOOL)").Select
Sheets("(TOOL)").Range("B14:C14").Select
Sheets("(TOOL)").Range(Selection, Selection.End(xlDown)).Select
Selection.copy
Sheets("CSV Road").Select
Sheets("CSV Road").Range("B12").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
-------------------------------------------------------------
お礼
#1さん有難うございました。 Application.ScreenUpdating の制御を削除して解決しました。 全体の画面は動かさないので問題ありませんでした。 画面のちらつきとグラフのチラツキが異質のものだとは盲点でした。 いずれにしてもこれで目の疲れが減って大助かりです。 今後とも宜しくお願いします。
補足
ご回答有難うござくます。 Application.ScreenUpdatingの制御では変化がありません。 よろしく