11/06/07 22:11:53.16
>>293
WithEventsでぐぐれ
295:問題マン
11/06/07 22:47:35.04
べろべろばー
>>287
IfでやるならInterior.ColorIndexを何度も参照しないように
いったん変数に入れたほうが無駄がないぜ!
>>293
新しくClass1を挿入
Public WithEvents mytx As MSForms.TextBox
Public Sub init(a)
Set mytx = a
End Sub
Private Sub mytx_Change()
処理
End Sub
グローバルにインスタンス作成
Dim myclass(10) As New Class1
以下を作動させる(名前違ったら適当に変えてね)
For a = 1 To 10
Call myclass(a).init(Sheet1.OLEObjects("TextBox" & a).Object)
Next
で試したら最初はうまくいったけどいじってたら効かなくなったぜ!
変数myclassを保持してる間だけ有効
テキストボックスごとに処理を変えるならMe.mytx.Nameを処理に渡して分岐させれ
296:デフォルトの名無しさん
11/06/07 22:51:16.71
>>295
やはりクラスモジュールを使用するのですか。
検索して勉強しても
いまいちクラスが理解できないんですよね。
297:デフォルトの名無しさん
11/06/08 00:51:32.59
.netならまだわかるけどVBAでのクラス構築がいまいちわからん
定義エラーでまくり
298:デフォルトの名無しさん
11/06/08 14:11:51.75
>>295
ヒントが出れば、答え探してきて、コピペ回答するくらいはできるんだな
299:デフォルトの名無しさん
11/06/08 16:41:04.83
今日から始めるんですけど、
ボタン押す→図出現→適当なセルに文字入力→図に反映
って難易度的にはどのぐらい?
300:デフォルトの名無しさん
11/06/08 18:51:41.24
中級
301:デフォルトの名無しさん
11/06/08 18:52:39.54
五段階の2
1は変数が理解できるレベル
302:デフォルトの名無しさん
11/06/08 19:51:41.90
段階少なくね?
5はどれくらいのレベルなのさ?
303:デフォルトの名無しさん
11/06/08 20:36:44.94
>>302
タッチタイピングできる
304:デフォルトの名無しさん
11/06/08 20:55:39.25
開発者より詳しい
305:デフォルトの名無しさん
11/06/08 22:32:33.14
このスレで他人の回答にいちいちケチを付けるのがレベル5
306:デフォルトの名無しさん
11/06/08 22:37:13.37
CSV出力をすると、書式が日付のセル(例:2011/06/08)が
"2011/06/08"のようにダブルクォーテーション付きとなってしまいます。
2011/06/08のようにダブルクォーテーション無しで出力するには
どうすればよいのでしょうか?
307:デフォルトの名無しさん
11/06/09 00:53:06.24
>>306
直接CSV形式でやる方法はない
VBAでコンマ区切りの文字列を自分で作ってテキストファイルに出力するしかない
308:デフォルトの名無しさん
11/06/09 01:16:45.19
VBAの入門書はひと通り読んで、
フォーム入力とか、抽出、転記はかけるようになってきた。
発展というか、入門書より、実用的な本でおすすめありますか?
経験上、やはり、ネット検索より、本のほうが理解しやすいみたいです。
309:問題マン
11/06/09 04:11:04.42
クラスでつっこみ所を用意したのにスルーされたぜ
>>280
これのマップ生成で使ってるぜ
URLリンク(www42.atwiki.jp)
>>296
エクセル2030ごろには同コントロール共用イベント→個別イベント
って流れになってるから大丈夫だぜ!
>>297
昔このスレの人がVBAのクラスは糞だから使わないほうがいいって言ってたぜ!
>>298
そうかwwwコピペに見えたかwwwww
>>299
ノンマクロでもけっこうなもん作れるから中級だぜ!
>>306
>>307だな
フォーマットを理解すればどんなファイルでもOPENステートメント使って自力で出力可能だぜ!
>>308
これに答えると宣伝乙っていわれるぜ!
Excel VBA アクションゲーム作成入門
310:デフォルトの名無しさん
11/06/09 17:53:05.76
セル内の数値秒の間、1秒ごとに繰り返すプログラムを作ろうとしているのですが実行時エラーが出てしまいます.
Public Function myFunc()
If 秒数セルが0 Then
Application.OnTime Now + TimeValue("00:00:01"), myFunc, False
Else
秒数セル -1
処理
→ Application.OnTime Now + TimeValue("00:00:01"), myFunc
End If
End Function
エラー発生個所は矢印のところです。
OS=windowsVista EXCEL=2007です。
311:デフォルトの名無しさん
11/06/09 17:59:50.02
事故解決しました
312:デフォルトの名無しさん
11/06/10 07:42:52.29
ホントだ。キチガイがいる
313:デフォルトの名無しさん
11/06/10 23:02:03.02
宜しくお願いします。
コードが長くて書けないのですが、EXCELのバグではないか?
という局面に直面しています。次の手順をVBAで踏むと
①シートAで複数のセルをセレクトコピーして、別のシートBへ貼り付けます。
②次に、シートBで複数のセルをセレクトコピーして、シートAへ貼り付けます。
①は問題ないのですが②の際、どういうわけか①でコピーされた内容
(シートAのセルデータ)が貼り付けられてしまうのです。
Application.CutCopyMode = False Copy も使用しています。
EXCE2000でです。宜しくお願いします。
314:デフォルトの名無しさん
11/06/10 23:05:22.31
1行ずつ実行していって動作を調べろ