Excel でこれから VBA を使ってみたいという方を対象にした VBA 入門です。 VBA とは Visual Basic for Applications の略で Excel や Access などで利用できるプログラミング言語の1つです。 VBA を使うことで手動で行っている定型的な業務などを自動化させたり、独自のフォームなどを作成して Excel をアプリケーションのように見せることなどができます。ここでは Excel での VBA の使い方についてサンプルを使いながら解説していきます。 ※ Excel でマクロを記録する方法などについては「Excelマクロ入門」を参照されてください。
ここまでは「転記」の実際を説明しましたが、Rangeオブジェクトを理解すると展開が変わるので必見です。 重要なことですが初心者にはハードルが若干高いことも事実です。 たとえば「計算式」で「相対参照・絶対参照」や「A1参照形式・R1C1参照形式」を一生懸命説明したつもりですが、結局自社内でもこの説明での理解度はいまひとつで、自分でも不満な状態です。 ここで「RangeオブジェクトとRangeを返すプロパティ」の説明をするのもうまく伝わるか判りませんが、大事なことなので、是非、よくお読み下さい。
連載目次 .NETには「COM相互運用」と呼ばれる機能があり、COMコンポーネントを手軽に呼び出すことができる。一方、ExcelをはじめとするOffice製品は、その機能をマクロ(VBA)などからも活用できるようにCOMコンポーネントとして実装されている。このため、COM相互運用を使えば.NETアプリケーションから容易にExcelやWordのファイルを開き、それをさまざまに操作することが可能だ。本稿ではその基本的な記述方法として、Excelファイルをオープンしてワークシート上のセルの内容を参照する例を紹介する。 参照の追加 アプリケーションからExcelにアクセスするには、まずExcelが公開するCOMコンポーネントへの参照をプロジェクトに追加する。これには[参照の追加]ウィンドウで[COM]タブを選択し、「Microsoft Excel 12.0 Object Library」(Exce
はじめに 同じパターンで表現できるものをまとめて処理ができるようになる。と考えればよいのでしょうか? Excelの質問掲示板などで見かけることがあり、どのように使うのか興味を持ったのですがよくわからないところがあります。 「Regular Expression オブジェクトは、簡単な正規表現をサポートします」とあるように、正規表現を利用した処理が可能になるようです。 Regular Expression オブジェクトを使ったコードの解読ができればと思いますので、とりあえずどのようなものかを抜粋してみます。 【参考資料】 MSDN (RegExp オブジェクト) http://msdn.microsoft.com/ja-jp/library/cc392403.aspx お試し用コード どのようになるのかを試すコードです。 A2に検索する文字列、B2にパターンを入力します。実行すると結果をMs
Worksheet_SelectionChange (mm0727) Worksheet_SelectionChange についてわかりやすく説明します (1) Worksheet_SelectionChangeとは ワークシート上で選択範囲が変更されたときに呼び出される特別なメソッドです ワークシート上で何かが起こったら何かをするような目的に使われます (2) [エクセルVBAのHELP]から エクセルのVBAヘルプでWorksheet_SelectionChangeをフルスペルで調べても 出てきません。VBAヘルプのキーワード SelectionChange で探します [SelectionChange イベント] ワークシートで 選択範囲を変更したとき に発生します。 Private Sub Worksheet_SelectionChange(ByVal Target As Exce
既にコメントがあるセルの場合にはCommnetオブジェクトをが取得できますが、コメントが無いセルの「Commnet」プロパティを参照しても何もないため、取り出したオブジェクトの型を調べてみると「Nothing」となります。 例えばセルB2にはコメントが存在するが、他のセルにはコメントが無い場合に次のプログラムを実行してみます。 Sub テスト() Dim comment1 As Comment Dim comment2 As Comment Set comment1 = Range("B2").Comment Set comment2 = Range("C2").Comment MsgBox TypeName(comment1) MsgBox TypeName(comment2) End Sub 「TypeName」関数は、引数に指定したオブジェクトの型を調べてくれます。最初は「Commn
回答量上限がありますので、「2つコンボボックス」の仕様については、下記コード例では単純に1つのリストボックスでシートを選択するようにしています。 (シート選択さえ分かれば、あとはコントロールの使い方の問題なので、いくらでも修正可能と思います) あと、テキストボックスに直接表示は無理ですので、DataGridViewという表状のデータを取り扱うコントロールに表示します。 [サンプルコードの仕様] Buttonをクリックすると、Excelデータと接続し、ListBoxにシート名一覧を表示。 ListBoxでシートを選択すると、そのデータがDataGridViewに表示。 [前準備] ButtonとListBoxとDataGridViewをフォームに貼り付けて下さい。 また、貼り付けたButtonとListBoxをダブルクリックして、 Button1_Click()メソッドと ListBox
対象読者 Visual Basic 2005・2008、Visual C# 2005・2008を使ってプログラムを作ったことのある人 必要な環境 Visual Basic 2005・2008またはVisual C# 2005・2008、Visual Studio 2005・2008でプログラムが作れる環境。 .NET Framework 2.0から追加されたクラスやメンバを使用しているので、.NET Framework 2.0がインストールされていることが必須条件です。なお、本プログラムはWindows Vista上で動作するVisual Studioを使用して作成し、動作確認を行っています。 サンプルプログラム実行時の注意事項 本稿の実行ファイル(バイナリファイル)を動かすには、zipファイルに同梱してある以下のファイルが必要になります。 C1.C1Excel.2.dll…C1Excel
お探しのページは一時的にアクセスできない状況にあるか、移動もしくは削除された可能性があります。 リンクが切れている場合は、こちらのお問い合わせフォームよりご連絡ください。
http://d.hatena.ne.jp/cofe_arabi/edit?date=20050819 (VB.NET 2005 Express Beta2/Excelへの参照設定は必要) Imports Excel Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows フォーム デザイナで生成されたコード " Public Sub New() MyBase.New() ' この呼び出しは Windows フォーム デザイナで必要です。 InitializeComponent() ' InitializeComponent() 呼び出しの後に初期化を追加します。 End Sub ' Form は dispose をオーバーライドしてコンポーネント一覧を消去します。 Protected Overload
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く