[過去ログ]
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1432173164/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
343: デフォルトの名無しさん [sage] 2017/07/17(月) 17:20:20.62 ID:7pjXcMGR プロシージャの中で1回しか使わないのに、わざわざ変数にするやつとかいるよね。(しかもハンガリアン記法で) 100行に満たない程度のコードなら、Withステートメント使ったほうがむしろ可読性は上がる。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/343
344: デフォルトの名無しさん [sage] 2017/07/17(月) 17:25:26.05 ID:l3sSLpQS マシンパワーが貧弱だった大昔ならともかく、今時はリソースを気にする必要なんてないんだから、可読性を最優先で記述するべきだよ。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/344
345: デフォルトの名無しさん [sage] 2017/07/23(日) 22:54:52.46 ID:EbUz/UVB >>343 ああ、俺だ。 Ubound(配列)とか、For〜Nextの中で何回も実行すると、 なんか遅いような気がして、一度変数に入れちまう。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/345
346: デフォルトの名無しさん [sage] 2017/07/24(月) 03:07:48.10 ID:/3vdoRrW >>345 何回も実行するなら変数に入れたほうがいいんじゃね? http://mevius.5ch.net/test/read.cgi/tech/1432173164/346
347: デフォルトの名無しさん [sage] 2017/09/01(金) 23:04:37.73 ID:RmCwgyLh >>345 (1) For I1 = 1 to UBound(xxx) For I2 = 1 to UBound(xxx) (2) J=UBound(xxx) For I1 = 1 to J For I2 = 1 to J 普通に考えて本のチョット早いと思われますが、記述の労力ほどじゃない。 他の方の書いてますが、今は、処理速度が物凄く早くなっています。 気にしなくていいと思います。 ただし、私はEXCELでVBAを書くのですが、シートのセルに書き出すと物凄く遅くなる。 VBAの配列とかメモリーならばほとんど気にしなくていいです。 ですから、メモリー内
で処理して最後の最後にシートに書くようにしてます。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/347
348: デフォルトの名無しさん [sage] 2017/09/02(土) 08:26:52.52 ID:tqo/3wkP >>347 > ですから、メモリー内で処理して最後の最後にシートに書くようにしてます。 基本中の基本だからいちいち書かなくてよろし http://mevius.5ch.net/test/read.cgi/tech/1432173164/348
349: デフォルトの名無しさん [sage] 2017/09/05(火) 10:53:29.80 ID:WmSrV0rS アノニマスに入会したいんですがVBA知ってるだけで入れますか? あと入会ってどうやんの? スーツ着て履歴書持って事務所に面接に行くの? http://mevius.5ch.net/test/read.cgi/tech/1432173164/349
350: デフォルトの名無しさん [] 2017/09/05(火) 12:25:17.40 ID:P2jRu54V たまにハローワークに求人出てるから行ってみれば? http://mevius.5ch.net/test/read.cgi/tech/1432173164/350
351: デフォルトの名無しさん [sage] 2017/09/12(火) 02:10:43.27 ID:2wFcaigK 超初心者です 同じブック内の複数のシートにある顧客データをUserFormを用いて(検索するイメージ)抽出し、別のシートへ出力するコードを書きたいのですがいまいちわかりません。 大変困っているのでヒントをくださればありがたいです。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/351
352: デフォルトの名無しさん [sage] 2017/09/12(火) 02:30:21.88 ID:U3/YorLf >>351 超初心者には無理です パソコン教室に通ってせめて初級をクリアしてから質問してください http://mevius.5ch.net/test/read.cgi/tech/1432173164/352
353: デフォルトの名無しさん [sage] 2017/09/12(火) 04:10:40.96 ID:2wFcaigK >>352 返信ありがとうございます Excel自体触ったことない超初心者ですが頑張っているところです( ??? ) http://mevius.5ch.net/test/read.cgi/tech/1432173164/353
354: デフォルトの名無しさん [sage] 2017/09/12(火) 08:28:28.15 ID:GFFccSR9 >>351 自称初心者がどこでUserFormとか覚えたの? まずはシート上でやってみようね http://mevius.5ch.net/test/read.cgi/tech/1432173164/354
355: デフォルトの名無しさん [] 2017/09/12(火) 12:27:40.35 ID:7XJfZGpJ どこで覚えようとお前の知った事じゃねえだろw なんだこのバカはwww http://mevius.5ch.net/test/read.cgi/tech/1432173164/355
356: デフォルトの名無しさん [sage] 2017/09/12(火) 13:06:30.39 ID:N1ygkJfx >Excel自体触ったことない超初心者 ユーザーフォームを作ったことはあるのか? 無けりゃ、この時点でやろうとしていることはもう無理 VBAはほんの少しでも書いたことはあるのか? まぁ最初は>>354の言うようにシート上で実現して、それをユーザーフォームにもっていくのが順当 というか触ったこと無いって時点で釣り確定 http://mevius.5ch.net/test/read.cgi/tech/1432173164/356
357: デフォルトの名無しさん [sage] 2017/09/12(火) 16:38:53.70 ID:2wFcaigK VBA参入門書とネットの知識を詰め込みました。 Excel初心者は本当です。友達に教えてもらいつつやっています。気分を害された方、すみません。 >>356さん非常に分かりやすいです。 二日間くらい最初からコードを書こうとしてもがいていましたが、マクロの記録が使えそうな気がします。 そのコードをいじってボタンで起動するユーザーフォームとくっつけるイメージで挑戦してみます。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/357
358: デフォルトの名無しさん [sage] 2017/09/12(火) 16:41:08.80 ID:2wFcaigK >>354さんもありがとうございます!参考&励みになります http://mevius.5ch.net/test/read.cgi/tech/1432173164/358
359: デフォルトの名無しさん [sage] 2017/09/12(火) 20:34:49.57 ID:/wKXVszF このスレで一番の基地外が満を持して遅れて登場 http://mevius.5ch.net/test/read.cgi/tech/1432173164/359
360: デフォルトの名無しさん [sage] 2017/09/12(火) 20:51:47.27 ID:U3/YorLf 俺のことかな? http://mevius.5ch.net/test/read.cgi/tech/1432173164/360
361: デフォルトの名無しさん [sage] 2017/09/13(水) 00:17:05.57 ID:DHqL5rdG >>357 ユーザーフォームでその機能を実現する必然性が感じられない フィルタオプション機能を用いて、検索結果の出力先を新規シートに設定するだけで事足りると思うぞ http://mevius.5ch.net/test/read.cgi/tech/1432173164/361
362: デフォルトの名無しさん [sage] 2017/09/14(木) 07:47:53.75 ID:w7wWQUJY フィルタオプションとマクロの記録で8割方完成できるな http://mevius.5ch.net/test/read.cgi/tech/1432173164/362
363: デフォルトの名無しさん [sage] 2017/09/15(金) 10:19:31.10 ID:wFtq+9vG ADOの事でちょっと質問です 変数を定義する時に Dim wkR as New ADODB.Recordset ってするんだけど、RecordsetとRecordの違いって何? http://mevius.5ch.net/test/read.cgi/tech/1432173164/363
364: あ [sage] 2017/09/15(金) 10:57:55.87 ID:oEkV+GvG http://matsuri.2ch.net/test/read.cgi/morningcoffee/1472464096/ http://mevius.5ch.net/test/read.cgi/tech/1432173164/364
365: デフォルトの名無しさん [sage] 2017/09/18(月) 06:42:59.71 ID:xbe9SlrW >>361-362 ありがとうございます、簡単なプログラムですが完成して感動しました。 Ifとマクロの記録が万能すぎることを肝に銘じてこれからもがんばります( ??? ) http://mevius.5ch.net/test/read.cgi/tech/1432173164/365
366: デフォルトの名無しさん [sage] 2017/09/18(月) 15:10:56.93 ID:7Xxpypu9 >>365 万能過ぎないけどね。 そればっかり使ってる人は永遠に初心者なままだし、色々な面で出来の悪いプログラムになる。 自動生成されたコードのそれぞれの意味を理解して自分なりに書けるようになると上達する。 例えば Range("B4").Select Selection.Value=10 のようなコードが生成されると思うけど意味を考えたら Range("B4").Value=10 で良いとわかるよね。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/366
367: デフォルトの名無しさん [sage] 2017/09/18(月) 20:44:49.78 ID:ydCO3vgD >>363 Recordset オブジェクト https://msdn.microsoft.com/ja-jp/library/cc364264.aspx Record オブジェクト https://msdn.microsoft.com/ja-jp/library/cc364270.aspx http://mevius.5ch.net/test/read.cgi/tech/1432173164/367
368: デフォルトの名無しさん [sage] 2017/09/18(月) 23:50:59.42 ID:XctjYupl すみませんお力添えをお願いします! エクセルマクロ(VBA)の件でお尋ねいたしたく思います! まずグラフの系列名はセル参照で表示させてます シート名:あいうえお 適用グラフ:グラフ4 系列範囲:A11:Z11 必要なデータ選択は全ての系列で済ませています あとはグラフで不要な系列を削除したいため、グラフに乗せたくない系列名は”×”になるようにしてます この系列名”×”をVBAで自動的に削除させることは可能でしょうか? またグラフは別シートの数値入力をもって
自動作成される仕様にしているので、トリガーは設けません デフォルトだと全部”×”のため(初めは数値データの入力がないため) 数値が入ると正しい系列名に変更されるため、VBAではまず”×”で削除して、”×”以外の系列名に変わったら復活するという構想を練っています とりあえず、まず”×”を消すコードを見よう見まねで書いてみたのですが動作しませんでした 消すのは良いですが復活させるのも組み込むとなるとちんぷんかんぷんです 是非ともご教示お願いします! Sub test() Dim d As Long Dim i As Long Dim j As Long For i = 2 To Sheet
s.Count d = Range("A11:Z11").End(xlUp).Row With Worksheets(i).ChartObjects("グラフ 4").Shapes.AddChart.Chart .ChartType = xlLineMarkers For j = .SeriesCollection.Count To 1 Step -1 If .SeriesCollection(j).Name <> "×" Then .SeriesCollection(j).Delete End If Next j End With Next End Sub http://mevius.5ch.net/test/read.cgi/tech/1432173164/368
369: デフォルトの名無しさん [sage] 2017/09/19(火) 20:55:54.78 ID:2SFxAhMD >>367 説明サイトへのリンク、ありがとう。 取り敢えず、「階層構造のデータ間を移動する手段として」のRecordオブジェクトは使うこと無さそうw http://mevius.5ch.net/test/read.cgi/tech/1432173164/369
370: デフォルトの名無しさん [sage] 2017/09/20(水) 01:17:31.22 ID:2dxgF4qE IF文初心者ですが 3つ数字の中から一番小さい数を判定したいのですが、 elseや入れ子で複数書けば判定できるというのは推測がつきますが 最も簡潔に記述するとしたらどんな記述方法がありますでしょうか? 例) 33 12 3 ↓ 3を抽出 http://mevius.5ch.net/test/read.cgi/tech/1432173164/370
371: デフォルトの名無しさん [sage] 2017/09/20(水) 05:19:03.75 ID:mkPuPLWs >>370 最小値 = WorksheetFunction.Min(Array(33, 12, 3)) http://mevius.5ch.net/test/read.cgi/tech/1432173164/371
372: デフォルトの名無しさん [sage] 2017/09/20(水) 05:37:31.94 ID:mkPuPLWs >>370 x = 33 y = 12 z = 3 If x < y And x < z Then 最小値 = x ElseIf y < x And y < z Then 最小値 = y Else 最小値 = z End If http://mevius.5ch.net/test/read.cgi/tech/1432173164/372
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 630 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s