[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 12/14 12:55 / Filesize : 253 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA質問スレ Part5



1 名前:デフォルトの名無しさん [2007/12/12(水) 17:27:44 ]
ExcelのVBAに関する質問スレです

質問前に 【 >>2-3 】 あたりを良く読むこと

前スレ
pc11.2ch.net/test/read.cgi/tech/1189814602/

31 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 07:52:37 ]
>>30

>>27
> dに60個のデータって、61個じゃないのか?
確かにそのとおりです。

> それにDataもdも整数なのになんでVariant型?
二次元配列を使っているので。配列はVariant型って考えは間違っていますか?

> それはおいとくとして、ループを回せばいいだろ
> f = Worksheetfunction.Frequency(d,kukan)
> For i = LBound(Data,2) To UBound(Data,2)
> Data(1,i) = f(i + 1,1)
> Next
Frequencyの答えは一つの数字ではなく一次元配列でかえってくるので、それを二次元配列Dataに入れたいのです。


32 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 07:57:53 ]
>>31
>二次元配列を使っているので。配列はVariant型って考えは間違っていますか?
間違ってる。整数なら普通IntegerかLong

>Frequencyの答えは一つの数字ではなく一次元配列でかえってくるので
Frequencyの戻り値は1ベースの2次元配列だろ?


33 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 08:09:57 ]
補足しとくが
Dim Data() As Long
みたいに宣言するんだからな。

34 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 08:20:37 ]
もしかしてDataとかdにはセル範囲の値を一括して代入してるのか?
だったらVariantでいい。ただRedimは不要。

35 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 08:50:14 ]
>>34

> もしかしてDataとかdにはセル範囲の値を一括して代入してるのか?
> だったらVariantでいい。ただRedimは不要。
逆です。Dataの値を後でセル範囲に一括して代入します。
Redimは不要なのですか?行や列の数を指定しなくてもいいのですか。

36 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 08:54:53 ]
>>32
> >Frequencyの答えは一つの数字ではなく一次元配列でかえってくるので
> Frequencyの戻り値は1ベースの2次元配列だろ?えっ!?区間と度数の二次元配列ですか?調べたつもりが。。。
ということはfをあるセル範囲(2×n)に代入すればよいということですね。


37 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 09:28:16 ]
>>36
>Redimは不要なのですか?行や列の数を指定しなくてもいいのですか。
Variant型の変数に代入する場合不要ということ。
d = Range("A1:E1").Value
みたいなときのことね。

>区間と度数の二次元配列ですか?
度数だけの2次元配列。

>ということはfをあるセル範囲(2×n)に代入すればよいということですね。
2×nじゃなくて1×n
縦じゃなくて横なならTransposeしないと出来ない。
縦1列ならそのまま可


38 名前:デフォルトの名無しさん [2007/12/14(金) 09:58:09 ]
vbaのreplace関数って、指定の文字列がない時に何か
値を返すことって出来ます?

置換前の文章と照合するしかにあ?

39 名前:37 mailto:sage [2007/12/14(金) 10:29:12 ]
補足しとくがdとかkukanがセル範囲から取り込んだものなら、そんな配列は必要ないからな。
仮にデータがA1:A61にあり、区間がB1:B20なら
f = Worksheetfunction.Frequency(Range("A1:A61"),Range("B1:B20"))
でいい。引数を変数にするならRange型だ。
戻り値は区間より一つ多い11x1,の2次元配列になってる。
一つ多いのは区間の最後のデータより大きいもののカウント用




40 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 10:33:22 ]
>>38
置換前の文字列と照合するか、先にInStrで調べてからでもいいんじゃない?

41 名前:39 mailto:sage [2007/12/14(金) 10:35:05 ]
マチガイ
戻り値は区間より一つ多い21x1の2次元配列な

42 名前:デフォルトの名無しさん [2007/12/14(金) 10:59:42 ]
replaceだけ、頭文字が大文字にならないのは仕様ですかw

43 名前:デフォルトの名無しさん [2007/12/14(金) 11:10:28 ]
>>40
あ、そうか

44 名前:デフォルトの名無しさん [2007/12/14(金) 16:16:50 ]
aaapapaaaaaaapaaaap という文があったとして、
これをp毎に分割するにはどうすればいいでしょうか。

instrでpの場所を探して、その文字数分leftで取り出せばいいと思うのですが
もっといい方法は無いでしょうか。

45 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 16:39:59 ]
>>44
VB6スレいけ

