タグ

TipsとVBAに関するkatowのブックマーク (17)

  • VBAのクラスはいつ使うのか?なんで使うのか? (2ページ目)

    ちゅん🐤 @KotorinChunChun #VBA で #クラス が出来るまでの流れ① 1.なんかいっぱい変数ができる 2.複数のプロシージャで共有したくて同じ引数を付け始める 3.面倒になってモジュール変数にする 4.変数セットを複数作りたくて、それぞれを配列にする 5.面倒になってやっぱりやめる 6.クラス化して量産できるようにする ちゅん🐤 @KotorinChunChun #VBA で #クラス が出来るまでの流れ② 1.なんかいいっぱい変数ができる 2.複数のプロシージャで受け渡したくなる 3.Typeで一つにまとめる 4.複数セット作りたくてType配列にする 5.やっぱりDictionaryで管理したくなるがTypeは入らない 6.クラス化して量産できるようにする ちゅん🐤 @KotorinChunChun #VBA で #クラス が出来るまでの流れ③ 4.②と同じ理

    VBAのクラスはいつ使うのか?なんで使うのか? (2ページ目)
    katow
    katow 2020/02/11
  • milの雑記屋本舗 ワークシート上のコントロールの一覧を取得して操作する

    お酒はほどほどにしなければ・・おいしいんですけどね! 頭痛さえなければ。。 うぅ・・ 今回はExcelVBAでワークシート上に設置したコントロールを列挙して操作する方法の私的メモです。 フォームコントロールをコンテナとして使用し、Controlsコレクションから列挙する方法はあるのですが、 基的に私はVBAではフォームを使用しないため、別の方法はないかと長いこと悩んでいました。 VBAではCheckBoxが10個とか、少し規模が大きくなると一気にコーディングが煩雑で難しくなります。 当はVBのようにコントロール配列が使えれば苦労はないのですが、 VBAでは何故かコントロール配列が使えないのですから・・・ OS:Windows 7 x64 Ultimate Edition 環境:Microsoft Office 2000, 2003 SP3 <ワークシート上のコントロールの一覧を取得し

    katow
    katow 2015/06/27
  • ExcelVBAでのValueとValue2の違い - 小池啓仁 ヒロヒト応援ブログ By はてな

    デバックでウォッチウインドウからActiveCellのプロパティを見るとValueとValue2があります。 ValueとValue2の違いは何かなとまず思うでしょう・・・調べてみました。 Value2 プロパティと Value プロパティの唯一の違いは、Value2 プロパティでは通貨型 (Currency) および日付型 (Date) のデータを使用しないことです。倍精度浮動小数点数型 (Double) を使用して、これらのデータ型を浮動小数点数の形式にした値を返すことができます。 http://msdn.microsoft.com/ja-jp/library/cc391692.aspx サンプル Sub Test() Dim dtmDate As Date dtmDate = Now ActiveCell.Value = dtmDate 'セルでの表示 2009/1/14 20:17

    ExcelVBAでのValueとValue2の違い - 小池啓仁 ヒロヒト応援ブログ By はてな
    katow
    katow 2011/12/15
    Value2は通貨型と日付型が内部値(Double)で戻る
  • EXCEL VBA 文字列操作関数

    Sub ReplaceSamp1() strSamp = "123456789" strSamp = Replace(strSamp, "123", "000")  '000456789を返す Range("A1:A6").Select '---置き換え対象範囲を選択します With Selection .Replace What:=1, Replacement:="1:北海道", LookAt:=xlWhole '---完全に一致するものだけ置き換えます .Replace What:=2, Replacement:="2:青森県" '---2回目以降はLookAtには前回と同じものが使用されるため、省略が可能です .Replace What:=3, Replacement:="3:秋田県" .Replace What:=4, Replacement:="4:岩手県"

    katow
    katow 2011/05/25
    文字列処理
  • Excelの選択したセルを取得するには

    katow
    katow 2011/05/25
    Selectionの取得はxlApplication.SelectでOK
  • VBA応用(セルのコメントの操作する。)

    少し遊んでもみました。 このページは長い間更新をしておらず、最初のサンプルコードだけでしたが、よく見るとコメントをいちいちSelectして書式を設定している記述だったので、 これを直そうと思ったのですが、ついでなのでコメントが「図形」だということを利用して、少し「いたずら」をやってみたのが3番目のサンプルです。 以前は手操作でも、コメントを選択して「図形の調整」「オートシェイプの変更」を行なえばできることなのですが、どうやらExcel2007以降ではマクロを作成しないとできなくなってしまったということです。 セルのコメントもVBAから動的に変更できます。 サンプルは、A1セルのWorksheet_Changeイベントでコメントを書き換えています。 (画像をクリックすると、このサンプルがダウンロードできます) このサンプルでは、セルの内容をコメント上に表示させています。 このマクロは、ワーク

    katow
    katow 2011/05/25
    セルのコメントを追加する
  • VBA応用(シートの表示位置を左上に戻す。)

    カーソルの選択セルを移動させずに、画面のスクロールポイントだけを移動します。 画面スクロール状態をいろいろいじった状態で保存すると、次にそのワークブックを開いた時に「わけの解らない」画面になってしまうことがあります。 (画像をクリックすると、このサンプルがダウンロードできます) これは最後に保存された時の状態を再現するからですが、こんなことを防ぐためには、ワークブックを開いた時にそのワークシートに左上に画面を戻すようにします。 '*************************************************************************************************** ' シートの表示位置を左上に戻すサンプル Module1(Module) ' ' 作成者:井上治 URL:https://www.ne.jp/asahi/excel/

    katow
    katow 2011/03/09
    セルを指定して画面表示させることができる(改ページ情報を正確に取得するために必要になった)
  • ExcelVBA の HPageBreaks コレクションが不正な挙動をする - OKWAVE

    一時期、悩んだ事象です。 マイクロソフト サポート技術情報 - JP408042 [XL97] 印刷されるページの総数を調べる方法 http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/japan/support/kb/articles/JP408/0/42.asp の中に、 H_Break = Sheet1.HPageBreaks.Count '横の改ページ数取得 の記述があり、頁数が取得できるように書いてあります、しかし、この技術情報の最後に、 『注意 このプロシージャを実行する前に、改ページ位置のセルを画面に表示して、 改ページ位置を認識させる必要があります。次のいずれかの操作を 1 度実行します。 ・改ページされているセルを画面に表示 ・ZOOM で縮小したあと元に戻す    』 とあり、技術

    ExcelVBA の HPageBreaks コレクションが不正な挙動をする - OKWAVE
    katow
    katow 2011/03/09
    改ページ記号は、その場所を画面表示させながらでないと正常値が得られないとの事。
  • すぐに役立つエクセルVBAマクロ集 - Excel VBA Macro Collection

    '================================================================================= Sub 選択したシートを印刷する() 部数 = 1 '印刷部数を指定する ※1 Sheets("SSS").PrintOut Copies:=部数 '指定部数を印刷する ※2 End Sub '--------------------------------------------------------------------------------- Sub アクティブシートを印刷する() ActiveSheets.PrintOut '印刷する(1部) End Sub '-----------------------------------------------------------------------------

    katow
    katow 2011/03/07
    改ページ制御もある
  • Office TANAKA - セルの操作[セル範囲の取得]

    操作の対象セル範囲が不定の場合 ここまでの解説では、操作の対象を「セルA1に」とか「セル範囲A1:C3に」などと簡単に決めてきました。もちろん解説なのですから、それは勘弁していただきたいのですけど、実際のマクロ作成では操作の対象を特定することに苦労するものです。操作の対象セルを、どう的確に特定するかが、VBAのビギナーとベテランで差が出るところでもあります。たとえば、次のようなデータを考えてみましょう。 このデータをマクロでクリアします。ただし、データが何行何列あるかは、そのときによって異なります。セルをクリアするにはRangeオブジェクトのClearContentsメソッドを使います。次のコードはセル範囲A1:D5をクリアします。 Sub Sample1() Range("A1:D5").ClearContents End Sub クリアすべきセル範囲の左上はセルA1です。したがって、セ

    katow
    katow 2011/03/06
    Excelでの特殊な(使える)範囲選択の種類について分かりやすく解説
  • エクセル「Range」メモ(Hishidama's Excel Memo "Range")

    1つのセルに値を入れるなら、 Range("A2").Value = "a" セルA2に値を代入します。 なお、キーワード「Value」は省略できるので、省略して書く人も多いようですが… 詳しくはFormulaとValueの関係を参照のこと。 Cells しかし プログラム内でループして使いたいような場合は この表記方法は不便です。その場合はCellsを使えます。 Dim Y As Integer For Y = 1 To 5 Cells(Y, 1).Value = "a" Next Cellsというキーワードを使っていますが、内容的にはRangeと同じです。 Cells(行,列)という形式で、いわばCells(Y座標,X座標)という指定です。 (X,Y)という順序と逆なので混乱しやすい(苦笑)…まぁExcelは表なので(行,列)なんだけど Offset ある範囲を移動していって処理するよ

  • フォント名とサイズの設定

    フォント名とサイズを変更する まずはセルに表示されている値のフォントを変更してみます。変更するにはFontオブジェクトの「Name」プロパティにフォント名を文字列として設定します。

    フォント名とサイズの設定
  • [FAQ's: OD] How do I transfer data between Access and Excel?-VBForums

    katow
    katow 2010/12/24
    Accessの機能でExcelシート出力をVB.NETから行う場合は、DoCmdがApplicationから使えるらしい。
  • Excel VBA 印刷の設定 (ページ設定):Keep It Simple, Stupid:So-netブログ

    エクセルのVBAで印刷の設定をするには"PageSetup"オブジェクトを使います。 With Activesheet.PageSetup 'プリント範囲の設定 .PrintArea = ("A1:K30") '用紙サイズ xlPaperSizeクラスの定数を指定 .PaperSize = xlPaperA4 'A4用紙 '用紙の向き .Orientation = xlLandscape '=横  xlPortrait=縦 '拡大率 10~400%で指定 .Zoom = 110 '印刷範囲を指定したページ数に収める 'Zoomが設定されていると無効 .FitToPagesTall = 1  '縦 .FitToPagesWide = 1 '横 'マージン .LeftMargin = Application.CentimetersToPoints(1.5) .RightMargin = App

    Excel VBA 印刷の設定 (ページ設定):Keep It Simple, Stupid:So-netブログ
    katow
    katow 2010/12/20
    ページ設定の制御
  • EXCEL VBA セルの操作 書式

    Sub test() Debug.Print Format(23)             '"23" を返す。 Debug.Print Format(5459.4,"##,##0.00")  '"5,459.40" を返す。 Debug.Print Format("HELLO","")      '"THIS IS IT" を返す。 End Sub

    katow
    katow 2010/12/20
    文字色のチャートなどあって便利
  • CGI Error

    katow
    katow 2010/07/30
    制御できるのだろうか?
  • VBA応用(CDOでメール送信)

    その後「ダウンロード」の方に移転しております。 (この画像をクリックすると、該当ページにジャンプします。)

    katow
    katow 2008/12/23
    CDOを使ったメール送信。非常にたくさんまとめられていて助かる。
  • 1