Giter VIP home page Giter VIP logo

xlsvba's Introduction

配列処理クラス : clArray.cls

  1. Convert the contents in Collection object into a two-dimensional array. / Collectionの中身を2次元配列(Array)に変換。cnvCollToArr

ファイル処理クラス : clFiles.cls

  1. Export some specified modules into the specified directory. / 指定されたモジュールを指定したディレクトリへエクスポートする。exportModules

  2. Get the full path of all Excel files under the specified directory / 指定したディレクトリ配下にある全Excelファイルのフルパス取得。 getAllXlsFilePathCol

  3. Copy some specified sheets and modules from one excel book into another. / 指定されたシート、モジュールを、新しいブックの中にコピーする。copySheetsAndModules

  4. Copy some specified modules from one excel book into another. / 指定されたモジュールを別のブックの中にコピーする。copyModules

  5. Copy some specified sheets from one excel book into another. / Excelファイル内の指定されたシートを別のExcelファイルコピーする。copySheets

  6. Copy some sheets with specified prefix characters from one book into another book. / ブック内の指定された接頭文字を持つシートを、別のブックの中にコピーする。copySheetsWithPrefix

シート処理クラス : clSheet.cls

  1. Convert all cells on a worksheet to values. / 指定したシートの全てのセルを「値」に変換。convAllCellsOnSheetToValues

  2. Store the specified area in Sheet into Array. Before calling this function, need to check whether the target sheet has existed or not. / Sheet内の指定した領域をArrayに格納する。呼び出し元の関数で、対象シートが存在するかどうかを確認しておく。getDataAsArray

  3. Create several sheets by specifying their names. If a sheet with the same name exists, delete its contents. / 名前を指定してSheetを作成。 同名のシートが存在した場合その中身を削除する。initSheet

  4. Create several sheets by specifying their names.If a sheet with the same name exists, add (#) to the end of the sheet name and count up the number. / 名前を指定してSheetを作成。 同名のシートが存在した場合、シート名末尾に(#)を付けてカウントアップ。newSheet

  5. Copy the specified sheet with a new name. If a sheet with the same name exists, add (#) to the end of the sheet name and count up the number. / 既存Sheetを、指定した名前のシートにコピー。同名のシートが存在した場合、シート名末尾に(#)を付けてカウントアップ。copySheet

  6. Check Module existence by specifying the name. / 名前を指定してModuleの有無をチェック。existModule

  7. Check Module existence by specifying the name. / 名前を指定してSheetの有無をチェック。existSheet

  8. Check Module existence by specifying the name with wild-card character. / 名前を指定(ワイルドカード可)してSheetの有無をチェック。existSheetWithWildCardCharacter

複数のシートをまたいだ処理クラス : clSheets.cls

  1. Hide the sheets with the specified prefix character. / 指定した接頭文字を持つシートを非表示にする。hideSheetsWithPrefix

  2. Show the sheets with the specified prefix character. / 指定した接頭文字を持つシートを表示する。showSheetsWithPrefix

  3. Convert all cells on some worksheets to values. / 指定した複数シートの全てのセルを「値」に変換。convAllCellsOnSheetsToValues

  4. Delete sheets except specified. 指定したシート以外のシートを削除する。deleteUnSpecifiedSheets

↓↓↓ 過去に作成した下記関数群を現在見直し中。

excel_vba

Using VBA to customize a Excel file so that it can be used as DB.
excelをDBとして利用できるように、vbaを使ってカスタマイズ

サンプルクラス : sampletool.cls

The sample is made by placing some controls on the Excel sheet and calling some common modules from them.
Excelのシート上にコントロールを配置して、それらから共通モジュールを呼び出す形でサンプルを作っています。


グローバル変数、定数設定モジュール : g_list.bas

Module to initialize some global variables and constants. This module is called when the Private Sub Workbook_Open () event in ThisWorkbook occurred.
グローバル変数、定数をイニシャライズするモジュールを作っています。このモジュールはThisWorkbook内のPrivate Sub Workbook_Open()イベントが発生した際に呼び出してます。

サンプルモジュール : sample.bas

Sample macro using a class. It's still rough, I will revise it properly when I need it.
クラスを使って、サンプルマクロを組んでみます。出来は荒いですが、ちゃんと作るときにちゃんとします。

  • パーツマスターシートを生成。createPartsMasterSheet

テスト用モジュール : verify.bas

Function test module. For example, a test function as verify_clSheet_getAllDataAsArray () will be created for testing a method getAllDataAsArray (***) As Boolean in the clSheet class.
これから作成する関数のテスト用モジュール。例えばclSheetクラスのgetAllDataAsArray(***) As Booleanというメソッドをテストする場合、verify_clSheet_getAllDataAsArray()というテスト用の関数を作っています。


ActiveXコントロール操作クラス : clAxCtrl.cls

  • ActiveXコントロールのcheckBoxを指定列に複数配置する。その際checkBoxの値と、配置先のセルの値とリンクさせた状態にする。putChkBoxesV(***) As Boolean

Array処理クラス : clDatArr.cls

  • 2次元配列(arrA)を、2次元配列(dat)に追加して返す。addArray(***) As Boolean
  • 2次元配列(arr)を、(newRow, newCol)の2次元配列に整形して返す。formatArray(***) As Boolean
  • 2次元配列(arr)の指定列に、1列挿入し値を埋める。処理後の2次元配列は1列増える。insertColIntoArray(***) As Boolean
  • 2次元配列(arr)の指定列を削除。処理後の2次元配列は1列減る。removeColFromArray(***) As Boolean
  • 2次元配列で、あるレコード(行)のすべての要素(列)がEmptlyの場合、削除する。removeEmptyRecord(***) As Boolean
  • 2次元配列の中に、同じレコード(行)が存在した場合、一つを残して他のレコードを削除する処理を追加する。removeDuplication(***) As Boolean
  • 2次元配列を1行ずつCollectionに入れなおす。cnvArrToColl(***) As Boolean
  • Collectionの中身を2次元配列に入れなおす。cnvCollToArr(***) As Boolean

ExcelのあるシートをDBとして扱うためのクラス : clDB.cls

  • DBシートを作成。無ければ作る、あれば何もしない。initDB() As Boolean
  • DBシートにCollectionを使って値を設定。setDataColl(***) As Boolean
  • DBシートにArrayを使って値を設定。setDataArr(***) As Boolean
  • DBシートから値をCollectionで取得。'getDataColl(***) As Boolean'
  • DBシートから値をArrayで取得。'getDataArr(***) As Boolean'

ディレクトリ処理クラス : clDir.cls

  • 指定ディレクトリにフォルダを作る。同名のフォルダが存在した場合、フォルダ名末尾に(#)を付けてカウントアップ。createFolder(***) As Boolean

ファイル処理クラス : clFiles.cls

  • 指定したディレクトリ配下にある全Excelファイルのフルパス取得。getAllXlsFilePathCol(***) As Boolean
  • フルパスのCollectionを受け、ファイル名とフォルダ名の2次元Arrayを返す。getFolderAndFileNameArr(***) As Boolean
  • フルパスのCollectionを受け、ファイル名とフォルダ名のCollectionを返す。getFolderAndFileNameColl(***) As Boolean
  • ファイルのフルパスを受け、ファイル名と保存されているフォルダ名を返す。getFolderAndFileName(***) As Boolean
  • ファイル名を受けてworkbookオブジェクトを取得。getWorkbookObj(***) As Boolean
  • 指定フォルダ内のファイルを、別のフォルダに新しいファイル名でコピーする。copyFiles(***) As Boolean

メール送信処理クラス : clMail.cls

  • アドレス、タイトル、本文を設定しメーラを起動する。(添付ファイルなし)openMailer(***) As Boolean
  • アドレス、タイトル、本文、添付ファイルを設定しoutlookを起動する。openOutlook(***) As Boolean

シートの操作クラス : clSheet.cls

  • 指定したRange範囲内にある図形を削除するdeleteObjectInRange(***) As Boolean
  • 名前を指定してSheetの有無をチェック。existSheet(***) As Boolean
  • 名前を指定してSheetを作成。同名のシートが存在した場合その中身を削除する。initSheet(***)
  • 名前を指定してSheetを作成。同名のシートが存在した場合、シート名末尾に(#)を付けてカウントアップ。newSheet(***)
  • Sheet内のデータ領域をArrayに格納する。getDataAsArray(***) As Boolean
  • 指定列の最後の行までのデータを取得しArrayに格納。getColDataAsArray(***) As Boolean
  • 指定列の最後の行までのデータを削除。deleteColData(***) As Boolean
  • 指定列の行数を取得。指定列の一番下(MAX_ROW)から検索して、値がある行をの数を返す。スタート行まで値が無い場合、スタート行を返す。getLastRow(***) As Boolean
  • 指定した文字が、指定列に存在した場合、その行を取得しArrayに格納。getRowDataVLookUp(***) As Boolean
  • VLOOKUP関数を用いて、別シートまたは別ファイルのデータを参照する。setDataByVlookup(***) As Boolean
  • VLOOKUP関数を用いて、別シートまたは別ファイルのデータを参照する(サイレントモード)。setDataByVlookupSilently(***) As Boolean
  • 列番号をアルファベットに変換する。colNo2Txt(***) As Boolean
  • 2つの列番号をRangeを表すアルファベットに変換する。colNo2Rng(***) As Boolean
  • 列αに設定されたIDと関連するIDが列βに存在した場合、列βの値を使って列αを検索し、レコードを取得する。例えば型番管理されている商品の後継型番をたどって、最新の商品型番を見つけるような時に利用getSuccessorID(***) As Boolean

シートをまたいだ処理を行うクラス : clSheets.cls

  • 複数シートの中のデータを結合して、Arrayに格納。combineSheets(***) As Boolean
  • 無視するシート名を引数で受け、検索対象Sheetの名前Collectionを作成。getTargetSheets(***) As Boolean
  • 指定Sheetの指定列にAutoFilterをかける。setFiltet(***)
  • VLOOKUP関数を用いて、複数シートを参照してデータを取得する。getDataFromSheetsByVlookup(***) As Boolean

フォルダ操作クラス : clFolder.cls

  • フルパスを指定してフォルダを作成。同名のフォルダが存在した場合、フォルダ名末尾に(#)を付けてカウントアップ。mkFolder(***) As Boolean

xlsvba's People

Contributors

okagen avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

xlsvba's Issues

違うWorkbook内のモジュールを呼び出して処理を行う仕組みで「集計」ボタンを作る

各Workbook上のあるシートに貼り付けられた「集計ボタン」があるとする。その「集計」ボタンを押すと、別のworkbook内に保存されているモジュールを呼び出し集計処理を行うという仕組みにする。
モジュールが保存されているWorkbookには以下のモジュールとクラスが存在するとする・・・
1.集計対象外のシート名のルールを定義
2.集計処理
3.集計結果のフォーマット定義

ActiveXコントロールとセルを連動させる関数をVBAで作成

例えばチェックボックス

  • 例えば、セルA1の値がTrueだった場合、セルB1Z1の色を赤に。A1の値がFalseだった場合、B1Z1の色を青にするような書式設定を行っていたとする。
  • その書式設定がさらに1~10行に行われていたとする。
  • そうした場合に、セルA1~A10状にチェックボックスを自動生成し、かつチェックボックスのValueがそれぞれのセルのTrueとFalseに連動するようなチェックボックスを自動生成するような関数の開発を行う。  

A1セル上のチェックボックスをチェックするとB1~Z1のセルの色が赤色になり、チェックをはずすとB1~Z1のセルの色が青くなるといったもの。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.