Excel VBA 質問スレ Part19at TECH
Excel VBA 質問スレ Part19 - 暇つぶし2ch294:デフォルトの名無しさん
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行ずつ実行していって動作を調べろ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch