>>950 Callを使わないなら括弧で括らない。
何かそんな話をこのスレでずっと前に言ってた様な・・・
まぁ
>>951 の通りでいいと思う
自分は引数が無いSubプロシージャを呼び出す時に 明示的にCallを書くことがある位だなあ。 識別子だけで浮いているのが気持ち悪いので。
迷ったらDouble
Single=計算スピードが速い、メモリ節約、有効桁数が少ない Double=計算が遅い、メモリ食う、有効桁数が多い(精度が高い) ちゃんと考えて使い分けろ
いきなり伸びてるが産業
959 :
デフォルトの名無しさん :2011/08/01(月) 19:41:56.46
わたしはむか〜しBASICという言語で、それこそ「マイコンBASICマガジン」に投稿するほど、BASICの達人でした。 その後プログラミングは全くやってませんが、VBAを始めました。 どの入門書・初心者向けの本を見ても、 「変数のスコープ」だとか、「サブルーチン」をバンバン使う書き方とか、モジュールの概念(標準モジュール・フォームモジュール・シートモジュールの使い分けなど)とか、 一番知りたい情報がないんです。 これらはどのように学べばいいですか? 昔BASICやってたので、プログラムとはどういうものかという知識はあります。 まだ大型書店には行ってませんが、もしそういう本があれば行ってみるつもりです。
>>959 今は本ではなくネットで勉強する時代に変わりました
本は物理的に大きさが限られているため、現代の複雑なプログラムをすべて説明するのは
場所が足りなくて不可能だからです
「VBA スコープ」などのキーワードで検索してください
>>959 時代が経過して、今では構造化言語、オブジェクト指向型言語、関数型言語とどんどん様変わりし、
貴方の時代のPGとは考え方も組み方もまるで変わっています。
その中でもVBAは構造化言語とオブジェクト指向言語の中間に位置する、
今の貴方の立場としては比較的覚え易い言語と言えますが、
今後の事を考えると最新のVBやC#などを最初から全て覚え直すつもりで勉強した方が、
周り道の様ですが結局速くいろんな言語に対応出来る様に思います。
特にC#などは、今までやっていたであろうBASICの知識と混合する事なく覚える事が出来るでしょう。
一つの世代が変わった言語でPGを組むと言うのは、それ程までに容易では無いと言えます。
でも「いつかはCを覚えたい」と思ってるなら先にやっといた方がいいよね 後回しにするといろいろ面倒 知識レベルならともかく、いざ実装しようとすると面倒臭くて死にそうになる
Dim x as String x = tes1 & "abc" & qr & "tes2" ってあったとして(tes1,tes2,は長さ不明の文字列)(qrは長さ不明の数字の文字列) xの中から"abc"の後ろの数字の部分を抜き取るにはどうしたらいいでしょうか 例えばxが goiwhabc123oajfa だったら123を返す とか fabc1512few だったら1512を返す こんな感じです
"tes2"じゃなくてtes2で変数でした
Val(Mid$(x, InStr(x, "abc") + 3)) 超不真面目にやるならこんな感じだな。
せいきひょうげん! せいきひょうげんを使う!
967 :
デフォルトの名無しさん :2011/08/02(火) 08:43:33.73
性器表現とは? 露出狂になるんですか?
つかそれqrそのものじゃないのか?
969 :
デフォルトの名無しさん :2011/08/02(火) 09:28:41.23
Quality of Rifeですか?
970 :
デフォルトの名無しさん :2011/08/02(火) 09:33:04.34
VBではRnd VBAではRand() どうにかならんか?
971 :
デフォルトの名無しさん :2011/08/02(火) 09:37:11.15
あれっ asc("○")ってVBではアスキーコード番号を教えてくれる関数だったと思ったが VBAでは全角を半角に変える関数になってないか?
972 :
デフォルトの名無しさん :2011/08/02(火) 09:48:42.84
おろどきました。 シート3つあれば、それぞれについてアクティブセルが記憶されてるんです 例えば3つの各シートで全く別のセル住所をアクティブにしておいて 下のマクロを実行するとよく分ります。 Sub てすと() Sheets(1).Activate ActiveCell = "うんこ" Sheets(2).Activate ActiveCell = "まんこ" Sheets(3).Activate ActiveCell = "ちんこ" End Sub
何がおどろきなのか判らん
VBAから他のソフトのボタンとか操作できる?
975 :
デフォルトの名無しさん :2011/08/02(火) 10:22:45.23
Excel 2003 , Win7 で、 ワークシート上に、スクロールバーを置いて、それにより、セルの値を増減させたいです。 しかし、うまくいきません。 ・スクロールバーを右clickして、そのプロパティを出します。 ・LinkedCell の値に、Sheet1!B10などと、表示したい目的地のセルを書き込みます。 ・しかし、プロパティの枠の中のLinkedCellの枠に「Sheet1!B10」と打ち込んで、 リターンをすると、そのプロパティの枠の中が消えてしまい、 真っ白になってしまいます。何度やっても書き込めません。 ・スライドバーやスピンボタン、どちらもできませんでした。 スライドバーやスピンボタンで、指定したセルの値を変化させる方法は、 上記では間違っているでしょうか? どうやってやれば実現するでしょうか? 宜しくお願いします。
976 :
デフォルトの名無しさん :2011/08/02(火) 10:57:39.30
>>974 できるけどSendMessageとかAPI使うしボタンのハンドル取得するまでが大変
UWSとか他アプリを操作するソフトをShellで起動した方が簡単
977 :
デフォルトの名無しさん :2011/08/02(火) 11:13:10.62
Form_InitializeとForm_Loadの違いとは?
979 :
デフォルトの名無しさん :2011/08/02(火) 13:28:48.97
>>979 VBAにはRandは無いと思うぞ
Randはワークシート関数
そしてVBAにもRndはあるんだが
981 :
979 :2011/08/02(火) 20:08:59.88
釣れた(ワラ
恥ずかしい勘違いをしてしまったことに気付いたときに 誤魔化しとしてつぶやく言葉・・・・・それは 釣れた(ワラ
983 :
979 :2011/08/02(火) 20:32:55.48
(爆)
(核爆)
985 :
979 :2011/08/02(火) 20:45:58.42
藁
986 :
デフォルトの名無しさん :2011/08/02(火) 21:20:07.88
A1:E50の中で一番下に要素がある行を返すのと一番右に要素がある列を返す方法を教えてください
>>986 1つもなかったら0を返す
Sub aaa()
r = 50
Do While r >= 1 And cat1(r) = 0
r = r - 1
Loop
c = 5
Do While c >= 1 And cat2(c) = 0
c = c - 1
Loop
Debug.Print r, c
End Sub
Function cat1(r)
If r >= 1 Then s = WorksheetFunction.CountA(Range(Cells(r, 1), Cells(r, 5)))
cat1 = s
End Function
Function cat2(c)
If c >= 1 Then s = WorksheetFunction.CountA(Range(Cells(1, c), Cells(50, c)))
cat2 = s
End Function
989 :
977 :2011/08/02(火) 21:52:00.99
>>987 I'm afraid I do not speak English, nor do I read it.
It would be really, truly, absolutely helpful, if you could provide me with some information regarding 'Form methods' in Japanese.
990 :
デフォルトの名無しさん :2011/08/02(火) 22:10:45.94
>>987 とても役立ちました
ありがとうございます!
"<"から">"まで(下のでいう<koko>,<kokomo>)を見つけ出してそれを改行コードのvbCrLfに置換したいのですがどうしたらいいでしょうか? "abc<koko>def<kokomo>ghi" 置換後は "abc" & vbCrLf & "def" & vbCrLf & "ghi" このようにしたいです <>内またその外の文字数は不明です お願いします
ユーザーフォームのラベルの文字の書式について ワークシートに"123"とあり、2だけ赤字 これをラベルに反映されるにはどうしたらよいでしょうか? forecolorではNullとなりエラーとなったので質問します。
994 :
デフォルトの名無しさん :2011/08/03(水) 00:02:15.55
一つのラベルじゃ無理 桁ごとにラベル用意するかピクチャボックススに書く
>>992 Sub AAA()
Dim A As String
A = "abc<koko>def<kokomo>ghi"
A = Replace(Replace(A, "<koko>", vbCrLf), "<kokomo>", vbCrLf)
MsgBox A
End Sub
For i = 1 To r For le = c To 5 For te = 5 To le - 1 If Cells(i, le).Value = Cells(i, te).Value _ Then Cells(i, le).Clear Next te Next le Next i rは要素がある最大行,cは要素がある最大列 これで重複を消そうとしたのですがうまくいきません どうしたらいいでしょうか
すみませんstep -1を付けたらうまくいきました forを逆からやるときってstepでマイナスつけないといけないんですね・・・
998 :
デフォルトの名無しさん :2011/08/03(水) 20:14:45.49
age
______ ___________ V _____ /::::::::::::::::::::::::::\ _ /::::::::::::::::::::::::::::::::::::::\ /  ̄  ̄ \ |:::::::::::::::::|_|_|_|_| /、 ヽ はぁ?黙ってろデブw |;;;;;;;;;;ノ \,, ,,/ ヽ |・ |―-、 | |::( 6 ー─◎─◎ ) q -´ 二 ヽ | |ノ (∵∴ ( o o)∴) ノ_ ー | | /| < ∵ 3 ∵> \. ̄` | / ::::::\ ヽ ノ\ O===== | :::::::::::::\_____ノ:::::::::::\ / |
うんこチンチン
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。