Excelとexcelに関するmintsackのブックマーク (136)

  • ListView プロパティ一覧 - Excel VBA他サンプル等

    Excel(エクセル)VBAの関数、メソッド、ステートメント、プロパティの使用例やエラー発生条件などのサンプル・説明のまとめと定数やプロパティのまとめです。入門,初心者,初級レベルから始めています。

  • 【VBA入門】ListViewコントロールでデータ一覧を操作する方法とは | 侍エンジニアブログ

    皆さんは、VBAでListViewコントロールを使ったことがありますか? データ一覧を操作する処理を作りたい場合、ListViewコントロールの使い方を覚えておくと便利です。 そこで今回は、 ・ListViewコントロールとは といった基礎的なことから、 ・ListViewコントロールの使い方 ・ListViewコントロールを使ったサンプルコード ・合わせて覚えると便利なファイル・フォルダ削除方法とは といった応用的な方法まで、徹底的に解説します! ListViewコントロールとは はじめに、ListViewコントロールについて解説します。 ListViewコントロールは、Excelの画面を作るときに使うユーザーフォームのコントロールの一つです。 ListViewコントロールを使うと、次のように一覧形式のデータを使った処理を作ることができます。 Excelは一覧データを使うことが多いので、

    【VBA入門】ListViewコントロールでデータ一覧を操作する方法とは | 侍エンジニアブログ
  • VBA クラスモジュールでフィールド数の多いデータを扱う - t-hom’s diary

    最近読者になったブログにこんなお悩みが。 80以上の要素を持つ400~500件のデータをどう扱おうか悩み中。Powerpoint VBAに触れてみて - chemiphys’s blog 自分ならどうするってのを考えてみたので公開。 やはり人のブログを読むと刺激されて執筆が捗る。 さて今回はサンプルとしておなじみの「なんちゃって個人情報」を使う。 ※ダミーデータだが読者に偶然同姓同名がいても気が悪いと思うのでちっちゃく表示。 さて、フィールド数が多い場合、確かにプロパティの準備が面倒くさい。たとえパブリック変数で済ませるにしても80フィールド(つまり80列)となるとさすがにやりすぎな感じ。※今回のデータはサンプルなので14列。 そこで、多数のフィールドの中でも、比較や検索などでよく利用しそうなものだけプロパティを用意し、あとは配列で済ませてしまうということを考えた。 ためしに名前と年齢だけ

    VBA クラスモジュールでフィールド数の多いデータを扱う - t-hom’s diary
  • VBA 高速化テクニック ~ 配列とセルの相互転記 - t-hom’s diary

    VBAでセルにデータを書き込む際に、1セルずつ処理すると結構時間がかかる。 以下のマクロは1000行、100列の範囲に行×列の計算結果を入力するもので、実行するとかかった時間が表示される。 Sub セルに直接書き込み() '開始時間をtに格納 Dim t As Double: t = Timer() '自動更新、自動計算をOFF Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Dim i As Long, j As Long For i = 1 To 1000 For j = 1 To 100 ActiveSheet.Cells(i, j) = i * j Next j, i '自動更新、自動計算をON Application.Calculation = xlCalculati

    VBA 高速化テクニック ~ 配列とセルの相互転記 - t-hom’s diary
  • セル範囲⇔配列(マクロVBA高速化必須テクニック)|VBA入門

    公開日:2013年5月以前 最終更新日:2024-04-10 第114回.セル範囲⇔配列(マクロVBA高速化必須テクニック) セル範囲をVariant型変数に入れる事で、配列を作成することができます。 また、配列をセル範囲にまとめて出力する事も出来ます。

    セル範囲⇔配列(マクロVBA高速化必須テクニック)|VBA入門
  • 【エクセルVBAでAccess連携】データベースに特定条件のデータが存在するかどうかを判定する

    エクセルVBAでAccessデータベースに複数のレコードを追加する方法についてお伝えしました。 SQLのINSERT文よりも、ADODBレコードセットオブジェクトのAddNewメソッド&Updateメソッドを使うほうが高速だということがわかりました。 さて、実務上はデータベースにレコードを蓄積する際に、誤って重複するレコードを追加してしまうということが起こり得るかも知れません。 そういう場合は、既にAccessデータベースに該当のデータが存在していないか確認をしてからの追加をするという仕組みがあると安心ですよね。 ということで、今回はエクセルVBAでAccessデータベースに特定のデータが存在するかどうかを判定するプログラムを作ってみたいと思います。 どうぞよろしくお願いいたします! サンプルプログラム 今回サンプルとするプログラムを紹介します。前回のプログラムを少し改良しました。 こちら

    【エクセルVBAでAccess連携】データベースに特定条件のデータが存在するかどうかを判定する
  • エクセルVBAでAccessデータベースの複数のレコードをまとめて上書き更新する方法 | 隣IT

    です。今回は大量のレコードを更新したいので9,000行のレコードを用意しました。 データベースの大量のレコードをまとめてエクセルに呼び出す では、まずこのデータベースのレコード全てをエクセルシートに呼び出してみましょう。 呼び出す先のエクセルシートはこちらの「Sheet3」です。 プログラムはこちらですね。 Sub fetchRecords() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Sheet3") Dim strFileName As String strFileName = "test4.accdb" Dim adoCn As Object 'ADOコネクションオブジェクト Set adoCn = CreateObject("ADODB.Connection") 'ADOコネクションオブジェクトを作成 adoCn.O

    エクセルVBAでAccessデータベースの複数のレコードをまとめて上書き更新する方法 | 隣IT
  • ExcelVBA入門~実用まで!参考になるサイト10選

    ExcelVBAを学ぶとどんなメリットがある? ExcelVBAのメリットを一言でいえば、「煩雑で面倒な事務作業を自動化できる」です。 たとえば毎日、100個のExcelファイルにある、1000行のデータを、整形して分析する必要があるとします。 ①100個のファイルをひとつひとつ開いて ②1000行のデータを所定の場所にコピーして ③計算式を入れて ④綺麗に表の形を整える ⑤しかもすべてミスのないように Excelを触ったことがある人でなくても、いかにも面倒で神経を使いそうな作業か、ご想像いただけるのではないでしょうか。 そこで、ExcelVBAの出番です。この一連の作業を自動化できるようになれば、実行時間はかかるかもしれませんが、作業量が減り、ミスも少なくなります。 作業の効率化、時間の捻出、ヒューマンエラーの軽減に、ExcelVBAは役に立つことでしょう。 それではExcelVBAを勉

    ExcelVBA入門~実用まで!参考になるサイト10選
  • Excel VBAからSQLite3のデータベースを触ってみたところ、それなりにハマったのでメモ。 – panda大学習帳

    はじめに サイトの管理人たるpandaは今までExcel VBAを使って格的なマクロを書いたことがありません(※この記事を最初に書いた時点(2018年8月)の情報です)。 そんな折、勤務先ではかなり偉い人だという噂の嫁様が、 「(嫁様の)上司がこれまで管理していた案件情報の管理を引き継ぐことになったのだが、現状の管理方法があまりシステマティックなやり方ではなく、そのまま引き継ぐと夜家に帰れなくなり、『働き方改革』とかっていうレベルじゃなくなるので、とにかく作業効率を上げたい。(意訳)」 という長い長い前置きがあった上で、 すでにシステムの担当者とは話をしたものの、「開発にはAccessやMySQLなどのデータベースアプリケーションが必要そうである。また開発には相当の日数を要する見込みである。」と言われたこと。 入力はできるだけ効率的にやりたいので、ExcelまたはExcel VBAで開

  • Office TANAKA - Excel VBA Tips[相対参照と絶対参照を変換する]

    セルに「=SUM(A1:A3)」のような数式が入力されていたとします。この「A1:A3」を「$A$1:$A$3」に変換するにはどうしたらいいでしょう。セルに入力されている数式はFormulaプロパティで取得できます。文字列として取得して、先頭から1文字ずつチェックして・・・う~む、想像しただけでも無理がありそうです。「=SUM(A1:A3)」のような単純なアドレスなら力わざでも何とかなりますが、では「=VLOOKUP(AA1,DATA1,2,FALSE)」でしたらどうでしょう。ちなみに、"DATA1"はセル範囲につけた名前です。 VBAには、数式で使用しているセル参照を変換する機能が用意されています。ApplicationオブジェクトのConvertFormulaメソッドです。ConvertFormulaメソッドは、次の2種類の変換ができます。 A1参照形式とR1C1参照形式の変換 相対参

  • Dictionaryを利用する:Excel VBA入門

    Dictionaryオブジェクトを利用する方法を書いていますが、理解不足で間違った説明をしているかもしれません。 Dictionaryオブジェクトはデータ キーと組みとなる項目を格納するオブジェクト。 項目は重複しないキーで関連付けられる。キーは各項目を取得するのに使用され、通常、整数型か文字列型。 Dictionaryオブジェクトを作成する   topへ 下表の品名と単価をmyDicに格納して、D列の品名に応じた単価をE列に返します。 なお、この例ではA列の品名は重複していないデータです。 CreateObject関数で、Dictionaryオブジェクト[myDic]を生成します。 Addメソッド[object.Add key, item] でKey[品名(A2)],Item[単価(B2)]を順次格納します。 Itemプロパティ【object.Item(key)[ = newitem]】

  • 【VBA入門】Dictionaryオブジェクト(連想配列)の使い方 | 侍エンジニアブログ

    それではDictionaryオブジェクトのプロパティやメソッドの使い方についてサンプルコードで確認していきましょう! 宣言、初期化、追加、参照する方法 Dictionaryオブジェクトを宣言し使用するためには、CreateObject関数を使ってオブジェクト型の変数に格納する必要があります。 Dim 連想配列名 As Object Set 連想配列名 = CreateObject(“Scripting.Dictionary”) なお、オブジェクト型の変数に格納するにはSetステートメントが必要です。 Dictionaryオブジェクトを初期化、および要素を追加するにはAddメソッドを使用します。 サンプルコードで確認しましょう。 Sub macro1() 'Dictionaryオブジェクトの宣言 Dim myDic As Object Set myDic = CreateObject("Sc

    【VBA入門】Dictionaryオブジェクト(連想配列)の使い方 | 侍エンジニアブログ
  • Excelをユーザーフォームで編集して、データベース管理を行う方法! - Excel 業務システム

    エクセル入力フォームの作り方 エクセルの画面が業務システムの入力画面になるなら、入力画面は業務担当者が好きなように作れると思うんですけど、なぜだれもそんな方法を使わないのでしょうか? とにかく自分で入力フォーム画面をエクセルの開発タブで作成できるようにしました。 シートにコマンドボタンを付けて、入力したデータはAccessのデータベースに保存します。このような仕組みでエクセルを入力フォームとして利用するデータベースシステムを作成しました。 エクセル入力フォームの作り方 項目名を決めてください フォームを表示します 自由に入力フォームを作成するためのテンプレート「ユーザーフォーム設計」を公開しました。下記からダウンロードしてください。 フォームをデザインするには、[開発]タブを表示する。 Excel 2007 の場合 Excel 2010 / 2013 の場合 フォームをデザインする 自由に

    Excelをユーザーフォームで編集して、データベース管理を行う方法! - Excel 業務システム
  • エクセルでDBの入力フォームを作る - エクセルのマクロを使って会社のヒーローになろう!!

    昨日、作った動画です。 DBを操作するマクロを何回かにわたって撮っていきます。 ぶっつけ番で作っています。 後日、もう少し詳しい記事を書くかもしれません。 また、この動画の続編も作っていきます。 にほんブログ村 にほんブログ村 人気ブログランキング

  • なぜエクセルとAccessデータベースを連携するのが良いのか、またその際の注意点 | 隣IT

    みなさん、こんにちは! タカハシ(@ntakahashi0505)です。 多くのビジネスの現場ではエクセルをデータベースソフト代わりとして活用をしているケースが多いと思いますが、残念ながらエクセルはデータベースソフトではありません。 データ量の増加とともに、運用上のリスクが高まっていきます。 そこで、データベースの移行先を検討することになりますが、その第一候補として挙がるのは「Microsoft Access」である場合が多いでしょう。 さて、そんなニーズにお応えする形で、記事から何回かにわけて、エクセルVBAでエクセルからAccessデータベースを操作する方法についてお伝えしていきます。 初回はその序章として、なぜエクセルとAccessを連携するのが良いのか、またその際の注意点についてお伝えしたいと思います。 どうぞよろしくお願いします! エクセルをデータベース代わりとして使い続けるリ

    なぜエクセルとAccessデータベースを連携するのが良いのか、またその際の注意点 | 隣IT
  • ExcelからSQLiteを使う方法 | Gabekore Garage

    手っ取り早く結論教えろ! 能書きはイラネーーー!!! さっさと教えろ!!! というセッカチさんは、このファイル↓をダウンロードしてね >> ExcelToSQLite.zip ※マクロが入っています。テストはしていないので、動かす場合は各自の自己責任で動かしてください。何か問題が発生しても作者は一切責任を負いません。 ダウンロードしたら… 解凍しやがれっ! SQLiteForExcelをダウンロードしやがれっ! SQLiteForExcelを解凍しやがれっ! SQLiteForExcelからSQLite3_StdCall.dllとsqlite3.dllをコピりやがれっ! SQLite3_StdCall.dllとsqlite3.dllをExcelToSQLite.xlsmと同じ場所に置きやがれっ! ExcelToSQLite.xlsmを起動しやがれっ! 動かしやがれっ! VBAのソースコード

    ExcelからSQLiteを使う方法 | Gabekore Garage
  • 【保存版】初心者がエクセルVBAを実務で使えるようになるための完全マニュアル | 隣IT

    みなさん、こんにちは! タカハシ(@ntakahashi0505)です。 エクセルVBAをマスターして活用すれば間違いなくお仕事効率化できます。 Microsoft Officeはたいがいのお仕事Windowsマシンには入っていると思いますし、エクセルがある程度使える方ならば間違いなく誰でも習得することができます。 というお話なのですが、習得するには段階が必要で、少し時間をかけて訓練していく必要はあります。 このページは【これを見れば初心者がエクセルVBAをマスターして実務で使えるようになる】まとめ記事です。 上から順にマスター頂いても良いですし、目的別に見出しをつけていますので、知りたいところだけチョイスしても良いと思います。 皆さんが時間をかけながらも、エクセルVBAを身に着けるまでのお供としてマニュアル的にご活用頂ければと思います。 以下、キーワード別リファレンスページも合わせてご

    【保存版】初心者がエクセルVBAを実務で使えるようになるための完全マニュアル | 隣IT
  • エクセルVBAでテーブル上の請求データを新規ブックに転記するマクロの作り方 | 隣IT

    テーブルを走査して取引先ごとのブックを作るところまでマクロを作成しました。 今回は、その続きですね。 作成したブックのひな形テーブルに追加した新規データ行に請求データを転記する処理を作成していきます。 エクセルVBAでテーブル上の請求データを新規ブックに転記するマクロの作り方、行ってみましょう! 前回のおさらい まずは、これまでのおさらいから進めていきます。 「請求データ.xlsm」ブックには、「請求データ」および「取引先マスタ」という2つのテーブルから構成されている「データ」シート(オブジェクト名は「wsData」)と 取引先ごとの請求書のひな形となる「ひな形」シート(オブジェクト名は「wsTemplate」)で構成されています。 それで、前回作成したマクロはコチラです。 Sub 請求書作成() Dim tbData As ListObject: Set tbData = wsData.

    エクセルVBAでテーブル上の請求データを新規ブックに転記するマクロの作り方 | 隣IT
  • ExcelとVBAの入門解説|エクセルの神髄

    サイト全体の更新情報・お知らせ 2022/10/24 LAMBDA関数と6つのヘルパー関数の解説を追加しました。 さらに、配列を便利に扱える関数等も多数追加されましたので、これらの関数の解説も追加しています。 LAMBDA以降に追加された関数 , LAMBDA以降の新関数の問題集 2022/09/26 数式を入力したセルから結果があふれて隣接したセルにも出力される新機能のスピル。 スピルの基礎から応用までのスピル問題集を追加しました。 2020/10/20 新シリーズ!ツイッター連動企画「VBA100ノック」を開始しました。 ツイッターで1日1出題し翌日解答VBAを出します。 2021/03/03に最後の100目を出しました。 2020/09/06 新シリーズ「Python入門:プログラミング事始め」を開始しました。 人気のプログラミング言語Pythonを初心者向けに基礎から解説。

    ExcelとVBAの入門解説|エクセルの神髄
  • 【エクセルVBA】入力規則のドロップダウンリストを複数連動させる方法 | 隣IT

    例えば、B2セルのドロップダウンリストから「いちご」を選択したら、G列に「いちご」を持つH列の「佐賀」「福岡」「栃木」という文字列をC2セルのドロップダウンリストに表示させる、という場合です。 文字で見てみるとちょっと難しそうに思えてしまうかもしれませんが、やることをステップに分けて考えればそこまで難しくありません。 下記4ステップでコードを作ってみましょう。 Worksheet.Changeイベントで、B2セルのドロップダウンリストが選択されたことをキャッチ B2セルで選択された文字列とマッチする値を持っているセルをG列から検索してG列と同じ行のH列の値をJ列に書き出し J列の検索結果を書き出した範囲を、名前付き範囲として定義 C2セルのドロップダウンリストの値に、J列の名前付き範囲をセット Worksheet.Changeイベントでドロップダウンリストの変更をキャッチする さて、B2セ

    【エクセルVBA】入力規則のドロップダウンリストを複数連動させる方法 | 隣IT