社内システムの自作なら、すず工房へ!!
エクセル仕事術などでIT経営を支援します
  • Home
  • エクセル仕事術
  • クラウド生産管理
  • サービス案内
  • つぶやきました
  • お問合せ
  • すず工房
  • 名刺

ワークシートにデータをセットする

更新日 2013年1月16日

2010年10月27日

Excelでは、配列をセル範囲に一括セットしたり、その逆にセル範囲のデータを一括して配列に取り込んだりできます。

ワークシートにデータをセットするとき、セルに直接入力していく方法と配列に予めセットしてから配列をセル範囲にセットする方法を比較する。

テストプログラムは下記の通りです。

VBEの標準モジュールに貼りつけて実行してみてください。

Public Sub test1()

Public Sub test1()
    Dim rr As Long
    Dim cc As Long
    Dim idx As Long
    Dim aryRows As Variant
    Dim tm As Variant
    Dim aryRange As Variant
    
    'セル行数の配列を作成
    aryRows = Array(1000, 5000, 10000, 30000, 60000)
    'ワークシート「test1」に出力します
    With Worksheets("test1")
    
        'セルに直接出力
        'すべてのセル内容をクリア
        .Cells.ClearContents
        'イミディエイトエリアに出力します
        Debug.Print "セル直接"
        For idx = 0 To UBound(aryRows)
            '午前0時から現在までの秒数を取得
            tm = Timer
            
            'セルに直接数値を出力します
            For rr = 1 To aryRows(idx)
                .Cells(rr, 1).Value = rr
            Next rr
            
            '処理時間をイミディエイトエリアに出力します
            Debug.Print aryRows(idx) & "行", Timer - tm & "(秒)"
        Next idx
        
        '配列にデータをセットし、その配列をシートに出力
        .Cells.ClearContents
        Debug.Print "配列経由"
        For idx = 0 To UBound(aryRows)
            tm = Timer
            
            'データを格納する配列を準備
            'セル範囲に出力するので二次元配列が必要
            '今回は、aryRows()行,1列
            ReDim aryRange(0 To aryRows(idx) - 1, 0 To 0)
            '配列に数値を格納します
            For rr = 1 To aryRows(idx)
                aryRange(rr - 1, 0) = rr
            Next rr
            '配列をセル範囲に出力します
            .Range(.Cells(1, 1), .Cells(aryRows(idx), 1)) = aryRange
            
            '処理時間を出力します
            Debug.Print aryRows(idx) & "行", Timer - tm & "(秒)"
        Next idx
        
    End With
    
End Sub

実行結果は下記の通り。ただし、PCの性能により絶対値は変わってくると思いますので、両者の差のみに注目してください。


これを見ると明らかなように、いったん配列にデータをセットしてから、一括してシートに入力する方が遥かに早いようです。
特にデータ数が多くなるとその差は顕著になってきます。
  • 仕事に生かすExcel
  • マクロ・VBA
    • Excel2013のSDIへの対応
    • WEBからデータをVBAで取込む
    • 選択したセル範囲を取出すには
    • 消費税率を読込むDLL
    • インターネット上のサイトのデータを読み込む
    • 右ボタンでのMouseDownイベントには要注意
    • CSVファイルを読みこむ(Excel)
    • テキストファイル読込速度比較
    • 進行表示の3つの方法
    • IsDate関数はおかしい‥
    • 別のワークブックのデータを読み込む
    • 2 つの指定した日付の時間間隔と満年齢
    • ワークシートのセルに特定のデータを入力する
    • CSVファイルからデータを取り出す
    • ワークシートからデータを取得する
    • ワークシートにデータをセットする
    • 特定のセル範囲からデータを探す方法を比較する
  • Excelの操作

コンタクト

メール
メール
FaceBook
FaceBook

つぶやきました

見える生産管理2022

2022年 10月 31日 月

久しぶりの投稿になってしまいましたが、「見える生産管理2022」を試用できるようになりました。「クラウド生産管理」メニュからご覧ください。

0 コメント

Webデータベース利用の生産管理

2019年 7月 22日 月

いままでExcel(R)を活用した生産管理システムを構築したり構築支援したりしてきましたが、もっと簡単に生産管理を開始できないかと考え、Webに登場してきたデータベースを利用して生産管理できるシステムを考えました。

 

続きを読む 0 コメント

iPadのSIM

2018年 11月 16日 金

iPad Pro 12.9を外出時の仕事用に使っていたが、自宅のMACにリモートアクセスするのがベストに近いかもと気づき、4G回線経由だがやってみた。

しかしこれがかなり遅い。SIMは前の機種で使ってたイオンモバイルのやつ。これが原因かもと思い、一番早いと噂のUQ  Mobileに変えてみた。体感的にはちょっと早いかなという感じ。これからじっくり検証していこうと思う。

 

インターネット接続の設定でつまづいたので以下に備忘録として残しておく。

 

 

続きを読む
プライバシーポリシー | サイトマップ
Copyright © 2002- すず工房. All Rights Reserved.
ログアウト | 編集
  • Home
  • エクセル仕事術
    • 仕事に生かすExcel
      • Excelでできること
      • ExcelからSQLiteを使う理由
    • マクロ・VBA
      • Excel2013のSDIへの対応
      • WEBからデータをVBAで取込む
      • 選択したセル範囲を取出すには
      • 消費税率を読込むDLL
      • インターネット上のサイトのデータを読み込む
      • 右ボタンでのMouseDownイベントには要注意
      • CSVファイルを読みこむ(Excel)
      • テキストファイル読込速度比較
      • 進行表示の3つの方法
      • IsDate関数はおかしい‥
      • 別のワークブックのデータを読み込む
      • 2 つの指定した日付の時間間隔と満年齢
      • ワークシートのセルに特定のデータを入力する
      • CSVファイルからデータを取り出す
      • ワークシートからデータを取得する
      • ワークシートにデータをセットする
      • 特定のセル範囲からデータを探す方法を比較する
    • Excelの操作
      • ふりがなをつける
      • 行・列を固定してスクロール
      • 他のシートのデータを表示する-カメラ機能
      • 文章を指定範囲に収まるように整形する
  • クラウド生産管理
    • 見える生産管理2022
    • 見える生産管理K(簡易版)
    • 試用申込み
  • サービス案内
    • IT経営
  • つぶやきました
    • MAC
    • IT
    • その他
    • 年月別
      • 2022/10
      • 2019/07
      • 2016/07
      • 2016/04
      • 2015/11
      • 2015/10
      • 2015/08
      • 2015/07
      • 2015/06
      • 2015/03
      • 2015/02
      • 2014/12
      • 2014/03
      • 2013/09
      • 2012/11
      • 2012/09
      • 2010/09
      • 2010/08
      • 2010/07
      • 2010/06
      • 2010/03
      • 2010/02
      • 2009/05
      • 2009/04
  • お問合せ
  • すず工房
    • 企業理念
    • 主な資格
    • 実績
  • 名刺
  • トップへ戻る