46 名前:デフォルトの名無しさん [2007/12/14(金) 16:57:07 ]
VB6スレって、2バイト文字ばっかりじゃないですか

47 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 17:32:08 ]
>>46
行けばわかる

48 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 18:16:47 ]
>>44-46
そんなに目くじらたてなくてもいいんジャマイカ
pで分割してセルに書き込むのかも知らんしだろ?
つSplit関数

49 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 18:25:14 ]
>>42
Replace関数もReplaceメソッドも頭文字は大文字になるぞ?
変数の宣言で使ってるとかプロシージャ名で使ってるとかなんか変なことしてるんじゃない?



50 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 22:48:14 ]
独学するのにお勧めの書籍ありませんか?

プログラミングは初心者です。
かつてHTMLとCSS、javascriptをほんの少しだけ学校の夏期講座で勉強した程度です。

51 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 23:07:13 ]
>>50
Excelでお仕事
でぐぐる
「VBA基本」を見る

書籍不要。

52 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:25:54 ]
>>51
そこだと変なクセがつかないか?
最近見てないけど、前みたときはあまりいい内容ではなかった。

53 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 10:42:55 ]
>>50
VBAエキスパートの参考書をやってから
あとはリファレンスとして上記のEXCELでお仕事を参照すればいいと思う

54 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 15:21:49 ]
稚拙なHPを読んで機会損失するコストを考えたら、3,4千円の書籍を購入する
コストは非常に安い。

55 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 15:40:30 ]
どの言語もそうだけど最終的に書籍はリファレンスだけしか要らなくなる

56 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 18:59:33 ]
あのサイトの人、VBAに関してはかなり下手だぞ?
VBAのリファレンスにはならねーな。

57 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 19:37:34 ]
ほとんどの人が代案を出せずに
一人の出した案を叩くばかりという状況にワロタ

まあ、ここの回答陣がVB(A)初心者だったのが
何年前かと考えると…
古すぎてもう売ってないとか
対応バージョンがExcel95とか、
当時はWebとかほとんど無かったとか
そもそも他言語から入ったとかだろうから
仕方ないだろうけど。

>>50
まあAmazonの書評でも見るか
(これもあてにはならないが、ここよりは…)

もしくは適当なVBA本の著者名でぐぐると
サイト持ってて入門編を公開している人もいたりする。

58 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 21:25:06 ]
田中亨おすすめ。
mougの人は嫌い。

59 名前:デフォルトの名無しさん [2007/12/17(月) 10:52:50 ]
>>49
replaceは名前としては一切使ってないのですが
(過去にそのプロシージャ内で使ったことがあるかも・・・)
なぜか、小文字です・・・。

あと、古いExcel97では、replace使えないんですね。ショック・・・
サブルーチンで誰か作ってないかな。



60 名前:デフォルトの名無しさん [2007/12/17(月) 10:59:20 ]
>>48
ありがとうございます

61 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 14:47:55 ]
>>59
Excel97でもOSが古すぎない限り(古くてもWSHをインストールすれば)
ツール→参照設定で
「Microsoft VBScript Regular Expressions 5.5」に参照設定して
RegExpオブジェクトの.Replaceを使えば

ただしReplace関数より機能は高いが
正規表現な分ハードルも高い。

62 名前:デフォルトの名無しさん [2007/12/17(月) 17:55:16 ]
>>61
ウホッ
確かに難しそうだ

63 名前:デフォルトの名無しさん [2007/12/17(月) 18:15:07 ]
>>59
横レスだが、折れも、ずいぶん前に、何ヶ月前ぐらいかな?
何かの時にrangeが1カ所だけRangeにならないことがあった。いろいろと試していたときだった。そこだけ、いろいろと書き直しても小文字のままだったので、
折れも同じように、気になって聞いたが、誰も答えようがなかったみたいだった。
チャンと動いておれば、気にしないでオケw


64 名前:デフォルトの名無しさん [2007/12/17(月) 19:04:02 ]
*.shapes(1).DrawingObject.Text = *.Cells.Value(1.1)

' ↑(Chart)              ↑(Sheet)

EXCEL2000だと正常に動作する上記のようなコードがあります。
EXCEL2007だと、
"指定したコレクションに対するインデックスが境界を超えています。"
というようなエラーが出てしまいます。
(上記コードをコメントアウトすると正常終了します)
普通のシートのセルの文字列を、グラフシートのラベルにコピーする
コードなのですが、2日ほどひたすら検索しましたが、
何が原因なのかがわからない状況です。仕事場からソースを持ち帰ること
ができないので、これだけでは解析不能かもしれませんが、
何かヒントでも頂けたら幸いです。よろしくお願いいたします。

