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


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

Excel VBA 質問スレ Part66



1 名前:1000 [2020/05/10(日) 13:43:45 ID:Nkoph0aj.net]
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part65
https://mevius.5ch.net/test/read.cgi/tech/1584430040/

※デフォルト設定

32 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 00:34:19 ID:SrnItsWT.net]
>>25
ブレてんじゃんww
できる奴なんだろ?
じゃないなら「私の"何通り"には1つでも含まれますごめんなさいもうしません」って謝れよww
あとコード付で答えたことないこともなw

>出来る奴は瞬時に何通りかは思いつく。

>バカと違って質問の意味が分かってる人はこういう答えになるから何通り等の方法等とならないことを知っている。

>内容によって3通りになる場合もあれば5通りになる場合もある。

>それに最適と考える1通りの場合だってある。

お前はVBAならintもint()も同一視するのかよww
素人めw
1個か3個か5個か、断言も出来ない臆病者めww

33 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 00:41:52 ID:SrnItsWT.net]
>>25
言い訳がましいんだよなww

>最初から具体的に何通りなどと想定していない発言だ。
→普通ツッコまれるから想定するんだよなあw

>内容によって3通りになる場合もあれば5通りになる場合もある。
それに最適と考える1通りの場合だってある。


34 名前:最適は1つじゃないのかねww
 それとも要件がわからないから最適と言えませんぴえーんとか社会で言ってるのかww

>←これがあるから「何通りかは思いつく」の発言で、「最適の1通りの場合もありうる」等と追加して全ての状況に対応する必要は無い。
→後だしで言い訳ww
それまでずっと「何通りか」を固持してるのになww

>お前の「ブレブレ」という単語の意味はどの辞書に載っているどういう意味なのか、そしてそういう説明をしていないからその不備をもって日本語が出来ていない等と突っ込むことなどという事態になってしまう。
→頭固いねえw日本語の由来とかにこだわって嫌われるタイプだろwwww
 そんなんだからずっとVBAおじさんなんだよw

>しかし、お前の「・瞬時に5個思い付く(ドヤア)」は、「瞬時に5通り思いついたとして」の例示に対して、常に5通り思いつくと解釈したということだ。
→じゃあ「何通りか思いつく」は具体的に何個なんだよww
 腹くくってきめろやww
[]
[ここ壊れてます]

35 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 00:51:58.58 ID:SrnItsWT.net]
>>31
面白いよなww

仮に結論をそっちに寄せると、
今までの発言が全て、

「瞬時に思い付きます。でもそれは1通りでもあるし複数通りでもあるし、思い付かないかもしれません」

とかいう、「私は10年以上のベテラン(笑)だけど雑魚です」って告白するような発言になるんだぜww
こんなちょろいやつ初めてだわw
サンプルコードも出せないわけですわww

36 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 07:39:51 ID:I4uaPjG2.net]
>>31
だからどこがブレてんだよwww
さっさと指摘しろな。

最初から場合によると言ってるがw
お前はIf文やSelect文を使えないのか?

37 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 07:42:40.74 ID:I4uaPjG2.net]
>>32
www
お前の考えだと頭が固くなるという話をしたのにw

そんな頭の固い話じゃ会話にならねえと言ってる。

あいかわらず日本語が未熟だなw

38 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 07:45:00.31 ID:I4uaPjG2.net]
>>33
全てに対応したやり取りなんて出来ないし、誰もやってないと言ってるんだ。
お前も出来ていない。

まともな奴ならそういう前提で会話してる。

39 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 07:47:08.17 ID:I4uaPjG2.net]
>>33
ところで、「・瞬時に5個思い付く(ドヤア)」が間違ってたことについては無視か?
触れて欲しくない?

そういうわけにはいかんぞ。
散々迷惑かけてるんだからな。

40 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 07:50:53.21 ID:FFR24bht.net]
>>33
これだけはその通りで草



41 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 08:13:35.16 ID:FFR24bht.net]
>>34
VBA10年おじさん大発狂の4連投してて草
高血圧だな、体は大事にしろよw

>だからどこがブレてんだよwww
自分が日本語分かってねえじゃねえかw
「場合による」は後だしだぞww何通りかは思い付くの時点で名言してるか?ww

>お前の考えだと頭が固くなるという話をしたのにw
お前のは表現のゆらぎじゃなくて、明確にずれてんだよw
ほら、1個か3個か?臆病者めwww

>全てに対応したやり取りなんて出来ないし、誰もやってないと言ってるんだ。
10年おじさんなら最適解出せるだろ?w
「瞬時に思い付きます。でもそれは1通りでもあるし複数通りでもあるし、思い付かないかもしれません。私は10年以上のベテラン(笑)だけど雑魚ですすいません」って告白してもいいぞw

>ところで、「・瞬時に5個思い付く(ドヤア)」が間違ってたことについては無視か?
最初から何個か名言しない臆病者のせいで仮に特定してあげてるだけだよww
お前のせいじゃんwww
5個のところ好きな数字にしろよww

数字特定したら次はほんとに「瞬時に思い付くか」テストしたげてもいいなw
てか>>28にも答えてないしなw
10年以上やってるのにww

42 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 12:29:54 ID:I4uaPjG2.net]
>>39
間違いを認めるか、間違って無い根拠を示せ。
逃げようとしてるのミエミエだぞw

↑もうこれを示さない限り先には進まん。

43 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 13:47:56 ID:8FYlmiYH.net]
>>40
言い返せないことを認めた負け宣言あざっすww
>>28もわかんないんだもんなw
よっわ、こりゃVBA10年おじさんだわww

44 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 13:53:42 ID:8FYlmiYH.net]
これに懲りたらてきとーなこと言ったり「10年以上前だけど(ドヤア)」とか言うの控えとけよww
こうやって恥かくからなww
あ、でもまた数年後思い出して修正するんでしたっけww
こいつのプロダクトとかアウトプットは信用できないなww

45 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 16:56:54 ID:rA4rVxbw.net]
その熱量を分けてくれ

46 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 17:47:19 ID:kYSBNuZD.net]
ここで教わった「空白になるまで」とか
「空白じゃな

47 名前:ッれば」
って言うのが自分の職場で凄い役に立って多用してますわ
ケースによるんだろうけどこれが当たり前なのかあまり使わない方がいいのはわからない
Sub 空白まで処理 ()
 Dim gy As Long
 Do while cells(gy, 5) <> ""
 何かの処理
 gy = gy + 1
 loop
End Sub

Sub 作成者を入力させる ()
 Dim Ib As String
 Ib = Inputbox ("フルネームで入力して下さい","作成者","")
 If Ib <>"" Then
 Range("A4").value = Ib
 Else
 Msgbox ("後で入力して下さい",vbokonly,"作成者欄")
 End If
End Sub

ここら辺とか職場で多用してたら俺です。
あと色々覚えて作ってて思うのが絶望的に変数の名付け方にセンスが無い…
データ型は深く覚えなくてもいいってサイトで見たけどVbMsgBoxResultとか前スレで教えたくた人のおかげで役立ってるし多分覚えた方がいいデータ型も結構あるんだろうなぁと





 
[]
[ここ壊れてます]

48 名前:デフォルトの名無しさん [2020/05/12(火) 18:29:41.52 ID:mEZSl2qw.net]
if文ってスゲー便利!って言ってるのと変わらんぞ
条件ループなんてプログラミング言語として最低限の必須機能

49 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 18:56:23 ID:kYSBNuZD.net]
>>45
変わらんぞというかまさにそこに感動してるレベルの入門者ですよ
ただ毎日コードを何かしら書かないとすぐ忘れ書き方のルールを忘れちゃいますわ

ある程度多用する基本的なコードは自分でテンプレ作ってそこから引用してるから
必要なコードは必要な時だけそこから引っ張れば良いという人ももいたけどやっぱこのマクロ作ろうと思ってカタカタと悩まずに打って作れるようになりたいですね

50 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 19:58:51 ID:+ufJa1rh.net]
>>44
繰り返しの内側やIF文の内側ではインデント(字下げ)すると読みやすくなる
あと個人的には変数宣言(Dim)の下に空行入れてる



51 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 20:04:14 ID:DpVh1gfo.net]
システムにお願いしても駄目ならプロセスのプライオリティを
思い切り上げて他のプロセスをできるだけ起動させないとか。

52 名前:デフォルトの名無しさん [2020/05/12(火) 20:42:29 ID:UaCqmgBQ.net]
>>44
書けないとか忘れるなんて言ってるけどただのネタだろ?

普通にコピペしたら Msgbox とはならない
自動的に MsgBox に修正されるからな

53 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 20:49:40.88 ID:kYSBNuZD.net]
>>49
いや、ここでのレスは手打ちだよ
そのぐらい練習癖つけないと忘れちゃう
とにかく体に無意識に覚えさせたい

54 名前:デフォルトの名無しさん [2020/05/12(火) 20:54:41 ID:UaCqmgBQ.net]
は?手打ちならVBEに入力しなきゃ意味ないだろう
それとも常時Excelに触ることができない環境でイメージトレーニングでもしているの?
それならキーボードじゃなくて手書きをお勧めするよ

55 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 20:57:51 ID:+ufJa1rh.net]
自治厨うざっ

56 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 21:00:50 ID:kYSBNuZD.net]
いやVBE触りながらスマホで2ちゃんもやってるんよ
家帰ってダラダラしたいのに勉強しなきゃという強迫観念すらあるんですわ
そのぐらい使いこなせるようになりたひ

57 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 21:01:39 ID:I4uaPjG2.net]
>>41
逃げるのかねwww
間違いを認めるか、間違って無い根拠を示せ。

58 名前:デフォルトの名無しさん [2020/05/12(火) 21:03:00 ID:UaCqmgBQ.net]
へー、スマホで打ち込んだのか
スゲーな
尊敬するわ

59 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 23:00:42 ID:E9stGPs+.net]
プログラミングはif文に始まりif文に終わる

60 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 23:09:10 ID:wZ0jz+Fj.net]
endifで終わるとか言ってみる



61 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 23:41:32 ID:+oXZY/9K.net]
スマホは本当に入力がむずかしい
iphoneだけど、@ とか ? とか ; とか、
半角と全角を見分ける方法ないですかね

62 名前:デフォルトの名無しさん [2020/05/12(火) 23:46:48 ID:afM3cpmW.net]
>>58
馬鹿は消えろ
死ね

63 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:01:32 ID:J5ZD6qBk.net]
>>58
表示フォント変えられないのか?

64 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 08:48:22.54 ID:EdihJer9.net]
>>41
なんだ、敗走か?
言い返せなくなると敗走?

「・瞬時に5個思い付く(ドヤア)」が間違ってたことに反論出来なくて敗走?

65 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 14:24:20 ID:MXc7+Bkx.net]
>>58
俺より馬鹿じゃないから気にしなくて良いよ!

66 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 16:28:05 ID:plPxHhzS.net]
VBA7以前でPtrSafe付コードを修正する際にコンパイルエラーを避けるには、該当箇所を一つずつコメントアウトしないといけないのでしょうか

67 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 19:05:47 ID:LXKghMMB.net]
'変数cに列番号が記録されており、その右隣の列から右に向かって最終列(変数LastCol)までに一つ目の文字列"型式"がある1つ手前の列番号を変数ccに記録したいのですが、これであってますか?
 

cc = Range( c : LastCol ).Find("型式").Columns - 1

68 名前:64 [2020/05/13(水) 19:07:10 ID:LXKghMMB.net]
↑1行目だけでする場合をお願いします

69 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 19:55:58.54 ID:y5a8J0I9.net]
検索条件が甘いのと見つかんないとエラーが出るのが問題だけど
cc = Range(Columns(c + 1), Columns(LastCol)).Find("型式").Column - 1

70 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 19:57:35.91 ID:53iRH1vl.net]
有ってない



71 名前:64 mailto:sage [2020/05/13(水) 20:29:22 ID:LXKghMMB.net]
>>66
ありがとうございますm(__)m

72 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 10:15:33 ID:PW5MRjsJ.net]
>>41
結局、勝ち負けだけで論理的に正しい間違いはどうでも良い奴だったな。
こういう奴は確かに拘ることをしないからいつまでたっても初心者を脱っすることが出来ない。

実際には言い負かされてるんだが言い負かされなかった形だけあれば満足すると。

こういう糞がどこで自尊心を保っているのか全く理解出来んw

73 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 10:46:53 ID:n+ookAJT.net]
基地外同士のケンカがやっと終わったか
最初に引いた奴の方が偉いな

はい次の方

74 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 14:49:40 ID:PW5MRjsJ.net]
>>70
悔しいのか?

75 名前:デフォルトの名無しさん [2020/05/14(Thu) 15:41:22 ID:uf0GqGLY.net]
>>71
くやしいです!!
https://stat.ameba.jp/user_images/20170614/14/go-go-yukarin/d2/54/j/o0925096013960484198.jpg

76 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 19:23:42 ID:gToX6xvs.net]
ネットで拾ったコードをつぎはぎ足してoffice2010のExcelで使ってたけど
今年会社がやっと2019に上げるらしい
使えなくなるコードがあったら終わるわ

77 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 20:29:36 ID:Q92dSSfg.net]
32bit→64bitならエラーが出るかもだが、それ以外は特に変更はないはず

78 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 21:48:19.93 ID:I7glJUMv.net]
クラス化して再利用考えて作ってたのですが、getter経由で取得したデータを処理したり、ボタン関係の養生したり、フォームに描画反映したりでユーザーフォームにコードが集中してしまいました
構造が悪いのでしょうか

ユーザーフォーム
-ボタンイベントコールバッククラス
-シートのデータ書き換えクラス
-割込タイマークラス
-シリアル機器インターフェースクラス
--各機器のラッパークラス
---COMポートクラス

79 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 21:52:56.60 ID:pdcPp9kM.net]
>>75
何でクラス化したのにフォームに集中するの?
寧ろクラスに分割されるんじゃなくて?

80 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 22:15:42 ID:Q92dSSfg.net]
>>75
単純にGetter以外のメソッドを実装すればいいのでは?



81 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 22:42:08.69 ID:tZ6/JvsB.net]
>>73
MDIとSDIの違いに気をつけて

82 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 23:22:45 ID:gToX6xvs.net]
ユーザーフォームは俺のようなVBA超初心者にとって憧れだわ
ある程度マクロ作ったら

とりあえずThisWorkbookのとこで
Private sub Workbook_Open()
UserForm1. Show
End Sub
を作って
ユーザーフォームのShowModalをFalseにする

で使えるのはコマンドボタンという…
ボタンクリックに標準モジュールで作ったプロシージャ名を貼り付けると…

毎回これじゃそりゃ上達しないわ
もっとコード覚えて効率的な高見を目指したいところだけど脳がついていかない

83 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 23:30:25 ID:Q92dSSfg.net]
>>79
それで十分

84 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 23:40:56.55 ID:gToX6xvs.net]
>>80
いや、流石にこれじゃいかんわ情けないと自覚

標準モジュールにあるプロシージャが自作のコードならまだしもマクロの記録を無駄な動きだけ消して貼り付けたりネットのをパクって少しいじったりするだけ

ユーザーフォームもコマンドボタン以外に使い方わからず使ってないし
CSVやtxtを読み込んだりとかそういう特殊な事書ける人は凄いわ
若い頃から情報システムとかそういう勉強すればよかったわ

英語 資格 PCスキルの時代は変わらんね

85 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 23:50:14.00 ID:I7glJUMv.net]
>>76>>77
ポーリングしてる機器Aの状態に応じて機器B、Cに異なるコマンドを送ってデータを取得する様な処理が何通りか合って多くなってます。インターフェースクラスとの間に処理クラスみたいなのを入れるのでしょうか

86 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 00:17:59 ID:qMmlu16O.net]
>>82
データの取得をクエリサービスクラスに分離してください
フォームクラスはフォーム自身の管理とサービスの呼び出しだけを行うものです

87 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 00:41:48 ID:ZviQyBFQ.net]
>>81
今はボタン使うマクロしか作る予定がないだけだと思うが。
csvを使うマクロが必要になった時に調べるだろうし、
今は知らないからって自虐的になる必要ないんでは?

>>82
一般的にオブジェクト指向は「最終的にやらせたいこと(=やれること)」をメソッドとしてクラスに定義にして、
そのための条件や必要なデータなどはクラス自体が判断したり取得したりするか、引数として与える
もし、Getter等でデータをメインルーチンに集めて統合的に処理するなら従来の手続き型になる

今回の例で言えば、
機器BCからから受け取ったデータを処理するPublicメソッドを定義したクラスを作って
機器Aに応じて機器BCにコマンドを送ったりっていった処理は、そのクラス内でやるのがいいかも

88 名前:デフォルトの名無しさん [2020/05/15(金) 01:33:02 ID:PClFYiSI.net]
ExcelフォームにExcelグリッドコントロールがあればむてきだたかもしれない

89 名前:デフォルトの名無しさん [2020/05/15(金) 01:38:53 ID:BHVdwBuM.net]
割り込みとかコールバックとかわからないシロートの発想で笑える

90 名前:デフォルトの名無しさん [2020/05/15(金) 01:42:44 ID:h8nORdF5.net]
>>84
CSVを扱う



91 名前:K要性がじりじり迫ってるんだけどネットにあるコードの窃盗常習犯で覚える脳みそがないからノースキル野郎 
当然モチベもないから全然進んでない

?ダイアログで任意のCSVデータを選択して
それを今開いているシートに読み込まれる(CSVデータは読み込んだ後に自動で閉じる)
(元々シートにグラフがあるがそれはそのまま)

?このシートをブック内の一番右にシートをコピー

多分?はどこかで拾えそうだけど?のプロシージャがありそうでなかなかネットから盗めず激ムズ 
ここの勉強できる人達は勝ち組だよ
[]
[ここ壊れてます]

92 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 02:20:59 ID:+1dt40Gj.net]
勝ち組かどうかは別問題だな

93 名前:デフォルトの名無しさん [2020/05/15(金) 09:02:28 ID:uW7fixd9.net]
非表示のシートがいくつかある状態で、一番右端のシートをアクティブにしたいのですが、worksheets.countで取得しようとすると、非表示のシートが選択されてしまいます
表示されているシートの一番右端をアクティブにするにはどうすればいいですか?

94 名前:デフォルトの名無しさん [2020/05/15(金) 09:32:08 ID:uW7fixd9.net]
質問がおかしかったので書き直します

マクロブックでなくアドインでやっています
一番右端のシートから値を取ってきて、その後に作成する新規のシートに貼り付けたいです
Sheets(WorkSheets.Count).Activateで、表示上の一番右端のシートをアクティブにすることはできるのですが、操作ができません
非表示のシートがいくつかあり、シート番号は若くてもそちらがWorkSheets.Countで選ばれているようで、値はそこから取ってきてしまっているみたいです
エクセルの表示上のシートの並びで、一番右端を選択してそこから値を取りたいのですが、どうすればいいでしょうか?

95 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 09:38:25 ID:/bb/ZDbJ.net]
For i = Worksheets.Count To 1 Step - 1

If Worksheets(i).Visible Then
Worksheets(i).Activate
Exit For
End If

Next

96 名前:デフォルトの名無しさん [2020/05/15(金) 12:19:24 ID:Ras8zr0W.net]
>>91
あー、なるほど
カウントを減らしていって最初にヒットしたVisibleでループを抜ければいいんですね
助かりました、ありがとうございます

97 名前:デフォルトの名無しさん [2020/05/15(金) 12:51:25 ID:wvzrJYUA.net]
シート1にラベルやタイトルや色を設定した
雛型になるグラフがあって
それをアクティブなシートにコピーして貼り付けられる事コード、もし出来れば教えて下さい。

今はシート1に戻ってグラフをコピーして
貼りたいシートに戻って貼り付け
をやってます
数値は反映させなくて雛形になるグラフをとにかくすぐにアクティブなシートに持ってきたいです

マクロの記録でもやり方わからずです…

シート1にある("グラフ1")というのを
アクティブなシートに貼り付け、わかりませぬ

98 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 13:03:29 ID:ChXNP+/8.net]
Ruby なんか、こういう感じで、CSV ファイルを1行ずつ処理していくだけ。
GUI で処理すると、Rubyよりも何倍も難しい

require 'csv'

file_path = ARGV[ 0 ]

# 引数には、ファイルパスを渡す。input.csv
# CSV ファイルを、1行ずつ処理する
CSV.foreach( file_path ) do |row|
puts "#{ row[ "col_1" ] } : #{ row[ "col_2" ] }" # 列1・列2
end

99 名前:デフォルトの名無しさん [2020/05/15(金) 17:00:34 ID:WgI7x3A0.net]
シート1にあるグラフ1をアクティブシートにコピペ

調べてみたところ結局俺がやりたいのはシンプルにこれか
マクロの記録だと限界あるわ。

100 名前:デフォルトの名無しさん [2020/05/15(金) 19:22:44 ID:h8nORdF5.net]
Sub 数値反転()
Dim ms As VbMsgBoxResult
Dim gg As Long
ms = MsgBox("マイナス値?", vbYesNo, "B列C列を確認")
If ms = vbYes Then
gg = 113
Do While Cells(gg, 2) <> ""
Cells(gg, 17) = Cells(gg, 2) * -1
Cells(gg, 18) = Cells(gg, 3) * -1
gg = gg + 1
Else
Do While Cells(gg, 2) <> ""
Cells(gg, 17) = Cells(gg, 2)
Cells(gg, 18) = Cells(gg, 3)
gg = gg + 1
Loop
End If
End Sub

ドヤ顔でいけるだろと思ったらnoを選択するとElseの次のDo whileのところでエラーになりますけどどう手直ししたらいいですか



101 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 19:26:11 ID:B9XmHC3V.net]
>>96
vbNoのとき、ggはいくつ?

102 名前:デフォルトの名無しさん [2020/05/15(金) 19:30:22 ID:h8nORdF5.net]
>>97
レスした後にvbnoの時のgg入れ忘れてたと思ってElseの後に
gg=113を入れたけどやっぱりエラーになりました
根本的にルールが間違ってます?

103 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 19:39:43 ID:RYV/7Uuu.net]
1つめの Do while に対応する Loop がない

104 名前:デフォルトの名無しさん [2020/05/15(金) 19:49:26.82 ID:h8nORdF5.net]
>>99
ほんと恥ずかしすぎるミスでした。
ありがとうございます。 
間違っといてなんだけど自分の考え方が間違ってない事もわかってホッとしました。
何言ってんだこいつと思われて当然ですがそんな気持ちです

105 名前:デフォルトの名無しさん [2020/05/15(金) 20:01:55 ID:BHVdwBuM.net]
>>100
そもそもそれ以前に馬鹿過ぎて話にならない

106 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 20:42:05 ID:SPdgeRtp.net]
インデントで分かったりしないもんかね

107 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 20:58:58.45 ID:Syu0A9me.net]
VSのエディタなら勝手にやってくれるけどExcelVBEはそこまで親切じゃないから、
 ・Doと書いたら、中間の処理書く前にLoopをセットで先に書く。
 ・中間の処理はインデント付ける
こうしないと長い処理だとミスる。

108 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 21:24:59 ID:1l79UUQc.net]
田中先生ユーチューバーになってたんか。
エクセル系ユーチューバーは前からいるけど
彼らのチャンネル登録者数どんどん抜いてくな。
マクロ以外にもエクセルの機能全般もアップしてるし
他のエクセルユーチューバ―はもう躍進することはないな。
ご愁傷さま。

109 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 21:26:28 ID:xUEF26i7.net]
インデントしてるとVBEが勝手に空行にもインデント用スペースいれやがる

110 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 22:51:12 ID:B9PySqRq.net]
マクロの処理だけmsオーダーで止めて、シートでの作業には影響させない方法ってありますか?
sleepやapplication.waitを使うと、止めている間はマウスポインタが待機中に切り替わって気が散ります。



