Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
「キー」と「値」がセットになっていて、「神奈川県」というキーで「横浜市」という値を検索できるような仕組みです。Dictionaryオブジェクトでは、こうした連想配列にデータ(キーと値のセット)を追加したり、検索したり、任意のキーがすでに存在しているかどうかを調べことなどができます。なお、連想配列では同じキーを登録できません。 Dictionaryオブジェクトを使って重複しないリストを作成するには、次のように考えます。 セルA2からセルA8まで順にデータを取得します 取得したデータが連想配列に登録されていなかったら登録します 取得したデータが連想配列に登録されていたら何もしません 流れはこんな感じです。さて登録するデータですが、連想配列では「キー」と「値」の二つが必要です。今回のケースでは「名前」データしかありません。「名前」を「キー」にするとして、「値」には何を登録したらいいのでしょう。
◆関数名:fncWriteCheck 指定したファイルが書込み可能な状態で開けるかチェックします。 書き込み状態で開ける場合、Trueの場合ファイルは開きっぱなしにします。 ファイルが開いているか確認する関数fncXlsOpenと併用します。 ◆引数: strBookPath(String型)・・・チェックするブックのパス strBookName(String型)・・・チェックするブック名 ◆戻り値: ファイルが未使用中ならTrue、ファイルが使用中ならFlase コード Public Function fncWriteCheck(strBookPath As String, strBookName As String) As Boolean fncWriteCheck = True '◆ファイルを読み取り専用で開いている場合はいったん閉じる If fncXlsOpen(strBookNa
2010年08月11日06:01 カテゴリvbaクラス vbaのクラスモジュールの使い方? 毎日暑いですね。 vbaで謎な物の中に、「クラスモジュール」というものがありますね。 msでは常識なのか、ヘルプの中にも特に説明がないですね。 時々、ネットで「標準モジュールとクラスモジュールの違いは?」 「クラスモジュールはどういう時に使いますか?」という書き込みを見かけます。 私も、vb.netでオブジェクト指向っぽいプログラムを作る機会があって、 そこで初めて理解したくらいで。 大きな違いは、標準モジュールはインスタンス化しなくても使えて、 クラスモジュールはインスタンス化しないと使えないってとこでしょうか。 使用する利点は色々ありますが、「ソースコードの分離が出来ること」です。 あと、“インスタンス化しないと使えない”ってことは、 裏を返すと“変数に、オブジェクトとしてコードを格納できる”と
ある程度しっかりしたシステムをマクロで作成するとき、シートを非表示にするケースがよくあります。それは作業用に一時的なシートを使うような場合です。何らかの複雑な計算したり、グラフ用にダミーのリストを作成したりするとき、その動作をユーザーに見せたくありません。そんなときは、作業用として新しいワークシートを挿入し、そのシートを非表示にしてしまうと便利です。 シートの表示はVisibleプロパティ シートの表示と非表示を切り替えるには、WorksheetオブジェクトのVisibleプロパティを操作します。VisibleプロパティにTrueを設定すると表示され、Falseで非表示になります。次のコードはSheet2を非表示にしてメッセージを表示した後で、Sheet2を再表示します。 Sub Sample06() Worksheets("Sheet2").Visible = False MsgBox
ご訪問いただいたお客様へのお知らせ Information for customers visiting this Web site from SpinNet アクセスいただいたWebサービスは提供を終了いたしました。 長年にわたり、多くの皆様にご利用いただきましたことを心よりお礼申し上げます。 SpinNetトップページへ The Web service you are trying to access has been terminated. We would like to thank all of you for your patronage over the years. Go to the SpinNet
これまで人の思考をコンピューター上に具現化する、機能的側面から プログラミング言語は体系化や解説がなされてきました。当ホーム ページではプログラミング言語の構造や文法そのものが、逆に人の 思考や概念にどのような影響を及ぼすかを中心に分析しております。
前回書いたユーザー定義型のコードについてもう少し詳しく説明します。 ' 科目のユーザー定義型 Public Type Kamoku Name As String '科目名 Score As Variant '点数 End Type と ' 科目の配列を作成します。 Dim arryKamoku() As Kamoku でしたね。 ユーザー定義型はオリジナルの変数の型となる。 Publicは他のモジュールでも使いたいので付けています。Typeステートメントがこれからユーザー定義型を作るよ。という意味になり、その後にオリジナルの名前「Kamoku」があります。Typeの終わりはEnd Typeとなります。 その後、NameとScoreという2つの変数を作成していますね。 これで、KamokuはNameとScoreの2つの変数を扱うことができます。当然ですが、この中にはいくつでも変数を作成でき、
VBAの「ユーザー定義型」変数は、Cの構造体と同様のものである。 しかし、入門書には実践的な使い方が書いていないので、まとめておく。 Private Type uHoge '型定義:Cのstructに同じ ID As Long name As String End Type Private Sub MyInt () Dim Hoge() As uHoge 'uHoge型変数の動的配列宣言 Const MAX = 2 ReDim Hoge(MAX) '配列の個数を再定義(2個) '内部変数の指定方法はHoge(n).IDとするが、以下のようにWithも使える。 With Hoge(0) .ID = 55 .name = "taro" End With With Hoge(1) .ID = 88 .name = "Bill" End With '初期の(0)の"55:taro"を表
ユーザー定義型は、C言語でいう構造体のような仕組みです。 一般的な変数には、1つの値しか格納できません。配列には複数の値を同時に格納できますが、それは同じ型の値です。名前(文字列型)と年齢(長整数型)のように、異なる型の値をセットにして格納するには、配列ではなくユーザー定義型が便利です。ユーザー定義型は、次のようにして使います。 Type ○○ 要素1 As 型 要素2 As 型 End Type Sub Sample() Dim 変数名 As ○○ 変数名.要素1 = 値 変数名.要素2 = 値 End Sub ユーザー定義型の定義は、宣言セクションでします。宣言セクションとは、モジュールの一番上に記述したプロシージャの、さらに上の部分です。変数の宣言を強制するオプションを設定したとき、モジュールに挿入されるOption Explicitや、APIの宣言やパブリック変数の宣言などをするの
このように名前が「佐藤」さんの住所は「東京都」で名前が「山田」さんの住所は「札幌市」です。このように1つの行に対して2つの項目があるものが2次元の配列となります。 このデータを配列に保存する場合には次のように2つの配列を用意する必要があります。 Dim clientName(3) As String Dim clientAddress(3) As String clientName(0) = "佐藤 一郎" clientAddress(0) = "東京都" clientName(1) = "山田 花子" clientAddress(1) = "札幌市" clientName(2) = "加藤 健一" clientAddress(2) = "名古屋市" clientName(3) = "中村 吾郎" clientAddress(3) = "東京都"
構文 Array(arglist) 引数arglistには、配列として格納するデータをカンマ(,)で区切って指定します。 解説 配列を格納したバリアント型を返します。 配列として宣言していないバリアント型変数に代入して、バリアント型変数を配列と同じように操作できます。 引数を指定しないと、長さ0の配列を返します。 サンプル1 次の例は、バリアント型変数aに配列を代入し、4番目のデータThuを表示します。 Sub Sample() Dim a As Variant a = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") MsgBox a(3) End Sub ※Tips 配列で使用されるインデックスの最小値は、Option Baseで指定します。
MS Office カテゴリ MS Office (103) 関連タグ Access (35) Excel (86) PowerPoint (8) Python (2) YouTube (6) 入門 (36) Web カテゴリ Web (85) 関連タグ facebook (4) jQuery (10) linux (3) Photoshop (18) PHP (24) tips (22) twitter (10) WordPress (76) YouTube (6) アプリ (29) イラスト (42) デザイン (15) ブログ (39) 入門 (36) 分析 (20) Adobe カテゴリ Adobe (28) 関連タグ facebook (4) Fresco (2) Illustrator (8) JavaScript (7) Photoshop (18) Premiere (3)
'アクティブなシートのセルB1~D3の範囲を全てクリア Sub ClearCell() Range(Cells(1,2),Cells(3,4)).Clear End Sub 'アクティブなシートのセルB1~D3の範囲の数式、文字列をクリア Sub ClearCell() Range("B1:D3").ClearContents End Sub 'アクティブなシートのセル全範囲をクリア Sub ClearCell() Cells.Clear End Sub 'Sheet1のセルB1~D3の範囲をクリア Sub ClearCell() Worksheets("Sheet1").Activate Worksheets("Sheet1").Range(Cells(1,2),Cells(3,4)).Clear End Sub 'Sheet1のセルB1~D3の範囲の書式をクリア Sub ClearCe
ExcelのワークシートをAccessのテーブルとしてインポートする際は、ワークシートの先頭から8行分に保存されているデータが事前にチェックされ、各列のAccessテーブル上でのフィールドのデータ型が決定されます。 そのため、数値や文字の両方を含んでいる列(Access上では「テキスト型」にすべきフィールド)であっても、ワークシートの前の方に数値データしか格納されていないと、Access上では「数値型」フィールドと定義され、文字データを含む行をインポートする際にデータ型変換のエラーが発生してしまいテーブルには取り込まれません。 CSVファイルのインポートでは各例をどのようなデータ型として取り込むかをユーザーが設定できますが、Excelのファイル(.xls等)の場合はそのような設定ができないため、何らかの工夫をする必要があります。 たとえば、Excel側で事前に先頭8行にあえてデータ型が混在
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く