ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part65
https://mevius.5ch.net/test/read.cgi/tech/1584430040/
※デフォルト設定
Excel VBA 質問スレ Part66
■ このスレッドは過去ログ倉庫に格納されています
11000
2020/05/10(日) 13:43:45.00ID:Nkoph0aj2020/05/12(火) 07:39:51.79ID:I4uaPjG2
2020/05/12(火) 07:42:40.74ID:I4uaPjG2
2020/05/12(火) 07:45:00.31ID:I4uaPjG2
2020/05/12(火) 07:47:08.17ID:I4uaPjG2
2020/05/12(火) 07:50:53.21ID:FFR24bht
>>33
これだけはその通りで草
これだけはその通りで草
2020/05/12(火) 08:13:35.16ID:FFR24bht
>>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
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
2020/05/12(火) 12:29:54.81ID:I4uaPjG2
2020/05/12(火) 13:47:56.69ID:8FYlmiYH
2020/05/12(火) 13:53:42.12ID:8FYlmiYH
これに懲りたらてきとーなこと言ったり「10年以上前だけど(ドヤア)」とか言うの控えとけよww
こうやって恥かくからなww
あ、でもまた数年後思い出して修正するんでしたっけww
こいつのプロダクトとかアウトプットは信用できないなww
こうやって恥かくからなww
あ、でもまた数年後思い出して修正するんでしたっけww
こいつのプロダクトとかアウトプットは信用できないなww
2020/05/12(火) 16:56:54.34ID:rA4rVxbw
その熱量を分けてくれ
2020/05/12(火) 17:47:19.57ID:kYSBNuZD
ここで教わった「空白になるまで」とか
「空白じゃなければ」
って言うのが自分の職場で凄い役に立って多用してますわ
ケースによるんだろうけどこれが当たり前なのかあまり使わない方がいいのはわからない
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とか前スレで教えたくた人のおかげで役立ってるし多分覚えた方がいいデータ型も結構あるんだろうなぁと
「空白じゃなければ」
って言うのが自分の職場で凄い役に立って多用してますわ
ケースによるんだろうけどこれが当たり前なのかあまり使わない方がいいのはわからない
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とか前スレで教えたくた人のおかげで役立ってるし多分覚えた方がいいデータ型も結構あるんだろうなぁと
45デフォルトの名無しさん
2020/05/12(火) 18:29:41.52ID:mEZSl2qw if文ってスゲー便利!って言ってるのと変わらんぞ
条件ループなんてプログラミング言語として最低限の必須機能
条件ループなんてプログラミング言語として最低限の必須機能
2020/05/12(火) 18:56:23.44ID:kYSBNuZD
>>45
変わらんぞというかまさにそこに感動してるレベルの入門者ですよ
ただ毎日コードを何かしら書かないとすぐ忘れ書き方のルールを忘れちゃいますわ
ある程度多用する基本的なコードは自分でテンプレ作ってそこから引用してるから
必要なコードは必要な時だけそこから引っ張れば良いという人ももいたけどやっぱこのマクロ作ろうと思ってカタカタと悩まずに打って作れるようになりたいですね
変わらんぞというかまさにそこに感動してるレベルの入門者ですよ
ただ毎日コードを何かしら書かないとすぐ忘れ書き方のルールを忘れちゃいますわ
ある程度多用する基本的なコードは自分でテンプレ作ってそこから引用してるから
必要なコードは必要な時だけそこから引っ張れば良いという人ももいたけどやっぱこのマクロ作ろうと思ってカタカタと悩まずに打って作れるようになりたいですね
2020/05/12(火) 19:58:51.70ID:+ufJa1rh
2020/05/12(火) 20:04:14.59ID:DpVh1gfo
システムにお願いしても駄目ならプロセスのプライオリティを
思い切り上げて他のプロセスをできるだけ起動させないとか。
思い切り上げて他のプロセスをできるだけ起動させないとか。
49デフォルトの名無しさん
2020/05/12(火) 20:42:29.83ID:UaCqmgBQ2020/05/12(火) 20:49:40.88ID:kYSBNuZD
51デフォルトの名無しさん
2020/05/12(火) 20:54:41.98ID:UaCqmgBQ は?手打ちならVBEに入力しなきゃ意味ないだろう
それとも常時Excelに触ることができない環境でイメージトレーニングでもしているの?
それならキーボードじゃなくて手書きをお勧めするよ
それとも常時Excelに触ることができない環境でイメージトレーニングでもしているの?
それならキーボードじゃなくて手書きをお勧めするよ
2020/05/12(火) 20:57:51.11ID:+ufJa1rh
自治厨うざっ
2020/05/12(火) 21:00:50.06ID:kYSBNuZD
いやVBE触りながらスマホで2ちゃんもやってるんよ
家帰ってダラダラしたいのに勉強しなきゃという強迫観念すらあるんですわ
そのぐらい使いこなせるようになりたひ
家帰ってダラダラしたいのに勉強しなきゃという強迫観念すらあるんですわ
そのぐらい使いこなせるようになりたひ
2020/05/12(火) 21:01:39.78ID:I4uaPjG2
55デフォルトの名無しさん
2020/05/12(火) 21:03:00.03ID:UaCqmgBQ へー、スマホで打ち込んだのか
スゲーな
尊敬するわ
スゲーな
尊敬するわ
2020/05/12(火) 23:00:42.24ID:E9stGPs+
プログラミングはif文に始まりif文に終わる
2020/05/12(火) 23:09:10.91ID:wZ0jz+Fj
endifで終わるとか言ってみる
2020/05/12(火) 23:41:32.90ID:+oXZY/9K
スマホは本当に入力がむずかしい
iphoneだけど、@ とか ? とか ; とか、
半角と全角を見分ける方法ないですかね
iphoneだけど、@ とか ? とか ; とか、
半角と全角を見分ける方法ないですかね
59デフォルトの名無しさん
2020/05/12(火) 23:46:48.30ID:afM3cpmW2020/05/13(水) 00:01:32.19ID:J5ZD6qBk
>>58
表示フォント変えられないのか?
表示フォント変えられないのか?
2020/05/13(水) 08:48:22.54ID:EdihJer9
2020/05/13(水) 14:24:20.48ID:MXc7+Bkx
>>58
俺より馬鹿じゃないから気にしなくて良いよ!
俺より馬鹿じゃないから気にしなくて良いよ!
2020/05/13(水) 16:28:05.50ID:plPxHhzS
VBA7以前でPtrSafe付コードを修正する際にコンパイルエラーを避けるには、該当箇所を一つずつコメントアウトしないといけないのでしょうか
2020/05/13(水) 19:05:47.04ID:LXKghMMB
'変数cに列番号が記録されており、その右隣の列から右に向かって最終列(変数LastCol)までに一つ目の文字列"型式"がある1つ手前の列番号を変数ccに記録したいのですが、これであってますか?
cc = Range( c : LastCol ).Find("型式").Columns - 1
cc = Range( c : LastCol ).Find("型式").Columns - 1
6564
2020/05/13(水) 19:07:10.17ID:LXKghMMB ↑1行目だけでする場合をお願いします
2020/05/13(水) 19:55:58.54ID:y5a8J0I9
検索条件が甘いのと見つかんないとエラーが出るのが問題だけど
cc = Range(Columns(c + 1), Columns(LastCol)).Find("型式").Column - 1
cc = Range(Columns(c + 1), Columns(LastCol)).Find("型式").Column - 1
2020/05/13(水) 19:57:35.91ID:53iRH1vl
有ってない
2020/05/14(木) 10:15:33.79ID:PW5MRjsJ
>>41
結局、勝ち負けだけで論理的に正しい間違いはどうでも良い奴だったな。
こういう奴は確かに拘ることをしないからいつまでたっても初心者を脱っすることが出来ない。
実際には言い負かされてるんだが言い負かされなかった形だけあれば満足すると。
こういう糞がどこで自尊心を保っているのか全く理解出来んw
結局、勝ち負けだけで論理的に正しい間違いはどうでも良い奴だったな。
こういう奴は確かに拘ることをしないからいつまでたっても初心者を脱っすることが出来ない。
実際には言い負かされてるんだが言い負かされなかった形だけあれば満足すると。
こういう糞がどこで自尊心を保っているのか全く理解出来んw
2020/05/14(木) 10:46:53.77ID:n+ookAJT
基地外同士のケンカがやっと終わったか
最初に引いた奴の方が偉いな
はい次の方
最初に引いた奴の方が偉いな
はい次の方
2020/05/14(木) 14:49:40.82ID:PW5MRjsJ
>>70
悔しいのか?
悔しいのか?
72デフォルトの名無しさん
2020/05/14(木) 15:41:22.22ID:uf0GqGLY2020/05/14(木) 19:23:42.76ID:gToX6xvs
ネットで拾ったコードをつぎはぎ足してoffice2010のExcelで使ってたけど
今年会社がやっと2019に上げるらしい
使えなくなるコードがあったら終わるわ
今年会社がやっと2019に上げるらしい
使えなくなるコードがあったら終わるわ
2020/05/14(木) 20:29:36.41ID:Q92dSSfg
32bit→64bitならエラーが出るかもだが、それ以外は特に変更はないはず
2020/05/14(木) 21:48:19.93ID:I7glJUMv
クラス化して再利用考えて作ってたのですが、getter経由で取得したデータを処理したり、ボタン関係の養生したり、フォームに描画反映したりでユーザーフォームにコードが集中してしまいました
構造が悪いのでしょうか
ユーザーフォーム
-ボタンイベントコールバッククラス
-シートのデータ書き換えクラス
-割込タイマークラス
-シリアル機器インターフェースクラス
--各機器のラッパークラス
---COMポートクラス
構造が悪いのでしょうか
ユーザーフォーム
-ボタンイベントコールバッククラス
-シートのデータ書き換えクラス
-割込タイマークラス
-シリアル機器インターフェースクラス
--各機器のラッパークラス
---COMポートクラス
2020/05/14(木) 21:52:56.60ID:pdcPp9kM
2020/05/14(木) 22:15:42.82ID:Q92dSSfg
>>75
単純にGetter以外のメソッドを実装すればいいのでは?
単純にGetter以外のメソッドを実装すればいいのでは?
2020/05/14(木) 22:42:08.69ID:tZ6/JvsB
>>73
MDIとSDIの違いに気をつけて
MDIとSDIの違いに気をつけて
2020/05/14(木) 23:22:45.71ID:gToX6xvs
ユーザーフォームは俺のようなVBA超初心者にとって憧れだわ
ある程度マクロ作ったら
とりあえずThisWorkbookのとこで
Private sub Workbook_Open()
UserForm1. Show
End Sub
を作って
ユーザーフォームのShowModalをFalseにする
↓
で使えるのはコマンドボタンという…
ボタンクリックに標準モジュールで作ったプロシージャ名を貼り付けると…
毎回これじゃそりゃ上達しないわ
もっとコード覚えて効率的な高見を目指したいところだけど脳がついていかない
ある程度マクロ作ったら
とりあえずThisWorkbookのとこで
Private sub Workbook_Open()
UserForm1. Show
End Sub
を作って
ユーザーフォームのShowModalをFalseにする
↓
で使えるのはコマンドボタンという…
ボタンクリックに標準モジュールで作ったプロシージャ名を貼り付けると…
毎回これじゃそりゃ上達しないわ
もっとコード覚えて効率的な高見を目指したいところだけど脳がついていかない
2020/05/14(木) 23:30:25.59ID:Q92dSSfg
>>79
それで十分
それで十分
2020/05/14(木) 23:40:56.55ID:gToX6xvs
>>80
いや、流石にこれじゃいかんわ情けないと自覚
標準モジュールにあるプロシージャが自作のコードならまだしもマクロの記録を無駄な動きだけ消して貼り付けたりネットのをパクって少しいじったりするだけ
ユーザーフォームもコマンドボタン以外に使い方わからず使ってないし
CSVやtxtを読み込んだりとかそういう特殊な事書ける人は凄いわ
若い頃から情報システムとかそういう勉強すればよかったわ
英語 資格 PCスキルの時代は変わらんね
いや、流石にこれじゃいかんわ情けないと自覚
標準モジュールにあるプロシージャが自作のコードならまだしもマクロの記録を無駄な動きだけ消して貼り付けたりネットのをパクって少しいじったりするだけ
ユーザーフォームもコマンドボタン以外に使い方わからず使ってないし
CSVやtxtを読み込んだりとかそういう特殊な事書ける人は凄いわ
若い頃から情報システムとかそういう勉強すればよかったわ
英語 資格 PCスキルの時代は変わらんね
2020/05/14(木) 23:50:14.00ID:I7glJUMv
>>76>>77
ポーリングしてる機器Aの状態に応じて機器B、Cに異なるコマンドを送ってデータを取得する様な処理が何通りか合って多くなってます。インターフェースクラスとの間に処理クラスみたいなのを入れるのでしょうか
ポーリングしてる機器Aの状態に応じて機器B、Cに異なるコマンドを送ってデータを取得する様な処理が何通りか合って多くなってます。インターフェースクラスとの間に処理クラスみたいなのを入れるのでしょうか
2020/05/15(金) 00:17:59.54ID:qMmlu16O
2020/05/15(金) 00:41:48.57ID:ZviQyBFQ
>>81
今はボタン使うマクロしか作る予定がないだけだと思うが。
csvを使うマクロが必要になった時に調べるだろうし、
今は知らないからって自虐的になる必要ないんでは?
>>82
一般的にオブジェクト指向は「最終的にやらせたいこと(=やれること)」をメソッドとしてクラスに定義にして、
そのための条件や必要なデータなどはクラス自体が判断したり取得したりするか、引数として与える
もし、Getter等でデータをメインルーチンに集めて統合的に処理するなら従来の手続き型になる
今回の例で言えば、
機器BCからから受け取ったデータを処理するPublicメソッドを定義したクラスを作って
機器Aに応じて機器BCにコマンドを送ったりっていった処理は、そのクラス内でやるのがいいかも
今はボタン使うマクロしか作る予定がないだけだと思うが。
csvを使うマクロが必要になった時に調べるだろうし、
今は知らないからって自虐的になる必要ないんでは?
>>82
一般的にオブジェクト指向は「最終的にやらせたいこと(=やれること)」をメソッドとしてクラスに定義にして、
そのための条件や必要なデータなどはクラス自体が判断したり取得したりするか、引数として与える
もし、Getter等でデータをメインルーチンに集めて統合的に処理するなら従来の手続き型になる
今回の例で言えば、
機器BCからから受け取ったデータを処理するPublicメソッドを定義したクラスを作って
機器Aに応じて機器BCにコマンドを送ったりっていった処理は、そのクラス内でやるのがいいかも
85デフォルトの名無しさん
2020/05/15(金) 01:33:02.14ID:PClFYiSI ExcelフォームにExcelグリッドコントロールがあればむてきだたかもしれない
86デフォルトの名無しさん
2020/05/15(金) 01:38:53.47ID:BHVdwBuM 割り込みとかコールバックとかわからないシロートの発想で笑える
87デフォルトの名無しさん
2020/05/15(金) 01:42:44.01ID:h8nORdF5 >>84
CSVを扱う必要性がじりじり迫ってるんだけどネットにあるコードの窃盗常習犯で覚える脳みそがないからノースキル野郎
当然モチベもないから全然進んでない
@ダイアログで任意のCSVデータを選択して
それを今開いているシートに読み込まれる(CSVデータは読み込んだ後に自動で閉じる)
(元々シートにグラフがあるがそれはそのまま)
Aこのシートをブック内の一番右にシートをコピー
多分Aはどこかで拾えそうだけど@のプロシージャがありそうでなかなかネットから盗めず激ムズ
ここの勉強できる人達は勝ち組だよ
CSVを扱う必要性がじりじり迫ってるんだけどネットにあるコードの窃盗常習犯で覚える脳みそがないからノースキル野郎
当然モチベもないから全然進んでない
@ダイアログで任意のCSVデータを選択して
それを今開いているシートに読み込まれる(CSVデータは読み込んだ後に自動で閉じる)
(元々シートにグラフがあるがそれはそのまま)
Aこのシートをブック内の一番右にシートをコピー
多分Aはどこかで拾えそうだけど@のプロシージャがありそうでなかなかネットから盗めず激ムズ
ここの勉強できる人達は勝ち組だよ
2020/05/15(金) 02:20:59.50ID:+1dt40Gj
勝ち組かどうかは別問題だな
89デフォルトの名無しさん
2020/05/15(金) 09:02:28.91ID:uW7fixd9 非表示のシートがいくつかある状態で、一番右端のシートをアクティブにしたいのですが、worksheets.countで取得しようとすると、非表示のシートが選択されてしまいます
表示されているシートの一番右端をアクティブにするにはどうすればいいですか?
表示されているシートの一番右端をアクティブにするにはどうすればいいですか?
90デフォルトの名無しさん
2020/05/15(金) 09:32:08.17ID:uW7fixd9 質問がおかしかったので書き直します
マクロブックでなくアドインでやっています
一番右端のシートから値を取ってきて、その後に作成する新規のシートに貼り付けたいです
Sheets(WorkSheets.Count).Activateで、表示上の一番右端のシートをアクティブにすることはできるのですが、操作ができません
非表示のシートがいくつかあり、シート番号は若くてもそちらがWorkSheets.Countで選ばれているようで、値はそこから取ってきてしまっているみたいです
エクセルの表示上のシートの並びで、一番右端を選択してそこから値を取りたいのですが、どうすればいいでしょうか?
マクロブックでなくアドインでやっています
一番右端のシートから値を取ってきて、その後に作成する新規のシートに貼り付けたいです
Sheets(WorkSheets.Count).Activateで、表示上の一番右端のシートをアクティブにすることはできるのですが、操作ができません
非表示のシートがいくつかあり、シート番号は若くてもそちらがWorkSheets.Countで選ばれているようで、値はそこから取ってきてしまっているみたいです
エクセルの表示上のシートの並びで、一番右端を選択してそこから値を取りたいのですが、どうすればいいでしょうか?
2020/05/15(金) 09:38:25.85ID:/bb/ZDbJ
For i = Worksheets.Count To 1 Step - 1
If Worksheets(i).Visible Then
Worksheets(i).Activate
Exit For
End If
Next
If Worksheets(i).Visible Then
Worksheets(i).Activate
Exit For
End If
Next
92デフォルトの名無しさん
2020/05/15(金) 12:19:24.18ID:Ras8zr0W93デフォルトの名無しさん
2020/05/15(金) 12:51:25.51ID:wvzrJYUA シート1にラベルやタイトルや色を設定した
雛型になるグラフがあって
それをアクティブなシートにコピーして貼り付けられる事コード、もし出来れば教えて下さい。
今はシート1に戻ってグラフをコピーして
貼りたいシートに戻って貼り付け
をやってます
数値は反映させなくて雛形になるグラフをとにかくすぐにアクティブなシートに持ってきたいです
マクロの記録でもやり方わからずです…
シート1にある("グラフ1")というのを
アクティブなシートに貼り付け、わかりませぬ
雛型になるグラフがあって
それをアクティブなシートにコピーして貼り付けられる事コード、もし出来れば教えて下さい。
今はシート1に戻ってグラフをコピーして
貼りたいシートに戻って貼り付け
をやってます
数値は反映させなくて雛形になるグラフをとにかくすぐにアクティブなシートに持ってきたいです
マクロの記録でもやり方わからずです…
シート1にある("グラフ1")というのを
アクティブなシートに貼り付け、わかりませぬ
2020/05/15(金) 13:03:29.53ID:ChXNP+/8
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
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
95デフォルトの名無しさん
2020/05/15(金) 17:00:34.32ID:WgI7x3A0 シート1にあるグラフ1をアクティブシートにコピペ
調べてみたところ結局俺がやりたいのはシンプルにこれか
マクロの記録だと限界あるわ。
調べてみたところ結局俺がやりたいのはシンプルにこれか
マクロの記録だと限界あるわ。
96デフォルトの名無しさん
2020/05/15(金) 19:22:44.18ID:h8nORdF5 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のところでエラーになりますけどどう手直ししたらいいですか
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のところでエラーになりますけどどう手直ししたらいいですか
2020/05/15(金) 19:26:11.81ID:B9XmHC3V
>>96
vbNoのとき、ggはいくつ?
vbNoのとき、ggはいくつ?
98デフォルトの名無しさん
2020/05/15(金) 19:30:22.00ID:h8nORdF52020/05/15(金) 19:39:43.78ID:RYV/7Uuu
1つめの Do while に対応する Loop がない
100デフォルトの名無しさん
2020/05/15(金) 19:49:26.82ID:h8nORdF5 >>99
ほんと恥ずかしすぎるミスでした。
ありがとうございます。
間違っといてなんだけど自分の考え方が間違ってない事もわかってホッとしました。
何言ってんだこいつと思われて当然ですがそんな気持ちです
ほんと恥ずかしすぎるミスでした。
ありがとうございます。
間違っといてなんだけど自分の考え方が間違ってない事もわかってホッとしました。
何言ってんだこいつと思われて当然ですがそんな気持ちです
101デフォルトの名無しさん
2020/05/15(金) 20:01:55.19ID:BHVdwBuM >>100
そもそもそれ以前に馬鹿過ぎて話にならない
そもそもそれ以前に馬鹿過ぎて話にならない
102デフォルトの名無しさん
2020/05/15(金) 20:42:05.52ID:SPdgeRtp インデントで分かったりしないもんかね
103デフォルトの名無しさん
2020/05/15(金) 20:58:58.45ID:Syu0A9me VSのエディタなら勝手にやってくれるけどExcelVBEはそこまで親切じゃないから、
・Doと書いたら、中間の処理書く前にLoopをセットで先に書く。
・中間の処理はインデント付ける
こうしないと長い処理だとミスる。
・Doと書いたら、中間の処理書く前にLoopをセットで先に書く。
・中間の処理はインデント付ける
こうしないと長い処理だとミスる。
104デフォルトの名無しさん
2020/05/15(金) 21:24:59.09ID:1l79UUQc 田中先生ユーチューバーになってたんか。
エクセル系ユーチューバーは前からいるけど
彼らのチャンネル登録者数どんどん抜いてくな。
マクロ以外にもエクセルの機能全般もアップしてるし
他のエクセルユーチューバ―はもう躍進することはないな。
ご愁傷さま。
エクセル系ユーチューバーは前からいるけど
彼らのチャンネル登録者数どんどん抜いてくな。
マクロ以外にもエクセルの機能全般もアップしてるし
他のエクセルユーチューバ―はもう躍進することはないな。
ご愁傷さま。
105デフォルトの名無しさん
2020/05/15(金) 21:26:28.78ID:xUEF26i7 インデントしてるとVBEが勝手に空行にもインデント用スペースいれやがる
106デフォルトの名無しさん
2020/05/15(金) 22:51:12.17ID:B9PySqRq マクロの処理だけmsオーダーで止めて、シートでの作業には影響させない方法ってありますか?
sleepやapplication.waitを使うと、止めている間はマウスポインタが待機中に切り替わって気が散ります。
sleepやapplication.waitを使うと、止めている間はマウスポインタが待機中に切り替わって気が散ります。
107デフォルトの名無しさん
2020/05/15(金) 23:02:13.60ID:RYV/7Uuu 意味が解らん
108デフォルトの名無しさん
2020/05/15(金) 23:07:56.71ID:b6XlKvF2 DoEvents を定期的に入れてあげて妥協するのがいいのでは
109デフォルトの名無しさん
2020/05/16(土) 00:10:47.87ID:DWLUsoam 気が散るほうが悪い
110デフォルトの名無しさん
2020/05/16(土) 00:24:20.49ID:dnsCYCpT waitが長いと入力作業とかできんだろうな
マルチスレッドできたっけ?
マルチスレッドできたっけ?
111デフォルトの名無しさん
2020/05/16(土) 00:27:49.65ID:PCcdgCy6112デフォルトの名無しさん
2020/05/16(土) 00:41:23.65ID:W7xr4LsN 馬鹿は全角英文字、自分勝手な略語を使う法則
113デフォルトの名無しさん
2020/05/16(土) 02:12:04.53ID:PXYVKn+N 非表示にすれば気にならないとか?
114デフォルトの名無しさん
2020/05/16(土) 02:34:42.15ID:LVL/9uGV msオーダーって何?
115デフォルトの名無しさん
2020/05/16(土) 05:07:24.47ID:VHZcBZeD マイクロ秒で処理するってことかな?
116デフォルトの名無しさん
2020/05/16(土) 08:49:36.47ID:mgXvg9qv あーミリ秒指定でマクロを止めたいってことか?
それでもまだわからん
それでもまだわからん
117デフォルトの名無しさん
2020/05/16(土) 09:59:53.95ID:Tk5Omr1n せめてmsecオーダーと書けばわかりやすいのに
しかも100ミリとかじゃないか?数ミリは気づかないはず
GetInputStateとDoEventsでどうにかできんか
しかも100ミリとかじゃないか?数ミリは気づかないはず
GetInputStateとDoEventsでどうにかできんか
118デフォルトの名無しさん
2020/05/17(日) 13:30:28.43ID:qdHuVgcd119デフォルトの名無しさん
2020/05/17(日) 13:48:57.86ID:LkRZ0WP+ [現象]
excelの 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 が存在しません。
よろしくお願いします
excelの 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 が存在しません。
よろしくお願いします
120デフォルトの名無しさん
2020/05/17(日) 14:05:50.89ID:dvSHUyYR >>119
死ね
死ね
121デフォルトの名無しさん
2020/05/17(日) 14:06:13.48ID:GAbG2JNM >>119
ワークシートのページレイアウトからテーマは変更できる?
ワークシートのページレイアウトからテーマは変更できる?
122デフォルトの名無しさん
2020/05/17(日) 14:11:19.59ID:oJIHh9Jk >>120
この馬鹿モンが
この馬鹿モンが
123デフォルトの名無しさん
2020/05/17(日) 14:12:58.27ID:oJIHh9Jk >>121
はいできますがそれでは解決しないのです
はいできますがそれでは解決しないのです
124デフォルトの名無しさん
2020/05/17(日) 14:21:32.25ID:GAbG2JNM >>123
まずレジストリのVBA\7.1\Commonが存在しないことが異常だから、Excelを再インストールするのが一番の早道な気がする
まずレジストリのVBA\7.1\Commonが存在しないことが異常だから、Excelを再インストールするのが一番の早道な気がする
125sage
2020/05/17(日) 14:31:40.69ID:LkRZ0WP+127デフォルトの名無しさん
2020/05/17(日) 15:10:42.19ID:IJ/C56sM128デフォルトの名無しさん
2020/05/17(日) 16:08:33.48ID:Rv0pB+iF インストロールと言ったら怒られたナリみたいなもんか。
129デフォルトの名無しさん
2020/05/17(日) 16:57:48.19ID:lqCZHYYc 奇天烈大百科が巻物だったら、まさしくインストロールだぞ
130デフォルトの名無しさん
2020/05/17(日) 17:38:29.95ID:Rv0pB+iF 奇天烈大百科が巻物だったら、まさしくインストロールだぞ
↓
If the eccentric encyclopedia is a scroll, it's just an installation.
↓
風変わりな百科事典が巻物なら、それは単なるインスタレーションです。
意味がさっぱり分からなかったので、Google翻訳かけてみたら、意味が分かるようになったぞ。
↓
If the eccentric encyclopedia is a scroll, it's just an installation.
↓
風変わりな百科事典が巻物なら、それは単なるインスタレーションです。
意味がさっぱり分からなかったので、Google翻訳かけてみたら、意味が分かるようになったぞ。
131デフォルトの名無しさん
2020/05/17(日) 18:09:25.04ID:/J9Aoh2W 英語の方が簡単なんだよ
早くそれに気づけ
早くそれに気づけ
132デフォルトの名無しさん
2020/05/17(日) 21:52:01.62ID:FPkLjraN textboxの値チェックがうまく行きません。20~100までの範囲を入れたいのでchangeイベントで値がこの範囲か監視してます。
100を超えていたら100に、20を下回ると20になる様にリミッタを付けました。
すると100にした後にキーボード操作で30にしようとすると、0を消した時点で強制的に20になり、そこから何か押すと100になってしまいます。
どうすれば上手くいくのでしょうか。
100を超えていたら100に、20を下回ると20になる様にリミッタを付けました。
すると100にした後にキーボード操作で30にしようとすると、0を消した時点で強制的に20になり、そこから何か押すと100になってしまいます。
どうすれば上手くいくのでしょうか。
133デフォルトの名無しさん
2020/05/17(日) 22:01:56.66ID:GAbG2JNM >>132
そういう時はスピンボタンを使った方がいいよ
そういう時はスピンボタンを使った方がいいよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ [Hitzeschleier★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 [蚤の市★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
