Ms Memorandum
【VBA】Excelの全てのSheetをSheet名でテキスト保存するマクロ
- 2008-11-27 (木)
- XLS-VBA

Excelのすべてのシートをタブ区切りテキストでシートごとにファイル出力するマクロです。
Excel⇒Accessに毎回データを取り込む時、ExcelをリンクTableとして使用すると、「数値フィールドがオーバーフローしました」と回避不能なErrが出る事があるので、Excelに下記マクロを組んでテキストに落としてからData取り込みをすると回避できる。
他にも応用がききそうです。
Sub OutputTEXT()
‘ アクティブなワークブックのシートをすべてタブ区切りテキスト保存
Dim name As String
Dim outdir As String
Dim sheet As Worksheet
‘ 保存する場所を指定↓
outdir = “D:\”
‘既にデータが存在する場合の上書き警告を非表示
Application.DisplayAlerts = False
For Each sheet In Worksheets
sheet.Select
name = outdir & ActiveSheet.name & “.txt”
ActiveWorkbook.SaveAs filename:=name, FileFormat:=xlText, CreateBackup:=False
Next sheet
‘警告表示を戻す
Application.DisplayAlerts = True
End Sub
- Comments: 0
- Trackbacks: 0
追加Queryでレコードが追加できない。(Tableの空文字列の許可)
追加クエリでTableにレコードを追加したが、全てのレコードが追加されない場合、追加される側のTableのテキスト型フィールドのフィールドプロパティーを確認。
テキスト型フィールドのフィールドプロパティーで、「空文字列の許可」はデフォルトで「いいえ」になっている為、追加したいレコードの一部が空欄だった場合、空欄のあるレコードごと追加されない事がある。
追加したいテーブルのテキスト型フィールドの、「空文字列の許可」を「はい」に変更する事で問題は解決できます。
(一括で「はい」に変更することは出来ません。ちまちまマメに一つずつ変えましょう。 VBAで出来るらしいですが、よくわかりません。。。)
- Comments: 0
- Trackbacks: 0
TextのIMEがロックしてしまった時のIME解除
- 2008-11-12 (水)
- AC-全般

Foam作成時などにテキストボックスのラベル名称が「ひらがな」しか入力できなくなってしまった時のIME解除方法。
- [スタート]⇒[コントロールパネル] ⇒ [地域と言語のオプション]
- [言語]のダイアログボックスの中の[詳細]
- [詳細設定]の互換性の構成の [詳細なテキストサービスのサポートをプログラムのすべてに拡張する] のCheckを外す。
以上でIMEのロックが解除されます。
- Comments: 1
- Trackbacks: 0
Excel オートフィルター一発解除
- 2008-11-11 (火)
- XLS-全般

(番外編)Excelのオートフィルターを一発解除する「全て表示」をツールバー上に表示する方法
メニュー[ツール]
↓
[ユーザー設定]-[コマンド]
↓
[分類]で「データ」をクリック
↓
[コマンド]欄から「全て表示」を探し、ツールバー上のHelpの横辺りにdrug&drop
意外と便利。
- Comments: 0
- Trackbacks: 0
