タグ

VBAに関するoguri0220のブックマーク (14)

  • VBA応用(CSV形式テキストデータの書き出し)

    メリットはテキスト形式の出力と同じです。 ここでも、古くからのBASICの記述方法と、FSO(FileSystemObject)を操作する方法で、テキストファイルに書き出す方法を解説します。 ワークブックの保存でもCSV形式テキスト(カンマ区切り、*.csv)がありますが、文字列項目をダブルクォーテーションで囲ったり、シートの一部(例えば見出しを除くなど)を出力することはできません。 ここでの方法はいわばExcelの標準と言える出力形式で、FSO(FileSystemObject)の方は個別にレコードを編集するので形式の選択も自在です。 CSV形式テキストファイルは、その形式の「単純さ」からかシステム間のデータ受け渡しに利用されることがよくあります。ですが、一般の利用者は「CSV形式」=「仕様が単一で確立している形式」という誤解があると思います。 現実にこの問題に直面している人もこのページ

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 名前の定義の参照範囲の変更、追加

    サンプルではデータ入力範囲にある名前が既に定義されている場合にはRefersToプロパティーを用いて参照範囲を再定義し、まだ定義されていない場合にはAddメソッドを用いて名前を定義しています。 Sub RedifineNameRef() Dim Rng As Range Dim Nam As Name With ActiveWorkbook Set Rng = .Sheets("Sheet1").Cells(1, 1).CurrentRegion On Error Resume Next 'エラー時には次の処理へ Set Nam = .Names("Nam1") If Nam Is Nothing Then 'If Err <> 0 Then ・・・でも同じ .Names.Add Name:="Nam1", RefersTo:="=Sheet1!" & Rng.Address, _ Vis

  • 名前定義の削除

    仕事EXCELを使っていると、たまに「定義済みの名前」がひどいことになったりしますよね。 参照範囲がどこのネットワークを参照しているかもわからない名前とかが出てきます。 で、これらをEXCELのマクロ(vba)を使って一括で削除する方法。 Sub DeleteDefinedNames() Dim n As Name For Each n In ActiveWorkbook.Names n.Delete Next End Sub と、エラーを無視するコードを入れれば消せない名前以外は消せるようになりますが、 消せない名前は Ctrl+F3で出てくる[名前の定義]ダイアログから手動で消す必要があります。 で、これじゃあちょっとめんどくさいよねってことで、 名前を削除するマクロの実行時にエラーが出ないようにしておいてあげてから、 マクロを実行しようよっていう方法です。 (1) [ツール]-[オ

  • 複数のシートを別ブックにコピーして保存したい - OKWAVE

    質問の文言と提示のコードには矛盾点、疑問点がありますが、 要するに以下のようなことですか? 元ブック : ThisWorkbook コピー先 : まとめ.xls だと仮定して、、 ●元ブックの表示シートを"まとめ.xls"にコピーする ●コピーするときは、"まとめ.xls”に既にコピーしてあるシートの次からコピーする (要するに、まとめ.xlsのシートはコピーするたびに増えていくということです) ●コピーは書式と値のみにする ●コピーしたシート名は、元ブックのシート名と同じにする (ま、これはシートをコピーすればいいわけですが) もし、このようなことなら以下のコードでもできます。 '-------------------------------------------- Sub test() Dim MatomeBK As Workbook Dim MotoBK As Workbook D

    複数のシートを別ブックにコピーして保存したい - OKWAVE
  • すぐに役立つエクセルVBAマクロ集 - FAQ 確認メッセージを出さずにブックを上書き保存するには - Excel VBA Macro Collection

    テキスト文書をExcelで開き、加工して名前をつけて保存するというマクロを作成しました。 ファイル名は毎回同じ名前で上書(置換)保存する為、上書確認メッセージが表示されます。 今はユーザーに「上書する」ボタンを選択させています。自動化させたいのですが方法が分かりません。 尚、そのファイルは別のファイルからVlookup関数で参照している為、名前は毎回同じ名前で保存させたいのです。 自動でファイル名をつける・すでにある名前と同じ名前で保存する方法は、ないでしょうか? (今は「ActiveWorkbook.SaveAs FileName:="C:\dbg952.xls"」コマンドを使っています。「ActiveWorkbook.Save」という上書コマンド + 名前をつける) よい方法がありましたら教えて下さい。よろしくお願い致します。お忙しい所申し訳ありません。 あなたが知りたいことは、ブック

    すぐに役立つエクセルVBAマクロ集 - FAQ 確認メッセージを出さずにブックを上書き保存するには - Excel VBA Macro Collection
  • Office 2007で問題になるマクロの後方互換性 - Kazzz's diary

    Office 2007は既定のデータ保存フォーマットが変わり、過去のOfficeとは互換性の無い形式で保存される。とはいえ後方互換性を完全に捨てた訳ではなく、例えばExcel 2007であれば、Officeボタンから「名前をつけて保存」->「Excel 97-2003 ブック」で保存することでデータの後方互換を保つことができる。(オプションで保存形式のデフォルトとして設定することもできる) ならば、過去のデータをOffice 2007で扱うのは全然問題無いと思うのは早計だ。 一番問題になるのは、いたるところで使われているマクロだ。先日書いたマクロの配置場所によるエビデンスの設定もそうだが、既に書いたとおり、後方互換性を保つ形式で保存する場合は、明示的に指定する必要がある訳で、過去に作ったマクロ、例えばデータを計算して、その結果を動的にExcelシートに出力、保存するようなマクロをOffic

  • エクセルVBAで違うブックの指定セルの値をコピーするコード

    #3です。直すのは簡単です。 マクロは日報ブックに、対比表も日報ブックのSheet2に作成としてください。 Sub test() Dim sourceRange As Range Dim destRange As Range Dim sourceAddress As String Dim destAddress As String Dim addressTable As Range Dim i As Long Set addressTable = ThisWorkbook.Sheets("Sheet2").Range("A1").CurrentRegion For i = 1 To addressTable.Rows.Count sourceAddress = addressTable.Cells(i, 1).Value destAddress = addressTable.Cells(i

    エクセルVBAで違うブックの指定セルの値をコピーするコード
  • VBAの.copyメソッドは異なるブック間では使用出来ない。

    [[20071027080025]] 『コピー内容を別のブックに値貼り付け』(sirouto1gou) ページの最後に飛ぶ [ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ] 『コピー内容を別のブックに値貼り付け』(sirouto1gou) すみません、どなたか知恵をかしてください。 下のようなコードで、コマンドボタンを押すと、オートフィルタで 抽出した内容をコピー貼り付けできるようにしようとしています。 A列とC列を、同じブックのワークシート「ああ」ではなく 別のブック、例えば Book2のSheet1のb3に値貼り付けしたいときには、どのように コードを書き換えればよいのでしょうか。 Destinationからあとをなんとかすればよさそうな気もするのですが、 基的なことが今一つ理解できていないもので…。Excel2003を使っています。 よろしくお願いいたします

  • VBA関数の一覧|VBAリファレンス

    公開日:2013-06-11 最終更新日:2021-09-09 VBA関数の一覧 ExcelマクロVBA関数の一覧と解説です、 どんな関数があるかは一度は確認しておくとをお勧めいたします。 どんな関数があるだけでも知っておけば、詳細の使い方は実際に使うときに調べても良いでしょう。 文字列操作 ・・・ 34 分岐 ・・・ 3 型変換 ・・・ 14 データ判定 ・・・ 10 日付時刻 ・・・ 20 配列 ・・・ 6 ファイル操作 ・・・ 14 数学/財務 ・・・ 28 その他 ・・・ 18 Microsoft Docs Office VBA Reference

    VBA関数の一覧|VBAリファレンス
  • 複数ブックのシートを1つのブックにコピーする:Excel VBA|即効テクニック|Excel VBAを学ぶならmoug

    複数ブックのシートを1つのブックにコピーする (Excel 2000/2002/2003/2007/2010/2013/2016) ツイート 特定のフォルダにある複数のブックから、特定のシートを1つのブックにコピーして集約します。 次のサンプルは、"C:\Data\Source\"フォルダ内のすべてのExcelブックについて、「報告書」という名前のシートを新規ブックにコピーします。 このとき、集約用ブック内のシート名が重複しないよう、シート名をそのシートのセルA1の値に変更します。 Sub Sample() Dim sFile As String Dim sWB As Workbook, dWB As Workbook Dim dSheetCount As Long Dim i As Long Const SOURCE_DIR As String = "C:\Data\Source\" C

  • 作業を効率化させるExcel VBA Tips集 選択した図形をJPEG画像として保存する

    作業を楽にする為の苦労を惜しまない、末転倒なプログラマーが実際に業務で使ったExcel VBAのサンプルを公開しています。掲載しているサンプルは関数単位ですので、使い捨てしやすいと思います。 このブログ以外でもブログを書いてますが、記事を書く際、Excel上で作成したオートシェイプを記事中に掲載することがあります。それを行うには、以下の手順を踏むことになります。 [Excelオートシェイプをブログへアップロードする手順] 1.Excelで図形を作成する ↓ 2.Excelで図形をコピー ↓ 3.グラフィックソフトを開く ↓ 4.コピーした図形を貼り付ける ↓ 5.JPEG指定で保存する ↓ 6.ブログの管理画面を開く ↓ 7.JPGファイルをブログへアップロード 一番力を入れたいのが、手順1の作業なのですが、それ以外の作業も意外に時間かかります。 ということで、今回2、3、4、5の手順を

  • PC

    日経コンピュータ 勝村幸博の「今日も誰かが狙われる」 高校入試出願のメール不達は必然 Gmailガイドラインの誤解を解く 2024.03.01

    PC
  • 画像をExcelにひたすら貼り付けるマクロ - とあるSIerの憂鬱

    背景 画面のハードコピーを大量に取得した後、Excelに貼り付けて『・・・を実行した』とか『・・・が確認できた』のような説明を記載する苦行がある。説明を書くのは自動化できないが、ハードコピーを貼り付ける手間は自動化により省けるよね、ということで。 仕様(大雑把) ファイル選択ダイアログで貼り付けるファイルを複数選択する リサイズはしない 貼り付けの際に、説明を記述するために2行ほど空けさせる マクロ 'PastePicturesマクロ Sub PastePictures() Dim filenames As Variant, filename As Variant filenames = Application.GetOpenFilename( _ FileFilter:="画像ファイル,*.png;*.jpg", _ MultiSelect:=True) If IsArray(filen

    画像をExcelにひたすら貼り付けるマクロ - とあるSIerの憂鬱
  • 1