65 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 19:58:17 ]
マクロを記録して味噌

66 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 20:16:50 ]
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Select
Selection.Delete shift:=xlShiftUp

で「A列に何も入っていない行」を削除できますが、
「A列およびB列に何も入っていない行」は削除できませんでしょうか?

Range("A:B").〜とすると
「A列もしくはB列に何も入っていない行」になってしまいます。

結局for〜nextでCells(i,1).value&Cells(i,2).value=""かどうか調べて、みたいなので
動くことは動いたんだけどなにか簡単な方法はないかと。


67 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:04:20 ]
>>64
前後関係意味不明
上限がいいかげんなループの中でShape回してるんジャマイカ?

>>66
ない
Range("A:B")とやったところで内部的には1次元でしかないので

68 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:35:37 ]
ユーザーフォーム(モードレス)を残してワークシート最小化し
フォーム上のボタンを押してファイル選択ダイアログをだしているんですが
ファイル選択ダイアログがマウスクリックを受け付けてくれません
EXCEL 2000だと問題なく動くのですがEXCEL XPだとこの症状がでます
回避策ないでしょうか

69 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:42:18 ]
コードさらせアホが。二度手間じゃ



70 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:51:51 ]
こんな感じです
Private Sub Workbook_Open()
Dim oldState
oldState = Application.WindowState
Application.WindowState = xlMinimized
AppActivate "Microsoft Excel"
UserForm1.Show vbModeless
End Sub

Private Sub CommandButton1_Click()
Dim fname As String
fname = Application.GetOpenFilename(fileFilter:="txtファイル(*.txt),*.txt,txtファイル(*.txt),*.txt", Title:="txtファイルを選択")
If fname = "False" Then
Exit Sub
End If
End Sub

71 名前:デフォルトの名無しさん [2007/12/18(火) 12:32:52 ]
inputboxを、カイル君や冴子先生のようにするには?
とカイル君に聞いても教えてくれなかった。

72 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 12:56:20 ]
モードレスは対応するバージョンがあるぜ

73 名前:デフォルトの名無しさん [2007/12/18(火) 14:14:14 ]
inputboxの外観でググっても出ないな。

74 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 17:24:28 ]
>>68
何も確認せずにレスするんで恐縮だが、最小化じゃなくて、非表示(App~.Visible)とかじゃダメ?


75 名前:デフォルトの名無しさん [2007/12/18(火) 18:54:33 ]
>>65
>>67
ありがとうございました。
マクロの記録で確認しましたところ、shapes〜となるのですが、
そのコードで再度実行すると、やはりそこでエラーになってしまいました。
それからまたいろいろと調べていたところ、下記を参考にして解決いたしました。
やはり、EXCEL2007が原因だったようです。
www2.moug.net/bbs/exvba/20070920000006.htm

76 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 19:33:13 ]
コントロールを扱うための知識はコントロールそのものではなく、
実はコレクションってのがVBAの真理だったりする

77 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 22:55:28 ]
>>74
指摘のとおりに変えたらEXCEL XPで動きました ありがとうございます
明日EXCEL2000でも確認してみます

78 名前:デフォルトの名無しさん [2007/12/19(水) 05:50:53 ]
特定の範囲内でランダムに1つのセルの値(文字列)だけ残して他を消す(又は表示させない)
ようにしたいんですがなにか方法ないでしょうか。
ランダムに複数セルの値を取得する→消去 の流れでいいんでしょうか。
ご教授願います。すれ違いだったらすいません。

*例えばA1〜A5に文字列が入力されていて、マクロを実行したらA1のセルの値のみがのこって他を
消すようにできないかと思います。

79 名前:デフォルトの名無しさん [2007/12/19(水) 09:42:17 ]
マクロ歴三日の私が通りますよ

Sub rand()

Range("D" & 1).Formula = _
"=round(rand(),1)*10"

i = Range("D1").Value
Range("A" & i).Select

makura = MsgBox("are you sure to erase?", vbOKCancel)
If makura = vbOK Then Selection.ClearContents

End Sub




80 名前:デフォルトの名無しさん [2007/12/19(水) 09:46:00 ]
あ、残すのか・・・
英語とか・・・色々すまん煎ってくるわ

