Excel VBA 質問スレ Part66
レス数が950を超えています。1000を超えると書き込みができなくなります。
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part65
https://mevius.5ch.net/test/read.cgi/tech/1584430040/
※デフォルト設定 てか配列から直接セルに代入しないといけないってのは
データ数が多いとか速度重視したいとか?
そうでないなら基本通りにFor使って入れりゃいいだけなんだけど セルに入れるのがそもそも簡単なのに何ができないんだかわからん おまいら質問をちゃんと読んでるか?
「簡単な方法はありますか?」なんだから、Forで回すのは嫌ってことだろ
つまり回答は「そんな方法はない」 ステップ数を減らしたいだけなら、一旦そのまま全部ワークシートに入れて2列目だけコピペか1行目を削除すれば数行で完結する
たぶんForより速い 質問がどっかの問題の引用っぽく感じたので答えはかかないけどね 同じ社員同士なのにエクセルの便利機能とかを
情報共有しないのってなんなんだろう ループからの抜け方、@とAどっちが推奨?
@
do while
for
if
脱出フラグ = true
exit for
end if
next
if 脱出フラグ then exit do
loop
A
do while
for
if 脱出条件 then exit do
next
loop >>859
処理の抜けや他の処理に影響がないならという条件付きでA、
場合によっては exit sub 、exit function でも書く do whileの条件とifの条件ををandで繋いでdo while
loop行の前でi=i+1(forのカウンタ代わり)
これでよいのでは >>864
二重ループの抜け方の作法を聞いてるんだが do whileとforで2重ループするのが確定で、外側まで一気に抜けるのが確定なら2を選ばない理由がない >>866
二重ループの内側から一気に抜けたい時は、俺なら内側のループを別プロシージャにするか、Do Loopを二重にする
コード量によってはフラグ変数やExitは見通しが悪くなる、別の言い方をすれば終了条件がわかりづらくなるからあんまり使いたくない >>864,867,868
とりあえず処理に問題なければ一気に外に抜けること自体は問題ないってことか
確かにDoに変えるのも手だな
適当に使い分けることにするわサンキュー すごく個人的には、Do Untilで書いた方が「抜ける!」って読みやすい Do whileよりって話ね
そう書けば抜ける複数条件をDoの後ろに書いて違和感が無い これ… >>871に『その心は?』って聞いてあげた方がいいの? >>874
おじいちゃん出しっぱなしで片付けないんだもん Gotoはもちろんのこと、余程のことがない限りはExit For(Do)使うよりはExit Function使った方がいい Do While
何で
Loop
While
2つあるの?
Wend >>878
while〜wendは過去の名残
今はdo whileを使うのが正しい 一応、while wendは最後までループ抜けさせないぞって読ませ方ができる
知ってる人が少なくなってるからむしろ逆効果のお節介となってきているが 行番号とか代入のLetとかも使ってるやつはいない
過去の名残があちこちにあるのがVBA do while〜loopって構文が気に食わんわ
do [処理] while [脱出判定] loop
もしくは
while [脱出判定] do [処理] loop
のほうが思考に沿う
ってかdo必要? 職場の人が書くマクロ、わかりやすいんだけど無駄改行多くてスクロールしないと全体像掴めないでつらい >>883
While [脱出判定]
[処理]
Wend >>883
構文解析でトークンの先読みが少なくて済むための配慮じゃないかな、知らんけど >>883
英語として
Do while a is b. If a is bigger than b, then break..
というのと
While if a is bigger than a, do something.
どちらが自然かという問題だったようだ。どっちも変だけど ちょ、VBAのCollectionのAddメソッドってvalue/keyの順番だったのかよぉ
C#もJavaもPythonもkey/valueの順だから勘違いしてたわ!
なんかおかしいとおもった >>894
Add時にKeyを省略できるからね
省略するとKeyがどうなるのかは知らんけど >>895
重複排除できてねぇぢゃねぇかクソ言語がぁぁぁ!って思ってましたごめんなさい >>896
重複排除したいならdictionaryの方がいいんじゃないか >>888
それは1プロシージャの行数が多いということかな?
それはダメダメだ。
そういうことになることはあるけど、本人が書ける奴なら自分でも分かってるかもね。
時間があれば直すんだけどってのは時々ある。 excelからwordのoleなのですが、印刷プレビュー画面が表示されている
あいだは処理を停止させておきたのですが、どうすればできますか?
また、excelのほうのPrintPreviewメソッドではそれが実現できるのですが、
その違いはなんなのでしょうか。
Dim WORD As Object
Set WORD = CreateObject("Word.application")
WORD.Documents.Open(filePath)
WORD.PrintPreview = True
Do Until WORD.PrintPreview = False
Loop >>896
重複排除したきゃKey指定すればいいだけだろ
てか、そういう使い方しかしたことないわ PCに疎い人達の集まる職場
週に1回の頻度で1200個の数値を4時間かけて手打ちしてたのを3秒で終わらせるマクロ組んで改善提案→何かわからんけど組んだんだろ で300円
他のシートやブックに行き来しやすいように
図形に文字入れてハイパーリンクをセットしたのを2つ作った
→これはいいぞ 1000円
もう嫌だ >>905
改善提案出すとお金貰える仕組みの会社だから
トヨタグルーやトヨタ系とかは結構そうじゃないかな >>906
単にプレゼンというか説明下手なだけじゃないの? >>907
もうマクロに関してそこは諦めたわ
if関数使ったりそういう改善のが1000円や1500円で貰えるからそっちでいってる
同僚から組んで欲しいってのも全部断ってる
58歳のパソコンに疎すぎる人に説明する必要性もないかな まぁ、「実際の能率の向上」より「誰にでも分かりやすく使い易い」にウエイトが傾いてるってのはよくあることじゃね。
どんな評価方法か知らんけど。
・直接的に恩恵を受ける人の数
⇒あくまで例えばだが、>>904の「3秒マクロ」で仕事が楽になるのが数人しかいない、とか、
「図形2つ」が割と広い範囲で使える上に、他の職場でも応用が利く、とか。
・柔軟性
⇒例えば3秒マクロに何かしら元となるデータがあると仮定して、
そのデータを出力するシステムの仕様に変更があった場合対応できなくなる、とか。
他方、図形2つの方は文字どおり図形2つ作って文字入れてハイパーリンクを加えただけなので、
例えば参照先URLなりが変わったとしても、比較的対応が容易だし、
よほどのことがなければ「使えなくなる」ということが考えられない、とか。
・上司のその時の気分、あるいは好かれ具合
⇒それな >>908
同じような所が10カ所(ファイル)あったら10000円〜15000円もらえるのかな 相談もなしに勝手なマクロを組んだことで減点対象になったのだろう
もしかしたら、その作業は近々システムの変更でなくなる予定だったかもしれない
作業以外の目的があったのかもしれない
残業が多いなと思っていたら、
余計なものを作って遊んでいた、減給されないだけましだろう マクロの変更も有識者間でコードレビューして評価報告書提出して上司に確認のサインもらって
修正連絡票回覧するまでやらないとクレームはいったりするよね
知らない間に勝手にマクロが書き換えられていたとか言われたらやばいだろ >>904
わかりやすく説明するなり評価方法に基づいたアピールするなりすりゃいいじゃん お前らの職場って大変そうだな
おれんところなんか俺しかVBA触れるやついないから好き放題やってるわ 俺も俺も
初心者に毛が生えた程度の知識だけど周りはPC素人ばかりだからやりたい放題だ 同じく
PCマイスターみたいに見られてるけど、薄々勘付かれているかもしれない エクセルはそこそこ使いこなせるがマクロは全く知らないってな人に
簡易マクロ作っただけで「ハァ?お前天才かよ?」みたいな反応されるよな。
褒められる優越感と小学生でも書けるコードで褒められる自分へ嫌悪感で
葛藤しまくるよな スレチだけどPHPは
ハイパーテキスト・プリプロセッサだってのに
初歩でも神呼ばわりだぜ
【PHP】下らねぇ質問はここに書き込みやがれ 11
http://itest.5ch.net/mevius/test/read.cgi/tech/1591334726/96-107
96
> hoge.com/****
>に指定した数字入れて、html出力ってできますか?
103 foreach(
107
>>103
神!おっぱ・(自粛) よくメニューに[+]があり、
これを押すと隠してあったメニューが表示されるといった仕組みがあるのですが、
これをエクセルで実現することはできるでしょうか。 簡単なのはVisibleプロパティをFalseからTrueにする方法 >>921
100人規模で周りの人達ができない正社員なわけない
バイト数人が使う程度のマクロだろ 俺も大したことできないけど零細で偉そうにしてるわ
人生なんて鶏口牛後で十分なんだよ >>928
100人前後の会社で
60人ほど派遣
20人くらいがバイト
10人くらいのパート
正社員は10人ほどのうち確実に7人はエクセルもまともに使えないレベルなのでWord使ってる
エクセルを使うのは正社員1人派遣1人バイトの俺
3ヶ月に一度現れる謎の5人組はよく分からない
そいつらの給料が月70〜80万円って言ってた
俺のバイト代は月12万円くらいだった
この国はおかしいって狂ってるよ 大して優秀なわけでもないやつがちょっと優位な部分があるだけで周りを見下すあるある >>930
Excel vba ができる人が少ないのは会社の重要な業務ではないからだろ
エクセルはあくまで補助的な使い方しかしてないんじゃねーの 採用条件に入ってないし学校やパソコン教室でも普通は教えないからできないのが普通
そもそもプログラミングとは何か、どういう場面で使うと便利なのかもわかってない人が大半
うっかり省力化すると事務員の首が飛ぶから、人の心があれば黙ってるものだし 一般的なプログラミングの話をするならExcelは不向き
そもそも表計算ソフトの延長でしかない >>932
はいその通りです。
【60代パート】リングファイルを棚にしまう
【社長】ハンコついてパートに渡す
【60代パート】Wordから印刷して社長の机に置く
【50代課長】エクセルからWordにコピペしたファイル名とフォルダをパートに指示
【20代大卒美人派遣】エクセルで原価計算して課長に渡す
【30代バイト】梱包出荷伝票をエクセルに打込み >>935
多分そういうこと言ってるわけじゃないと思うぞ >>936
え?
Excel vba を仕事にするのが会社の重要な業務である業界ってどこですか? >>937
お前の会社は何の業界の会社だよw
例えば30代のバイトが梱包している作業のほうが会社にとって利益をもたらすんじゃないのか ヨコレスだけど30代に梱包やらせる会社とか潰れちまえ
頭も体も回る年代なんだから大いに無駄な事やらせた方がいいと思うね
年食って手数よりも口数のほうが多くなってきたら梱包に回せ VBAスレなのにバイトの仕事がどうのって話になってて、さすがだなっておもいましたwww プログラミングじゃなかったらなんなんだ
物書きか? 正式な定義を知りたきゃMS公式でも見ればいいだろ… 一年限定で異動してきた職場
噂に聞いてたけど想像を絶するところだった
エクセル使う業務がほとんどなのに
関数使える人が数人、まともな人は確かにいる
ふとみたおっさんはエクセルの表の合計を電卓で足してキーボードでそれを打ち込
ふとおばちゃん達は
「ここ選択してイコールの後にアルファベットと数値と同じ数値が反映される」
「えー!そうなの?」
と会話してる
マクロ以前の問題だった 管理者が無能だと会社がなくなる
管理者が有能なら無能な人材に高い給料は出さない 周りは出来ない語りしてもお前が優秀になれるわけじゃないんだよなぁ レス数が950を超えています。1000を超えると書き込みができなくなります。