忍者ブログ

2024-03-19(Tue)

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2019-02-16(Sat)

Excel VBAでCSVを簡単にインポート(読み込む)方法

仕事上、CSVファイルを利用することが多いです。
なのでCSVファイルをできるだけ簡単にエクセルにインポートする方法を探してみました。
VBAを使ってやってみます。

普通の人でも使いやすいようにボタンを付けて、ボタンをクリックしたら動作するようにします。


コードは以下のように書きました。
ボタンを押すとファイル選択のダイアログが出て選択できるようになっています。
インポート先は、"Sheet2"です。

クリックで別画面表示
コピーしやすいよう、以下にテキストで記載しておきます。
----------------------------------------------------------------
Sub ボタン1_Click()
   
    Dim Ws As Worksheet
    Dim Qt As QueryTable
    Dim SelFile As Variant
    Dim ConFile As String
   
    SelFile = Application.GetOpenFilename("CSVファイル(*.csv),*.csv")
    If VarType(SelFile) = vbBoolean Then
        Exit Sub
    End If
    ConFile = "TEXT;" & SelFile
    Sheets("Sheet2").Activate 'シートを選択
    Set Ws = ActiveSheet ' CSV のデータを取り込むシート
    Set Qt = Ws.QueryTables.Add(Connection:=ConFile, Destination:=Ws.Range("A1")) ' CSV を開く
    With Qt
        .TextFilePlatform = 932          ' 文字コードを指定
        .TextFileParseType = xlDelimited ' 区切り文字の形式
        .TextFileCommaDelimiter = True   ' カンマ区切り
        .RefreshStyle = xlOverwriteCells ' セルに上書き
        .Refresh                         ' データを表示
        .Delete                          ' CSV との接続を解除
    End With
End Sub

-----------------------------------------------------

QueryTables.add は様々な指定ができます。
ここで指定いるのが、

.TextFilePlatform = 932  文字コードです。"932"はShift-JIS UTF-8は"65001"です。
.TextFileParseType = xlDelimited 指定した区切り文字ですよという指定。xlDelimitedは既定値です。
xlDelimited に対する区切り文字の指定で、csvだということ
タブ区切り文字の場合は
.TextFileTabDelimiter = True と記載します。

ここでテストとして国勢調査の"年齢(5歳階級),男女別人口-都道府県"のcsvをダウンロードて読み込んでみます。

設置したボタンを押すと、ファイル選択が出るので、ダウンロードしたファイルを選択すると



うまく読めると思います。


拍手[5回]

PR

2010-10-25(Mon)

Access VBAで小数点以下○位を切り捨て

かつて、AccessのRound関数は、厳密には四捨五入じゃないと紹介しました。
さて、今度はAccessVBAでの切り捨てのお話。

よく、仕様で小数点第○位で切り捨てなんてことが書かれています。
COBOLのときは、9V99999...に送ってやると切り捨てられたものですが、
(切り捨てられましたよね。たぶん・・・・)
VBAではどうやるのだろう??

その答えです。

拍手[0回]

>>つづきはこちら

2009-07-20(Mon)

AccessのRoundは四捨五入じゃない

Accessを使っていて、小数点以下を四捨五入して整数で表示することはよくあると思います。
そこでよく使われているのが、Round関数。

Accessのヘルプにもこう書かれています(2007の場合)


小数点以下の指定された桁以下を四捨五入した数値を返します。

構文

Round(expression [, numdecimalplaces ] )

Round 関数には、次の引数があります。

引数 説明
expression 必ず指定します。四捨五入を行う(数式 : 数値で評価する式です。数式は、変数、定数、関数、および演算子を任意に組み合わせて指定できます。)を指定します。
numdecimalplaces 省略可能です。四捨五入する小数点以下の桁数を表す数値を指定します。省略すると、最も近い整数に丸められます。


でも、実際にやってみると違うんですよねぇ・・・

拍手[2回]

>>つづきはこちら

2007-07-29(Sun)

春分の日、秋分の日の求め方

NEC得選街【ノートPC】

はい、電算室です。今日はなにが起きるのでしょうか。

前回、曜日の求め方、ハッピーマンデーによる祝日の求め方を解説しました。
曜日計算はシステムの根幹にかかわるものなので大事なものです。

なのに、なのに・・・

それがバグっていたなんて・・・・。

今回の海の日の不具合の前に、実は秋分の日でも不具合がありました・・・

拍手[2回]

>>つづきはこちら

2007-07-28(Sat)

曜日の求め方~今日は休みではありません。

2007夏モデルFMV新登場


はい。電算室です。今日は何が起きるのでしょうか。

曜日によって処理するJOBを変えることはよくあります。
また、土日や祝日の場合は処理をしないように設定することもよくあります。

と、いうことはシステム日付を取得し、それが何曜日かを知る必要がありますが、それはプログラムによって何曜日かを知ることができるのです。

その方法は、ツェラー(Zeller)の公式を使います・・・。

拍手[1回]

>>つづきはこちら

2006-11-13(Mon)

英単語練習

久々の書き込み。何をしていたかというと、とある英語塾の英単語練習ソフトを作成していました。

そう・・・、Wavの鳴らし方とかは、すべてその英単語練習ソフトのためだったのです。

ふぅ、やっと終わった・・・、というかやっとβ版までこぎつけたのでした。

拍手[0回]

>>つづきはこちら

2006-10-27(Fri)

VB6 音量調節の仕方 Wav 2

 さて、困ったことになった、Waveの音量調節。

 MCIコマンドではデバイスによっては使えたり使えなかったり・・・。

 ちなみに私の環境では使えないということが分かった以上、もうどうすることもできなかった・・・。

 そんななか、ようやく見つけたマイクロソフトのページ。

Visual Basic からのサウンド ファイルの音量を制御する方法

これでできるだろうか・・・

拍手[0回]

>>つづきはこちら

2006-10-25(Wed)

VB6 音量調節の仕方 Wav

 仕事から帰ってきてまで、プログラムをする生活・・・。
 今、とある英語塾の英単語練習ソフトで新しいソフトを開発中です。

 今回は、画像を表示するとともに、音声も出力するというもの。

 英語塾より、画像データと、音声データが送られてきたのでテストしてみたのですが、困ったことになりました。それは、画像を見て、OKでだったりNGだったりしたら、ボタンをクリックするのですが、そのときに出る音と、音声の音の大きさが若干違うというもの。

 いまさら音声データを作り直すというわけにもいかないので、苦肉の策として、ソフト側で音声の音量を調整できるようにしようと思い立ったのでした。

 しかし、これが苦難の道を歩むことになるとは・・・。

拍手[1回]

>>つづきはこちら

2006-09-17(Sun)

Access テキストボックスの行数のカウント

 はい電算室です。今日はなにがおきるのでしょうか。

 今、「お姉ちゃん」が困っていること。それは、Aceessのテキストボックスに入力してある一定の行数を超えると警告メッセージを出すというもの。

 そんなの改行コード(CrLf)をカウントすればいいことじゃん。

 と思ったのですが、実はそう簡単ではありませんでした。

拍手[2回]

>>つづきはこちら

Amazon

PR

情報サービス

楽天

ソフト関連

メーカー直販PC

周辺機器

ランキング

プロフィール

HN:
NORI
性別:
男性
趣味:
車でどこへでも
自己紹介:
文学部卒業ながら、ひょんなことからシステム会社に就職。
しかしながらあまりの激務に退職。もうシステム系はいやだと思っていたが、ひょんなことから企業の電算室に勤務することとなる。

カレンダー

02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

ブログ内検索

Google
Web ブログ内

最新TB

アクセス解析