81 名前:デフォルトの名無しさん [2007/12/19(水) 10:06:52 ]
Sub rand()

yarinaosi:
Range("D" & 1).Formula = _
"=round(rand(),1)*10"

i = Range("D1").Value
If i = 0 Then GoTo yarinaosi

Range("A" & i).Select
Selection.Cut
Range("B" & i).Select
ActiveSheet.Paste
Range("A1:A10").Clear
Range("B" & i).Select
Selection.Cut
ActiveCell.Offset(0, -1).Select: ActiveSheet.Paste

End Sub

82 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 12:15:59 ]
>>81
その式だと10になる確率が低いんじゃねーのか?
9になるのはround(rand(),1)が8.5以上9.5未満の1の幅があるが
10になるのは9.5以上で半分の幅しかねーな。
ROUNDなんか使っちゃいかんよ。

Range("D1)..Value = Int(Rnd*10)+1
とすれば1〜10の確率はそれぞれ10パーセントだ。

83 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 12:20:56 ]
ちょっと書き直し
9になるのはrand()が0.85以上0.95未満の0.1の幅があるが
10になるのは0.95以上で半分の幅

84 名前:79,81 [2007/12/19(水) 14:14:48 ]
>>83
うーむ、なるほど。

85 名前:デフォルトの名無しさん [2007/12/19(水) 17:53:38 ]
絶対パス付きを取得し、変数filepathに、ファイル名をfilenameに入れて、ファイルを開こうとしています。
しかしフォルダ名に空白があると存在しませんとエラーがでます。
openfile filepath & filename
どのように書けばよいのでしょうか?

86 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 18:00:58 ]
openfileが悪さしてる

87 名前:デフォルトの名無しさん [2007/12/19(水) 18:06:15 ]
trimしてみては?

88 名前:デフォルトの名無しさん [2007/12/20(木) 05:13:01 ]
htmlの指定したタグの中身を取り出す関数(メソッド?)ってどういうものでしたっけ?
GetOuterHtmlみたいな感じの名前でしたが、手元にVBがなく、ググってもでてこない


89 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 07:41:31 ]
分かってないのに分かったような物言いをしたところで間抜けであることは変わらない



90 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 09:53:17 ]
>>88
スレ違い

91 名前:デフォルトの名無しさん [2007/12/20(木) 11:06:38 ]
以前質問させてもらった者ですが

1+2+3+4+……+100

この和を繰り返し文を使用して出せというのがいまだにわかりません。
この場合For文を使えばいいんでしょうか?
無知で申し訳ないです。

92 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 11:39:16 ]
>>91
スレ違い    For文でできる。 どうしても分からなければVBスレで。


93 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 12:07:29 ]
dim a(100) as integer

for i=1 to 100
a(i) = i
next

msgbox (a(1) + a(100))/2*100

94 名前:デフォルトの名無しさん [2007/12/20(木) 15:01:54 ]
>>90
以前エクセル付属のVBAで使った記憶があるのですが

95 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 15:13:37 ]
>>94
Microsoft HTML Object Libraryを参照設定して、F2でMSHTMLを眺めて、ググるなりしろ。
これ以上の質問はVBスレでやれ。

96 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 16:04:23 ]
>>93
ワロタw


