Home

Ms Memorandum

【VBA】Excelの全てのSheetをSheet名でテキスト保存するマクロ

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

追加Queryでレコードが追加できない。(Tableの空文字列の許可)

追加クエリでTableにレコードを追加したが、全てのレコードが追加されない場合、追加される側のTableのテキスト型フィールドのフィールドプロパティーを確認。

テキスト型フィールドのフィールドプロパティーで、「空文字列の許可」はデフォルトで「いいえ」になっている為、追加したいレコードの一部が空欄だった場合、空欄のあるレコードごと追加されない事がある。

追加したいテーブルのテキスト型フィールドの、「空文字列の許可」を「はい」に変更する事で問題は解決できます。

(一括で「はい」に変更することは出来ません。ちまちまマメに一つずつ変えましょう。 VBAで出来るらしいですが、よくわかりません。。。)

TextのIMEがロックしてしまった時のIME解除

Foam作成時などにテキストボックスのラベル名称が「ひらがな」しか入力できなくなってしまった時のIME解除方法。

  1. [スタート]⇒[コントロールパネル] ⇒ [地域と言語のオプション]
  2. [言語]のダイアログボックスの中の[詳細]
  3. [詳細設定]の互換性の構成の [詳細なテキストサービスのサポートをプログラムのすべてに拡張する] のCheckを外す。

以上でIMEのロックが解除されます。

Excel オートフィルター一発解除

(番外編)Excelのオートフィルターを一発解除する「全て表示」をツールバー上に表示する方法

メニュー[ツール]
 ↓
[ユーザー設定]-[コマンド]
 ↓
[分類]で「データ」をクリック
 ↓
[コマンド]欄から「全て表示」を探し、ツールバー上のHelpの横辺りにdrug&drop

意外と便利。

マクロの条件

MsgBox(”メッセージ”,4)=6
ダイアログは はい or いいえ

Page 1 of 3123»

Home

ページ
Tag Cloud
ぶろぐぱーつ

Return to page top

Login