タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

algorithmとVBAに関するkenjiro_nのブックマーク (3)

  • [ExcelVBA] 構造体+コレクションで、プロパティを動的に指定して計算する方法を考える

    クラスモジュールを使って、構造体とコレクションを組み合わせることで、DBのレコードのような形のデータが扱えるという記事を前に書いたんですが、特定のプロパティを選んで平均値算出をスマートに書くには、という質問をいただきました。 背景 こちらの記事のコメントにいただいた質問です。 ExcelVBAでクラスモジュールを活用してCSVファイルをコレクションに格納する 冒頭の図のようなデータがあるとして、オブジェクト.平均値(プロパティ, 抽出条件)のように書けないか? とのことで。おもしろそうだなと思って考えてみました。 クラスを作成 まずはコレクションに構造体を持たせるためのクラス。前の記事と同じような感じです。オブジェクト名はデフォルトのClass1からListDetailに変更してください。 '### ListDetail / 詳細クラス ### Public Index As Long '

    [ExcelVBA] 構造体+コレクションで、プロパティを動的に指定して計算する方法を考える
  • シートを並べ替えるExcelマクロ:エクセルマクロ・Excel VBAの使い方/Sheets・Worksheet

    よく出る要望ではありますが、残念ながらExcelの標準機能にはないので、VBA(Visual Basic for Applications)でマクロを作りましょう。 Sub シートをシート名の昇順で並び替える() Dim s1 As Long Dim s2 As Long For s1 = 1 To Sheets.Count For s2 = 1 To Sheets.Count - 1 If Sheets(s2).Name > Sheets(s2 + 1).Name Then Sheets(s2).Move After:=Sheets(s2 + 1) End If Next s2 Next s1 End Sub 上記のSubプロシージャを、VBE(Visual Basic Editor)を起動して標準モジュールに貼り付け、シートを並び替えたいブックがアクティブな状態でSortSheetsマ

  • シートを並べ替える:Excel VBA|即効テクニック|Excel VBAを学ぶならmoug

    ツイート ブックに複数のシートが存在するとき、これらのシートをシート名の順に並べ替えるにはどうしたらいいでしょう。 2つの方法をご紹介します。 ■配列を使用する方法 1つ目は、すべてのシート名を配列に格納し、配列内のシート名を並べ替える方法です。 配列内の要素を並べ替えるにはいくつかのアルゴリズムがありますが、ここでは最も簡単な方法で行ってみましょう。 Sub Sample1() Dim i As Long, j As Long, cnt As Long Dim buf() As String, swap As String cnt = Worksheets.Count ReDim buf(cnt) 'ワークシート名を配列に入れる For i = 1 To cnt buf(i) = Worksheets(i).Name Next i '配列の要素をソートする For i = 1 To cn

  • 1