97 名前:デフォルトの名無しさん [2007/12/20(木) 16:19:13 ]
Sub nnn()
Dim a As Variant
Dim i As Byte
Dim sentence As String
Dim sentence2 As String
''''''''''''''''''''''
Range("A1").Formula = "I am Japanese."

a = Array("I", "am", "Japanese", "living", "in", "USA", ".")
For i = 0 To 6

sentence = Range("A1").Value
sentence2 = Replace(sentence, a(i), "", 1)

Next i

MsgBox sentence2
End Sub


このプログラムで、sentenceをa配列全て使って、
置換したいのですが、
array中の最後の文字しか変換されません。
どうすればよいでしょうか...

98 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 16:32:06 ]
>>97
かろうじてExcel要素が混じってるが、基本はExcel関係ないぞ。

Forの行にブレークポイントを設定して、ステップ実行させながら、変数の中を見てみろ。

99 名前:デフォルトの名無しさん [2007/12/20(木) 17:03:25 ]
>>98
置換したはずの文字が、ふ、ふ、復活しているよっ!



100 名前:デフォルトの名無しさん [2007/12/20(木) 17:14:26 ]
あ、sentence2はsentenceでいいのか。
むずかしい

101 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 18:53:05 ]
とりあえずUSAには定冠詞のTheを付けるように

102 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 19:18:31 ]
>>91
学校の宿題だったっけ?
>>93のFor Nextで合格点もらえるよ。


103 名前:97 [2007/12/21(金) 09:11:06 ]
この文の位置か・・・
sentence = Range("A1").Value

104 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:29:12 ]
もしかしてVBAってMax(i1,i2,i3)みたいなのって無し?
セルの比較ならApplication.Maxとかでいいけど変数の最大値を取得したいときはどーすれば?


105 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 20:31:42 ]
セルに代入してapplication.max使えばいいんじゃね?

106 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 20:53:11 ]
ヘルプ見ろよ

107 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 21:47:26 ]
10分もありゃ汎用性の高い自作関数作れるだろ

108 名前:デフォルトの名無しさん [2007/12/22(土) 00:34:48 ]
汎用性の高い自作関数 例えば?


109 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 03:17:54 ]
型の範囲を意識しなくていい関数はかなり便利
integerの範囲以上の値入れていちいちエラートラップするのはうざいからな




110 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 08:44:23 ]
integerの範囲以上の値入れていちいちエラートラップする

・・
Variant・・・

111 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 13:51:20 ]
丸め誤差を極力減らしたいのですが、式を記載する上で注意しておきたいことを教えてください。

112 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 16:26:16 ]
>>111
整数で演算する

113 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 18:24:32 ]
除算を使わない

114 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 18:26:38 ]
計算をしない

115 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 19:43:29 ]
電卓で計算して、Excelに手作業で貼り付け


w

116 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 22:39:18 ]
極力ってことは・・・一気に計算したら?

117 名前:デフォルトの名無しさん [2007/12/23(日) 00:08:32 ]
>>116
よく本に掲載されているのは、ルートを有利化せずに分母においてるのがあるが、理由がよくわからなくて。

118 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 00:29:44 ]
EXCELで
人人人人人
2 3 1 4
  1 4 2 3

のように4人でゲームして順位を出す時に、
ちゃんと横の合計が10になるか計算したいのですが
こういう空欄はスルーして計算できませんでしょうか?

119 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 00:41:46 ]
何も考えずにセル関数Sum使えば終わりでね?



120 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 00:58:34 ]
>>119
その通りでした。どうもありがとうございます
実は例と少し違って合計0になるかだったので勘違いしてました

121 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 01:57:25 ]
麻雀かw


122 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 04:18:28 ]
>>117
コンピュータは分母が整数じゃなくても
それほど困らないからいいんじゃないの?


123 名前:デフォルトの名無しさん [2007/12/23(日) 10:51:16 ]
情報工学勉強すればわかる。

124 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 10:57:09 ]
VBA使うのにいちいち情報工学など勉強しれられっか

125 名前:デフォルトの名無しさん [2007/12/23(日) 11:07:39 ]
VBAに必要な知識は、
1.同じ機能を実現するために、いかに高速化する記述方法を知っているか。

言語に関わらず必要な知識は、
1.誤差伝幡をいかに少なくするか。
2.いかに高速なアルゴリズム(探索など)を知っているか。
3.その他多数〜

126 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 16:14:05 ]
> 1.同じ機能を実現するために、いかに高速化する記述方法を知っているか。

開発効率という観点が欠如しているっぽいあなたには、アセンブラをオススメいたします。

127 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 00:21:03 ]
>>111
桁に限界があるので技術計算には向かないが
固定小数点のCurrency型を使うとか。

128 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 02:05:32 ]
>>111
除算をしないか、ロジックで極力計算回数を減らす。関数の戻りの型に注意。あと、スレ違い。


129 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 01:14:14 ]
フォルダに0001〜9999jpg
セル2に000*と入力すると自動的にセル1に該当の000*jpg表示さすにはどうすればいいでしょうか?
よろしくお願いします



130 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 01:18:51 ]
>>129
セル2の入力を常に監視し、入力に変化があるたびにフォルダ内にその画像があるか調べ、あれば表示する。
4桁に制限したければそういうifを書けばいい。

131 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 00:02:45 ]
>>93の人ありがとうございました。

1^2+2^2+3^2+……+20^2

1^3+2^3+3^3+・・・・+20^3

ついでにこれのFor文を使った書き方も教えていただけるとありがたいです。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<253KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef