advanced help
per page, with , order by , clip by
Results of 0 - 1 of about 0 (0.000 sec.)
[[20020611234240]]
@digest: b780c25a1b27e677074fee24c57a8556
@id: 153
@mdate: 2003-04-29T06:42:23Z
@size: 3336
@type: text/plain
#keywords: 測器 (17779), rev1 (14536), 採取 (7675), 動] (6244), ー不 (4692), 回再 (4464), 計測 (4195), 個分 (3626), single (3524), 否判 (3296), ルc2 (3260), data1 (2958), モリ (2698), 定( (2168), タ- (2153), メモ (1965), down (1866), リソ (1848), 判定 (1565), リー (1433), 1200 (1389), (ダ (1119), イム (1073), 再計 (974), 手動 (939), enableevents (698), ダイ (665), ル] (628), ソフ (569), (ka (538), アル (480), デー (461)
『メモリー不足で表示できません』(ダイ)
計測器のデータ処理用パソコンで、上記エラーが出て困っています。 1200ほどのデータを自動入力して処理しており、マシンパワー的には、苦しそうです。 環境は、Pen120MHz、メモリー48MB、Win95、常駐ソフト無し、エクセルのみ使用 メモリーが足りないとは思えないのですが。リソースも50%程度です。 ---- 48MBでは厳しいと思いますが、計測器からデータを取り込むソフトには 何MB必要と書いてありますか?Excelのバージョンは? (kazu) ---- Excelのバージョンは97です。 データの取り込み方法は、ミツトヨのインプットツール(ハードウエア)と言う物を P/S2ポートに繋ぎ、エクセルのセルに直接データ-が入ってくる物です。 そのデータ-をマクロを組んで簡単な合否判定をしています。 1200個分のデータを残さなくては成らないので、1200個分のセルにマクロ関数を割 り当てています。 ---- セルに割り当てているのは、数式だと思いますが数が多いのが気になります。 どんな式ですか?式1200個を毎回再計算していると思います。 [ツール]メニュー→[オプション]→計算方法が[自動]になっていると思います、 [手動]にしておいて、データを採取したあと、[F9]キーで再計算する、 データを採取したあとで式を入れる方法はとれませんか? (kazu) ---- 判定NG品をリアルタイムで抜取を行っている為、手動計算は困難です。 セルに入れている数式は以下の通りです =IF(B26=0,"",判定(C25,C26)) また、マクロは Function 判定(Data1 As Single, Data2 As Single) As String Dim Rev1 As String Dim DA1 As Single Dim DA2 As Single Dim DA3 As Single Dim UP As Single Dim Down As Single UP = Range("K5") Down = Range("K7") If Data1 > UP Then DA1 = 2 ElseIf Data1 < Down Then DA1 = 3 Else DA1 = 0.6 End If If Data2 > UP Then DA2 = 2 ElseIf Data1 < Down Then DA2 = 3 Else DA2 = 0.6 End If DA3 = DA1 + DA2 If DA3 = 1.2 Then Rev1 = "OK" End If If DA3 > 1.2 Then Rev1 = "NG" End If 判定 = Rev1 End Function の通りです。 式を入れる前の状態では、ためした事はありません。 使用しているPCは、計測器用にまっさらにした物を使用しています。 (ダイ) ---- リアルタイムで抜き取りですか、順次にセルに値を入れてゆくような処理なら 何とかなるかもしれないですが、やはりメモリーを増やすしかないでしょうか。 (kazu) ---- ワークシートの内容を変更したイベント情報を使って下のような方法も あるにはあります。この方式に変更して、今セルに入れている式をすべて 削除します。 下の式はVBAProjectの下にあるSheet1(Sheet1)のところをダブルクリックして 作ります。 (kazu) Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False r = Target.Row c = Target.Column If r = 25 Then If c = 3 Then ' セルC25が変化したらセルC25とC26で判定する例 ans = 判定(Cells(r, c), Cells(r + 1, c)) MsgBox ans End If End If Application.EnableEvents = True End Sub ---- とりあえず、ある一定区間で手動により、メモリーのデフラグを行う様にしたところ、 メモリー不足は出ない様です。 Excelのシート1つ起動させるのに48MBでも足りないとはオドロキです。 上記マクロも、ぜひ試してみたいと思います。 どうも有難うございました。 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200206/20020611234240.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97024 documents and 607976 words.

訪問者:カウンタValid HTML 4.01 Transitional