111 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 23:02:13 ID:RYV/7Uuu.net]
意味が解らん

112 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 23:07:56 ID:b6XlKvF2.net]
DoEvents を定期的に入れてあげて妥協するのがいいのでは

113 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 00:10:47.87 ID:DWLUsoam.net]
気が散るほうが悪い

114 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 00:24:20.49 ID:dnsCYCpT.net]
waitが長いと入力作業とかできんだろうな
マルチスレッドできたっけ?

115 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 00:27:49.65 ID:PCcdgCy6.net]
>msオーダー
ジェイッ、ジェイッ、ジェイッ、ジェイッwwww

>>107
俺もわからん。
どういう意味だろう。

116 名前:デフォルトの名無しさん [2020/05/16(土) 00:41:23.65 ID:W7xr4LsN.net]
馬鹿は全角英文字、自分勝手な略語を使う法則

117 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 02:12:04 ID:PXYVKn+N.net]
非表示にすれば気にならないとか?

118 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 02:34:42 ID:LVL/9uGV.net]
msオーダーって何?

119 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 05:07:24 ID:VHZcBZeD.net]
マイクロ秒で処理するってことかな?

120 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 08:49:36.47 ID:mgXvg9qv.net]
あーミリ秒指定でマクロを止めたいってことか?
それでもまだわからん



121 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 09:59:53 ID:Tk5Omr1n.net]
せめてmsecオーダーと書けばわかりやすいのに
しかも100ミリとかじゃないか?数ミリは気づかないはず
GetInputStateとDoEventsでどうにかできんか

122 名前:デフォルトの名無しさん [2020/05/17(日) 13:30:28 ID:qdHuVgcd.net]
>>110
マルチプロセスならできそうな気がしない?
知らんけど

123 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 13:48:57 ID:LkRZ0WP+.net]
[現象]
e

124 名前:xcelの vbaエディタで、フォントの設定が出来なくなった。
ツール−オプション−エディタの設定を選択すると、excelが強制終了してしまう。

[環境]
windows10 pro
office personal 2019

[発生時の操作]
エディタの設定を、MSpゴシックから、 Ricty Diminished(Ricty Diminished Discordだったかも)
に変更した直後から発生するようになった。

http://blog.higty.xyz/post/vbe-setting-error/
https://www.moug.net/tech/exvba/0150130.html
ここを見ましたが、レジストリキー:HKEY_CURRENT_USER\Software\Microsoft\VBA\7.1\Common が存在しません。

よろしくお願いします
[]
[ここ壊れてます]

125 名前:デフォルトの名無しさん [2020/05/17(日) 14:05:50 ID:dvSHUyYR.net]
>>119
死ね

126 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 14:06:13 ID:GAbG2JNM.net]
>>119
ワークシートのページレイアウトからテーマは変更できる?

127 名前:デフォルトの名無しさん [2020/05/17(日) 14:11:19 ID:oJIHh9Jk.net]
>>120
この馬鹿モンが

128 名前:デフォルトの名無しさん [2020/05/17(日) 14:12:58 ID:oJIHh9Jk.net]
>>121
はいできますがそれでは解決しないのです

129 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 14:21:32 ID:GAbG2JNM.net]
>>123
まずレジストリのVBA\7.1\Commonが存在しないことが異常だから、Excelを再インストールするのが一番の早道な気がする

130 名前:sage mailto:119 [2020/05/17(日) 14:31:40 ID:LkRZ0WP+.net]
>>121
123 は私の書き込みではないのですが、レイアウトを変更して何かファイルを保存すれば
レジストリキーが作成されるということかと思い試しましたが、作成されませんでした
>>124
やはりそれしかないですかね。



131 名前:sage mailto:119 [2020/05/17(日) 14:34:16 ID:LkRZ0WP+.net]
>>125
×レイアウトを変更して
○テーマを変更して

132 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 15:10:42 ID:IJ/C56sM.net]
>>104
萩原をおぎわらって読んだりIndirectをインディレクトって言ってたから
そっ閉じしたわ。






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

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

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