1 名前:デフォルトの名無しさん [2017/11/08(水) 11:26:30.13 ID:+KUB1/9hd.net] スレ立ての際は一行目に !extend:checked:vvvvv:1000:512 と入れてスレ立てして下さい ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※関連スレ VBAなんでも質問スレ Part2 mevius.2ch.net/test/read.cgi/tech/1432173164/ Access VBA 質問スレ Part1 mevius.2ch.net/test/read.cgi/tech/1328536426/ Excel総合相談所 126 https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/ ※前スレ Excel VBA 質問スレ Part50 mevius.2ch.net/test/read.cgi/tech/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured 👀 Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
567 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 19:31:32.21 ID:lmKJ5VLWa.net] 世の中にはこういう本物のバカもいるんだなあと勉強になったよ
568 名前:デフォルトの名無しさん [2017/12/15(金) 19:39:48.70 ID:IAZ3SurN0.net] わりとそこかしこに居るけどな、本物のバカ ひきこもりか?おまえw
569 名前:デフォルトの名無しさん [2017/12/15(金) 21:40:28.03 ID:qta4Ddk+0.net] >>549 まだ始めて2週間って話してなかった? ちなMOSエキスパート所持者ね
570 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 21:49:11.45 ID:SvHkecGU0.net] >>421 からもう二週間も経ったのか。時が経つのは早いな。
571 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 22:06:37.13 ID:5LKBHQ7A0.net] >>554 > ちなMOSエキスパート所持者ね ここ、笑うとこですか?
572 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 22:06:40.33 ID:sA/nQpBXa.net] MOSエキスパート? 何それ美味しいの? 昔、「初心者だから仕様がないけどさ」と説教した相手が今回君が挑戦してる言語のエキスパート持ってたけどさ。
573 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 04:53:25.79 ID:kSf4Qz7z0.net] 先日、AutoFilterとValidationの不具合で質問したものです。 (まだ解決していませんが、、) また新たな不具合に悩まされています。 このような場合、どこに報告すればMSの目にとまりますかね? もし同一環境のかたおられましたら再現テストしていただけるとありがたいです。 [環境] Microsoft Office Home and Business 2013 バージョン: 15.0.4989.1000 (2017/12) Excel2013 Win10 64bit Core i7 Mem8GB [手順] 以下の手順で実行するとシートSelectが不完全な状態になる。 Trigger: 別シートの貼付画像のOnAction →PopupMenuのOnAction →呼び出されたProc内で、SheetSelect 続けてAutofilter実施 (直接の原因ではない) (その2へ)
574 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 04:53:47.87 ID:kSf4Qz7z0.net] >>558 (その2) [現象] ・Fitering成功しているように見えるが、非表示セルにカーソル移動できてしまう。 ・セル値の削除が効かない。(連動イベントが動かず、本現象に気づく) ・範囲コピー貼り付けが正しく行われない。 ・セルをコピーモードにしても、選択範囲が破線矩形にならない。 →なんと恐ろしいことに、操作の対象が現在見えているActiveCellではなく、 呼出元画像のあるシートの同一番地に対して行われている様子。 破線矩形も元シートを開いたらそこにあった。 削除処理も元シートに対して行われる。 ステータスバーのセル値カウントも、現在見えているシートではなく、呼出元の情報を返す様子。 ActiveCell.Address(External:=True)は実際に見えている移動先シートを示しているのに、、、 [発生条件の再検証] ・別シートの画像.OnAction→Popup.OnActionで初めて成立。 ・画像.OnActionから直接Proc実行(Sheet選択、Autofilter実施)では再現せず。 ・Alt+F8からのPopup起点とすると再現せず。 ・Popup.OnActionを入れ子にしても再現せず。 ・ボタンをTableと同じシートに配置した場合は再現せず。 ・Office2010では再現せず。 (その3へ)
575 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 04:54:06.08 ID:kSf4Qz7z0.net] >>558 (その3) [試験に用いたコード] 1) テーブルとは別シートにある画像を選択して、ImmediateからOnAction登録。 Selection.OnAction = "mkPop" 2) Popup生成 Sub mkPop() With CommandBars.Add(Position:=msoBarPopup) With .Controls.Add .Caption = "Filter" .OnAction = "DoFilter" End With .ShowPopup .Delete End With End Sub 3) Filterling実施 Sub DoFilter() Sheets("List").Select Sheets("List").Range("$A$1:$C$5").AutoFilter Field:=1, Criteria1:="TEST" Debug.Print ActiveCell.Address(external:=True) '確認用 End Sub ** 実際には機材画像のPropertyから読み込んだ文字列でフィルタリング。 ** 今回はAutoFilterは無実でシート選択の不全実行が現象の概要とみています。
576 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 04:56:00.08 ID:kSf4Qz7z0.net] >>558 環境情報が抜けていました。 Win10 バージョン 1703 (OS ビルド 15063.786)
577 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 05:17:34.49 ID:kSf4Qz7z0.net] >>558 (その4) 回避のためのリフレッシュ手順を忘れておりました。 [効果があるリフレッシュ操作] ' 以下、または手動によるシート切替(Screenupdating=False効かず、ちらつくが、、) '-------------------------------- Application.SendKeys "^{PgDn}":Application.SendKeys "^{PgUp}" ' Popup表示前にSheet移動してしまう。(Cancel有無にかかわらず移動してしまうが、、) '-------------------------------- Application.ScreenUpdating = False: Sheets("List").Select .ShowPopup [効果がないもの] ' Filtering直前のAutoFilter再設置 ActiveSheet.Range("$A$1:$C$5").AutoFilter ' 画面再描画処理 Application.ScreenUpdating = False: Application.ScreenUpdating = True ' その他、以下を試したがNG Application.EnableEvents = True Application.DisplayFullScreen = True: Application.DisplayFullScreen = False Application.CalculateFull Application.CalculateFullRebuild AppActivate (Application.Caption) Worksheets("List").Activate Application.StatusBar = "aaaaaa": Application.StatusBar = False MsgBox "OK"
578 名前:名無し mailto:sage [2017/12/16(土) 05:26:07.46 ID:j6rMoAMF0.net] そういうときは、doeventsやwaitも試してみるべし 今パソコン無いから試す暇がない
579 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 05:36:15.74 ID:kSf4Qz7z0.net] >>563 そういえばDoEventsは試しました。 結果効果はなく、SendKeysを無効化して現象回避もできなくなるという逆効果も確認しました。 Waitはどこに入れると効果的ですかね。 間にStopを入れて一時停止したりはしてみましたけど、、、
580 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 05:45:39.73 ID:kSf4Qz7z0.net] >>563 今回のはあまり待ち要素はないと見ていますが、以下の3カ所に2秒ほど入れてみました。 ・シート切替の前後、.ShowPopupの直前 再現してしまいました。
581 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 18:57:10.19 ID:9cn7Nun80.net] 現在vbaをネットで勉強中ですが書籍も使って勉強しようと思っています プログラミング初心者がvbaを学ぶのにお勧めの書籍を教えていただけませんか?
582 名前:デフォルトの名無しさん [2017/12/16(土) 20:17:51.76 ID:7KC6Lrbda.net] VBAで書籍は金の無駄だよ 最初はマクロの記録を見るのとネットでぐぐれば大抵のことはできるよ
583 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 20:36:50.77 ID:IU5B3eEvp.net] データの入力規則にカンマ区切りの項数不定の1-9の数字のみを許容したいのですが、どうすればよいですか? 正規表現だと、こんな感じです。 /^([1-9]+,)*([1-9]+)$/ regexp使ってVBAでチェックする方法ならやり方が分かるのですが、セルのデータ入力規則で設定する方法が分かりません。
584 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 20:57:31.30 ID:yaHEvAoH0.net] >>568 シートのChangeイベントあたりに そのコードを仕込んでおくのはいかがでしょうか ダメな場合はエラーメッセージ出して、セルの値を消しちゃえば 入力規則チックになるかと
585 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 21:10:04.55 ID:yaHEvAoH0.net] >>566 本格的にやりたいなら、VBAと関係ないように思えるけど 「スッキリわかるJava」シリーズをオススメしたい。 自分の場合、VBA本ではさっぱりだったけど、この本で目覚めた。 オブジェクト指向の解説は、VBAの理解にもかなり役立つ。 プログラミング言語は根幹は同じで、方言みたいなもんなので 他の言語にもすんなり入っていけるようになる。 やれることが多くなるよ。
586 名前:デフォルトの名無しさん [2017/12/16(土) 21:57:56.42 ID:0LU2hdfpp.net] オブジェクト指向をVBA始めて1週間だが理解してみた まず 変数は何かの型に入れる お前はこれしかできねえよ っていう そして その型の中のさらに型の中の命令はなに? と掘り下げて行く これがオブジェクト指向
587 名前:デフォルトの名無しさん [2017/12/16(土) 22:19:01.15 ID:vwwP6eCQd.net] >>571 違うけど気にしないでいいよ 厳密なな定義ないから
588 名前:デフォルトの名無しさん [2017/12/16(土) 22:21:35.33 ID:6cm/hyEb0.net] あと一歩というところだな、実にオシイと言っておこう しかし始めて1週間でそこまでオブジェクト指向の真髄に迫るとは大したものだ 末恐ろしい奴が現れたもんだ、これは俺もうかうかして居られんな
589 名前:デフォルトの名無しさん [2017/12/16(土) 22:26:05.73 ID:vwwP6eCQd.net] なるほど 俺が間違っていたようだ
590 名前:デフォルトの名無しさん [2017/12/16(土) 23:09:21.00 ID:9T+lJsLD0.net] お、おぅ
591 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 23:16:38.47 ID:jWdcz3p90.net] Access だと、ずいぶん前から SendKeys は使うな ってのが喧しいが Excel だと現役なんか? いいんか?
592 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 23:32:07.04 ID:oxEVVuR00.net] >>558 (その5) 画像リンクが外部ファイルにある場合はSendKeysも役にたたないようです。 なんかいい回避策ないですかね?
593 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 01:01:58.50 ID:ZCl426tV0.net] たんにActiveCellのシートが思ってるものじゃないだけの気がするなぁ そのコードどこに書いてるんだよ
594 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 01:39:41.36 ID:F05u2uwp0.net] 誰がオブジェクト恥垢やねん!(´・ω・`)b
595 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 04:46:14.88 ID:Hjh32hjm0.net] >>578 どゆこと? 例えばですね、他Bookにある画像をクリックしてそこにPopupが表示され、フィルタ処理を選びます。 で、フォーカスは対象テーブルのあるブック・シートに遷移して、フィルタリングに成功します。 SDIなので画面上は呼出元ブックとテーブル用ブックが2つ並んでおります。 ここでScriptは完了するわけですが、追加の操作をするために、遷移先シートを明示的に選択。 明らかに自分はその目的のシートを選んでいます。 ここでImmediateから、ActiveCell.Address(external:=True)をたたくと明らかに今触っているセルの番地が、Book名、シート名、セル番地名のフルパスで戻ります。 ここでカレントセルのある範囲を選択反転してCopy操作を行うと、呼出元ブックの同じセル番地がコピーモードの破線矩形にかわるんです。 カーソルで下へスクロールすると、呼出元シートもリモコンで操作しているみたいに一緒にスクロールするんです。 削除操作も、、、、同一ファイルで操作している時は気づかなかったですが、別ファイルから行うと凄いびっくりなビジュアルが展開されます。 明らかに "ActiveCell" という状況が表と裏に分離されたような状態になるんです。 同じブックをWin7+Excel2010で操作した場合は起きません。 自ファイルだとSendKeysで逃げられるんですが、外部ファイルからシート切替しても呼出元が切り替わってしまって、、 テーブル側ブックがキー操作相当でシート切替されないとこの状態が解除されないみたいです。
596 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 05:09:02.50 ID:/bdPdb8E0.net] >>580 とりあえずActiveSheetとかSelectionとか使わない方法で実装するのはダメなの? あと同時に実行されるマクロは全て同じブックに入れておくべきだと思うよ。
597 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 06:51:48.24 ID:Hjh32hjm0.net] >>581 (その6) Debug用と問題回避のためにActiveCellを記述していますが、実際のコードでは使用していません。 >>560 のSelectionはコードの中に記述しているわけではなく、検証用の画像ボタンを登録する手順としてImmediateから実行しているだけです。極力BackEndから操作する派です。 実際の運用Bookでは極力同一ファイルにMacroを集めています。 Macro自体は仕事を完全に全うするのですが、、、そのあとシートの状態がおかしくなるという現象です。 状態を解消するには、呼出先のBookでシート切替を行う方法のみ。 で、発想を変えて、「外部から制御できないか」と考えました。 VBE内にVBSScriptを記述し、「中の外」からシート選択してみようと。 結果NG、再現してしまいました。 じゃあ、本当に外から制御すればどうかな?と思い、上記のVBScriptを同一フォルダに置いて呼び出す作戦に。
598 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 06:52:33.95 ID:Hjh32hjm0.net] >>581 (その7) -------------------------------- [Popupから呼び出すProc] Sub DoFilter() Sheets("List").Select Sheets("List").Range("$A$1:$C$5").AutoFilter Field:=1, Criteria1:="TEST" Call = Shell("wscript " & ThisWorkbook.Path & "\SelectSheet.vbs", vbHide) End Sub -------------------------------- [SelectSheet.vbsの中身] call SheetSelect_fromVBS Sub SheetSelect_fromVBS() Dim xlApp: Set xlApp = GetObject(, "Excel.Application") With xlApp .Workbooks("ListBook.xlsm").Activate .Worksheets("List").Select End With Set xlApp = Nothing End Sub -------------------------------- なんとこれが功を奏し、ActiveSheetの幽体離脱状態から抜け出すことができました。 シート切替も不要に。これで一先ず凌げそうですが、MSには不具合対応してもらいたいです。 コメントいただいた方々、ありがとうございました。
599 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 06:55:18.78 ID:Hjh32hjm0.net] >>583 あれ、一部書き間違えました。実際は、、 Call Shell("wscript " & ThisWorkbook.Path & "\SelectSheet.vbs", vbHide)
600 名前:デフォルトの名無しさん [2017/12/17(日) 10:32:12.89 ID:e1NNF66l0.net] つまりここでは なんの型にはめるのか? 命令は?状態は? だろ? でもCellsってプロパティだろ?なんで一発で状態から入るんだ?
601 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 11:20:01.90 ID:ZjZyIyTi0.net] >>585 Cellsはオブジェクトだ そしてWorksheetオブジェクトやCellsオブジェクトのプロパティでもある あと、ようやく時間ができたからWorkbookオブジェクトをVariantに代入しようとしたら当然のごとく「オブジェクトは、このプロパティまたはメソッドをサポートしていません。」になった。 一体何を試してパスが云々なんて話が出てきたんだろう。 Dim V As Variant V = Workbooks(1) →代入不可 Set V = Workbooks(1) →VはVariant/Object/ThisWorkbook型 調べてみてもWorkbook型にデフォルトプロパティは設定してなさそう。
602 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 11:21:03.68 ID:ZjZyIyTi0.net] >>586 訂正 CellsはRangeオブジェクトだ そしてWorksheetオブジェクトやRangeオブジェクトのCellsプロパティでもある
603 名前:デフォルトの名無しさん [2017/12/17(日) 11:26:43.28 ID:e1NNF66l0.net] >>587 cellsはrange? 意味わからない プロパティでオブジェクトってなに? もっとうまく説明してくんね?
604 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 11:27:13.71 ID:gZkjaYao0.net] >>586 自分用語を使うどころかコードも正確にコピペできてないからそのまま実行しても無駄だぞ エスパー力を全力で働かせて察してあげない限り回答しても罵倒が返ってくる
605 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 11:37:53.28 ID:ZJu/+/V0x.net] >>585 メゾット君、プロパティだから状態というのは間違えやすい考え方だからこの際捨て去った方が良い プロパティは呼び出し元プログラムに対してオブジェクトのクラス内部への変数へのアクセスを提供するもので、アクセス先の変数のデータ型はプリミティブな値であることもあれば、何らかのオブジェクトである場合もある というか、オブジェクト式の途中で出てくるプロパティは全てオブジェクトへの参照を提供するプロパティだ Cellsの場合はRange型のオブジェクトへのアクセスを提供するプロパティだが、Grobalのメンバプロパティだから上位オブジェクト式を
606 名前:省略して書けるわけ [] [ここ壊れてます]
607 名前:デフォルトの名無しさん [2017/12/17(日) 11:46:44.41 ID:gC8RO3PCp.net] >>590 カタカタ使うな
608 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 11:53:12.87 ID:ZjZyIyTi0.net] >>589 そうだよな・・ 自分でクラス作ってみれば一発で理解できそうなものだが・・
609 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 11:59:28.64 ID:R4ec2g2Bx.net] >>592 あの質問者が自分でクラスを作れるようになるのって何年か先の話だろうな
610 名前:デフォルトの名無しさん [2017/12/17(日) 12:11:00.98 ID:gC8RO3PCp.net] クラス? オブジェクトに必要な要素を全部埋め込むやつだろ? もうできるよ? でもnewクラスの使い方が意味がわからない 同じクラスで(中身も同じ)なら作る意味ないんじゃねえの?
611 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 12:19:09.45 ID:ZjZyIyTi0.net] 確かにこれでは何年も先の話になりそうだ
612 名前:デフォルトの名無しさん [2017/12/17(日) 12:31:47.04 ID:gC8RO3PCp.net] いま、クラスをみてみた そしたらworkbookの中にworksheetsがプロパティとしていた どういうことだ? 俺はVBAの盲点をついたか?
613 名前:デフォルトの名無しさん [2017/12/17(日) 12:40:07.47 ID:gC8RO3PCp.net] 知りすぎたか?
614 名前:デフォルトの名無しさん [2017/12/17(日) 12:51:28.57 ID:gC8RO3PCp.net] dim i as long For i = 2 To i.Cells(.Rows.Count, 1).End(xlUp).Row このi.cellsの意味がわからない 教えてくれ
615 名前:デフォルトの名無しさん [2017/12/17(日) 13:07:40.63 ID:+CY9tzJPd.net] プロパティは内部変数へのアクセスに限らずいろんなこと出来るし、最初さっぱり理解できなかった。 まさかただのシンタックスシュガーだなんて想像してなかったからな。
616 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 13:23:13.67 ID:R4ec2g2Bx.net] >>598 このコードは絶対にコンパイル通らないぞ For i = 2 To i.Cells(.Rows.Count, 1).End(xlUp).Rowの意味なんてこっちが知りたいくらいだ
617 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 13:26:02.12 ID:R4ec2g2Bx.net] >>596 Worksheetオブジェクトのメンバの、Worksheetsコレクションにアクセスするプロパティじゃん 何が不思議なの?
618 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 13:27:44.67 ID:R4ec2g2Bx.net] New出来てないの笑える クラスモジュールを挿入できただけでクラス使えるようになってねぇじゃん
619 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 13:51:38.17 ID:5yg/jtY20.net] おそらく本職プログラマじゃなく事務の効率化でVBAに手出したんでしょ? どうせ片手間ならプログラミング適性無さそうだからおとなしくコピペで済ますのが無難だと思う たぶん永久に理解出来ないよ
620 名前:デフォルトの名無しさん [2017/12/17(日) 14:08:08.04 ID:gC8RO3PCp.net] >>600 正しいのはなに? https://i.imgur.com/rE2ZahI.jpg
621 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 14:15:19.48 ID:R4ec2g2Bx.net] >>604 自分で考えろよ、クラス作れるんだろ?w
622 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 14:17:42.01 ID:KxwCW4kM0.net] 最近オブジェクト指向の本読んでみたんだけど これまで作ってきた稚拙なスパゲティコードをこの際書き直してみたくなった
623 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 14:25:27.85 ID:R4ec2g2Bx.net] >>603 この人謙虚じゃないし、まぁ無理だろうな 素直に他人の文章やコードが読めず、自分の言語感覚だけで無理矢理白黒つけようとするだけの奴はそもそもプログラミングに向いてない
624 名前:名無し mailto:sage [2017/12/17(日) 19:27:22.86 ID:ZjZyIyTi0.net] >>606 今書き直しても、しばらくするとまた見識が増えて書き直したくなるだけやで
625 名前:デフォルトの名無しさん [2017/12/17(日) 19:31:24.74 ID:SRQ89yzu0.net] >>606 やめとき、もう一つ稚拙なスパゲティコードを作るだけやでw 魔道に堕ちた亡者どもはそれをリファクタリングと呼んでるらしいがなw
626 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 19:52:14.28 ID:/bdPdb8E0.net] >>607 メゾット君は>>573 の自演の通り、「○○が出来るなんて凄いヤツだ」って反応が欲しいだけでしょ。 その反応が欲しいだけだから本腰入れて勉強するつもりもないんだろうし、 彼の想像の中では、自分は「凄いヤツ」であり、それに反応する周囲は「凄くないヤツ」なので見下している。 見下している奴らと
627 名前:ゥ分の意見がぶつかったら自分の方が凄いので自分が正しい。だから自分の考えに固執する。 要するにヒカルの碁とかハイキューとかボールルームとかの主人公みたいな展開を妄想してんだろ。 どんな反応をしても彼の妄想に付き合わされるだけだし、妄想が維持できなくなると死ね死ね言うだけになるから構うだけ無駄。 [] [ここ壊れてます]
628 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 20:35:35.89 ID:oSmkXHksa.net] >>607 プログラミングだけじゃなくありとあらゆることに向いてないだろうな わからんのは仕方ないけど、最低限の態度がなってない ネットだからなにやってもいい、って考えのやつはいずれリアルでもぼろが出るわ
629 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 00:39:13.70 ID:mfb75Iey0.net] プロシージャにconstでいくつか定義してあってこれまで何も問題なく動いてきた さっきその定数の一つを=22から=23に変更したら 定数式が必要です、のエラーが出る どうみても何も問題ないようにみえて分からない まさかと思いつつ 'Const sht_right As Integer = 23 Const sht_right As Integer = 23 このように問題の起きた行をコメント行として すぐ下に書き直したらエラーがでなくなった こういうのってあるもん?
630 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 02:00:09.91 ID:rupxZ3Ov0.net] >>612 上の奴、本来のコードだと全角スペース入ってなくね
631 名前:デフォルトの名無しさん [2017/12/18(月) 02:32:05.22 ID:m7yapXyd0.net] >>604 i.cells じゃなくて ws.cells さらに、with ws が有るので ws が省略できるから .cells で良い
632 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 03:17:17.83 ID:7TDAIkSx0.net] >>612 99%は単なるタイプミス 等幅フォントでスペースが明示できるテキストエディタにコピペしてみる
633 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 06:23:46.35 ID:TbHEuMcS0.net] どこかから、コピペした文字列に、見えない制御文字が入っているとか?
634 名前:名無し mailto:sage [2017/12/18(月) 07:46:18.89 ID:fX+okHt3M.net] >>612 その事例は見たことないけど、納得のいかないエラーが出たときは、とりあえずエクセル再起動
635 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 07:59:26.09 ID:mfb75Iey0.net] >>613 >>615 >>616 と俺も思った んで何度も打ち直してみた ちなみに上に貼ったのはそのままコピペしたもの 2を3にしただけなんでね、よくわからん >>617 再起動しなかったかもしれないんでまた起きたらやってみるわ コメント行にしたもともとの行は削除しちゃったんで実験できなくてすまん
636 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 08:01:30.70 ID:aXpCltYZ0.net] Constでエラー出した事あったけど、Endを実行してからやったら治ったことあるな。 値が記録されたままだったとかじゃね。
637 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 10:33:59.62 ID:ueSdYdZDa.net] >>612 なんか、Enumでもそんなことがたまに起こるよ VBEのバグらしいけど
638 名前:デフォルトの名無しさん [2017/12/18(月) 13:34:10.63 ID:NqlVCppnp.net] VBAってどうやったら上達しますか? エクセル関数は達人級です エクセル関数みたいに慣れだけじゃ無理ですかね
639 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 13:43:31.23 ID:IKrWJ0B8a.net] >>621 Javaを勉強したらvbaも上達するよ
640 名前:デフォルトの名無しさん [2017/12/18(月) 13:47:42.85 ID:NqlVCppnp.net] >>622 JAVA押しさんこんにちわ
641 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 14:03:31.64 ID:yddZnfruM.net] Java推しはともかく他の言語を学ぶのはVBAの上達にも実際かなり役立つ
642 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 14:45:58.67 ID:c1zJrPAZp.net] (またメゾットくんだよ…)
643 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 16:14:09.20 ID:D45Nh6pha.net] >>623 ジャワティーの話しはしてないんだ、ごめんな
644 名前:デフォルトの名無しさん [2017/12/18(月) 16:30:46.07 ID:NqlVCppnp.net] VBAだけやればいい javaは環境が大変だ したいこともないし
645 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 16:48:04.05 ID:D45Nh6pha.net] プログラムの上達に早道はないんだよなあ というか、遠回りに思えることが早道だったりする と、自戒の意を込めて どうしてもエクセルと絡めたいならC♯でもいいけどな
646 名前:デフォルトの名無しさん [2017/12/18(月) 16:49:17.57 ID:7XOqOvzzd.net] 今のうちにPythonを学ぶ www.publickey1.jp/blog/17/excelpython.html
647 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 17:57:32.74 ID:pW3jV0rpa.net] ぱいそんってアメリカではもっともメジャーなスクリプト言語なんだっけ
648 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 18:15:03.66 ID:fX+okHt3M.net] 何故にPythonかと思ったらエクセルにPython組み込むって話が出てるんだな。勉強するか‥
649 名前:デフォルトの名無しさん [2017/12/18(月) 19:14:05.94 ID:/veb4c2e0.net] >>628 自己評価だとそう感じるのかもしれないけど できる奴は最初からできるし、できない奴はいつまでたってもできない プログラムってそういうもん
650 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 19:34:37.55 ID:pW3jV0rpa.net] >>632 そりゃあ人によっちゃ違うが、それは才能があるからで近道しようとしてそうなってる訳じゃないだろ わかんないことがあったら別の切り口から攻めると言うのもありじゃないの
651 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 19:45:01.61 ID:au4G9Tq20.net] VBAerさんついに終わるのか Pythonに駆逐されちゃうね
652 名前:デフォルトの名無しさん [2017/12/18(月) 19:45:05.21 ID:/veb4c2e0.net] >>633 ないとは言ってないよ 俺が言いたいのは、別の切り口から攻めようが近道しようが 既知の問題の解決策は知識として身につくが 未知の問題に対する解決能力は上げることができないって事 つまり上達とか意識しないで楽なやり方ばかり選ぶ奴がいつだって一番賢い
653 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 19:51:30.63 ID:pW3jV0rpa.net] >>635 天才の人は苦にしないだけでちゃんと道は通ってるよ
654 名前:デフォルトの名無しさん [2017/12/18(月) 19:54:37.06 ID:/veb4c2e0.net] >>636 何を言いたいのかよくわからんがそもそも俺が言ってるのは天才のことじゃない 単にプログラムができる奴とできない奴の話なんだが
655 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 19:57:32.60 ID:pW3jV0rpa.net] >>637 iqないとダメなのはプログラムに限らんし まあスレチだから退散するわ
656 名前:デフォルトの名無しさん [2017/12/18(月) 20:01:42.20 ID:/veb4c2e0.net] >>638 いやだからIQとかの話じゃないってば 目の前の問題をありのままに受け入れる事ができる奴と 既に自分の中に構築された知識に当てはめないと解釈できない奴の違いだって
657 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 23:11:06.58 ID:aXpCltYZ0.net] >>634 仮に採用されて皆がPython触るようになったら、今度はPython(笑)って扱いされる未来が見えるわ。 格好つけだけでやってる奴らが抜けて、AIとか作ってる真っ当なのが風評被害を受けそう。 言語は統一するよりも、それを扱うユーザー層毎に分けた方がいい。
658 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 12:28:53.96 ID:/mb664F4a.net] >>618 俺も似たようなの見たことがある。 でも引きずるような問題じゃ無かったと思う。 Excel再起動かPC再起動で直るんじゃね?
659 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 12:37:10.24 ID:pfZPHd/La.net] >>635 逆だと思うが。 未知の問題に対しての解決能力は上げることができる。 楽なやり方を選ぶ奴は上げられないだけ。 厳密には未知な問題といっても既知の問題と全く違うわけじゃない。
660 名前:デフォルトの名無しさん [2017/12/19(火) 16:48:29.82 ID:mNLh8c+i0.net] ここのやつらがあんまジャバジャバいうから引っ張り出して着たわ とりあえずコードは実行せずにパラ読みしようと思う https://i.imgur.com/peDAurF.jpg
661 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 17:01:17.86 ID:Bngslooy0.net] >>643 「わー、ロレックス持ってるなんてすごーい!」 「え?こんなの普
662 名前:ハだよ。持ってないとかwww」 みたいな展開になる事を期待してるんだろうけど腕時計の入れ方が無理やり過ぎて笑いしか出てこないw 本は中古屋で買ったみたいだし、あまりにもちぐはぐ過ぎてむしろ格を下げてるようにしか見えないんだが。 [] [ここ壊れてます]
663 名前:デフォルトの名無しさん [2017/12/19(火) 18:14:51.58 ID:J+VWEpvK0.net] >>642 うんだから最初に言ったんだけど自己評価だとそう感じるんだってば
664 名前:デフォルトの名無しさん [2017/12/19(火) 19:02:39.42 ID:mNLh8c+i0.net] JAVAの本でわかったこと 変数の宣言と同時に値を入れることを初期化という 変数の値が変わらないことを定数という いま10ページ目だけどこんくらいだわ
665 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 19:57:29.94 ID:9tP52mqX0.net] >>646 >変数の値が変わらないことを定数という これはちょっと違うのでは?
666 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 20:25:43.13 ID:fLKwjLgZa.net] >>645 お前の自己評価がそう感じてるだけだろw 何か自分はプログラム書ける気になってるようだけどw
667 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 21:14:28.27 ID:4AWSTK/ra.net] 変数の初期かもなんかむずむずする理解だな