[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Excel VBAで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")
Exit Sub
End If
ConFile = "TEXT;" & SelFile
Set Ws = ActiveSheet ' CSV のデータを取り込むシート
With Qt
.TextFilePlatform = 932 ' 文字コードを指定
.TextFileParseType = xlDelimited ' 区切り文字の形式
.TextFileCommaDelimiter = True ' カンマ区切り
.RefreshStyle = xlOverwriteCells ' セルに上書き
.Refresh ' データを表示
.Delete ' CSV との接続を解除
End With
-----------------------------------------------------
QueryTables.add は様々な指定ができます。
ここで指定いるのが、
.TextFilePlatform = 932 文字コードです。"932"はShift-JIS UTF-8は"65001"です。
.TextFileParseType = xlDelimited 指定した区切り文字ですよという指定。xlDelimitedは既定値です。
xlDelimited に対する区切り文字の指定で、csvだということ
タブ区切り文字の場合は
.TextFileTabDelimiter = True と記載します。
ここでテストとして国勢調査の"年齢(5歳階級),男女別人口-都道府県"のcsvをダウンロードて読み込んでみます。
設置したボタンを押すと、ファイル選択が出るので、ダウンロードしたファイルを選択すると
うまく読めると思います。
Access VBAで小数点以下○位を切り捨て
さて、今度はAccessVBAでの切り捨てのお話。
よく、仕様で小数点第○位で切り捨てなんてことが書かれています。
COBOLのときは、9V99999...に送ってやると切り捨てられたものですが、
(切り捨てられましたよね。たぶん・・・・)
VBAではどうやるのだろう??
その答えです。
AccessのRoundは四捨五入じゃない
そこでよく使われているのが、Round関数。
Accessのヘルプにもこう書かれています(2007の場合)
小数点以下の指定された桁以下を四捨五入した数値を返します。
構文
Round(expression [, numdecimalplaces ] )
Round 関数には、次の引数があります。
引数 | 説明 |
---|---|
expression | 必ず指定します。四捨五入を行う(数式 : 数値で評価する式です。数式は、変数、定数、関数、および演算子を任意に組み合わせて指定できます。)を指定します。 |
numdecimalplaces | 省略可能です。四捨五入する小数点以下の桁数を表す数値を指定します。省略すると、最も近い整数に丸められます。 |
でも、実際にやってみると違うんですよねぇ・・・
春分の日、秋分の日の求め方
はい、電算室です。今日はなにが起きるのでしょうか。
前回、曜日の求め方、ハッピーマンデーによる祝日の求め方を解説しました。
曜日計算はシステムの根幹にかかわるものなので大事なものです。
なのに、なのに・・・
それがバグっていたなんて・・・・。
今回の海の日の不具合の前に、実は秋分の日でも不具合がありました・・・
曜日の求め方~今日は休みではありません。
英単語練習
久々の書き込み。何をしていたかというと、とある英語塾の英単語練習ソフトを作成していました。
そう・・・、Wavの鳴らし方とかは、すべてその英単語練習ソフトのためだったのです。
ふぅ、やっと終わった・・・、というかやっとβ版までこぎつけたのでした。
VB6 音量調節の仕方 Wav 2
さて、困ったことになった、Waveの音量調節。
MCIコマンドではデバイスによっては使えたり使えなかったり・・・。
ちなみに私の環境では使えないということが分かった以上、もうどうすることもできなかった・・・。
そんななか、ようやく見つけたマイクロソフトのページ。
Visual Basic からのサウンド ファイルの音量を制御する方法
これでできるだろうか・・・VB6 音量調節の仕方 Wav
仕事から帰ってきてまで、プログラムをする生活・・・。
今、とある英語塾の英単語練習ソフトで新しいソフトを開発中です。
今回は、画像を表示するとともに、音声も出力するというもの。
英語塾より、画像データと、音声データが送られてきたのでテストしてみたのですが、困ったことになりました。それは、画像を見て、OKでだったりNGだったりしたら、ボタンをクリックするのですが、そのときに出る音と、音声の音の大きさが若干違うというもの。
いまさら音声データを作り直すというわけにもいかないので、苦肉の策として、ソフト側で音声の音量を調整できるようにしようと思い立ったのでした。
しかし、これが苦難の道を歩むことになるとは・・・。
Access テキストボックスの行数のカウント
はい電算室です。今日はなにがおきるのでしょうか。
今、「お姉ちゃん」が困っていること。それは、Aceessのテキストボックスに入力してある一定の行数を超えると警告メッセージを出すというもの。
そんなの改行コード(CrLf)をカウントすればいいことじゃん。
と思ったのですが、実はそう簡単ではありませんでした。
Amazon
PR
ソフト関連
メーカー直販PC
周辺機器
ランキング
プロフィール
しかしながらあまりの激務に退職。もうシステム系はいやだと思っていたが、ひょんなことから企業の電算室に勤務することとなる。