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:Nkoph0aj363デフォルトの名無しさん
2020/05/30(土) 11:13:20.00ID:gDHPXROS 続き
あるいはwin+Vで貯まってるキャプチャを自動的にダウンロード出来れば、と思いました
あるいはwin+Vで貯まってるキャプチャを自動的にダウンロード出来れば、と思いました
364デフォルトの名無しさん
2020/05/30(土) 11:26:13.81ID:4gyXKXc6365デフォルトの名無しさん
2020/05/30(土) 11:40:59.92ID:Lg+IyK0J 氏名住所をユーザーフォームで連続入力してリストに登録するじゃん
んで、フォーム上の印刷ボタンを押すと、ワークシート上に用意されてるテンプレ書類に
氏名住所が必要な箇所に順次記入されて印刷される
ていうよくありがちなプログラムあるでしょ
このテンプレ書類に数式を使って氏名住所を別のセルにも転記するようにしておく
例えば、VBAでA1に氏名が記入されるとすると
B1に =A1 って書いておけばB1にも氏名が記入されて印刷される
これも当たり前なんだけど
このB1に入る数式にユーザー定義関数使うと、うまく動かないのな
Application.Calculate とかもうまくいかなかったわ
うまくいかないってのは計算してくれないってことだけど
んで、フォーム上の印刷ボタンを押すと、ワークシート上に用意されてるテンプレ書類に
氏名住所が必要な箇所に順次記入されて印刷される
ていうよくありがちなプログラムあるでしょ
このテンプレ書類に数式を使って氏名住所を別のセルにも転記するようにしておく
例えば、VBAでA1に氏名が記入されるとすると
B1に =A1 って書いておけばB1にも氏名が記入されて印刷される
これも当たり前なんだけど
このB1に入る数式にユーザー定義関数使うと、うまく動かないのな
Application.Calculate とかもうまくいかなかったわ
うまくいかないってのは計算してくれないってことだけど
366デフォルトの名無しさん
2020/05/30(土) 12:46:49.94ID:gDHPXROS367デフォルトの名無しさん
2020/05/30(土) 13:37:34.40ID:VTd6O4v1 同じなんだけどVBAで膨大な演算処理をコード組んでプロシージャ合わせて作っても
おっさんから
「ああ、マクロの記録して作ったやつね」
て言われると少しイラつく
記録じゃつくれねーほど汎用性高くしてんだろうがボケが
おっさんから
「ああ、マクロの記録して作ったやつね」
て言われると少しイラつく
記録じゃつくれねーほど汎用性高くしてんだろうがボケが
368デフォルトの名無しさん
2020/05/30(土) 13:50:56.52ID:LDe7UQpm vbaごときでイキっててわろた
369デフォルトの名無しさん
2020/05/30(土) 14:27:17.60ID:+Oty3aJ4 無知は罪
370デフォルトの名無しさん
2020/05/30(土) 14:46:50.67ID:A129boaw そこでイラついてるうちはまだまだ
371デフォルトの名無しさん
2020/05/30(土) 15:22:49.38ID:uSpMLuhJ VBAはOLさんでも出来る(正論)
372デフォルトの名無しさん
2020/05/30(土) 15:27:58.73ID:4gyXKXc6 マクロの記録しかできない人、Win32APIを使いこなす人、どっちも「VBAができる人」と言われてしまう
373デフォルトの名無しさん
2020/05/30(土) 15:39:22.28ID:49ARh1d+ トリッキーなことはやらない方がいい
374デフォルトの名無しさん
2020/05/30(土) 15:45:07.44ID:49ARh1d+ >>365
個人情報とかちゃんと管理しないと流出した場合責任とれる?
個人情報とかちゃんと管理しないと流出した場合責任とれる?
375デフォルトの名無しさん
2020/05/30(土) 16:36:13.67ID:PhwvBcVJ376デフォルトの名無しさん
2020/05/30(土) 16:55:50.78ID:NW87G0lL >>367
そんなことでイラつく自分を見直そう
そんなことでイラつく自分を見直そう
377デフォルトの名無しさん
2020/05/30(土) 17:00:12.37ID:EKBxQQvi 14列目から全てセルの巾15ピクセルで固定されてます。指定したピクセル数に伸ばしたり縮めたりしたいんですがどうしたらいいですか?
privata Function AAA(objTarSht,intPicel)
clmTar=14
do until objTarSht.Cells(1,clmTar)=空
ここ
clmTar=clmTar + 1
loop
privata Function AAA(objTarSht,intPicel)
clmTar=14
do until objTarSht.Cells(1,clmTar)=空
ここ
clmTar=clmTar + 1
loop
378デフォルトの名無しさん
2020/05/30(土) 17:25:53.46ID:4gyXKXc6 >>377
Private Function AAA(objTarSht, intPixel)
clmTar = 14
Do Until objTarSht.Cells(1, clmTar) = ""
Columns(clmTar).ColumnWidth = intPixel * 0.118
clmTar = clmTar + 1
Loop
Private Function AAA(objTarSht, intPixel)
clmTar = 14
Do Until objTarSht.Cells(1, clmTar) = ""
Columns(clmTar).ColumnWidth = intPixel * 0.118
clmTar = clmTar + 1
Loop
379デフォルトの名無しさん
2020/05/30(土) 17:36:07.32ID:x6N4SK2n セルのHJ1に式で「=TEXT(EDATE(DE2,(DAY(DE2)>20)+(DT2<>"")),"yyyy""_""m")」をいれて、
最下行までオートフィルをして、HJ列をコピペで値だけにしていますが
vbaのforで作ってみたいので、この部分をVBAにした場合のコードを教えてください
「=TEXT(EDATE(DE2,(DAY(DE2)>20)+(DT2<>"")),"yyyy""_""m")」
最下行までオートフィルをして、HJ列をコピペで値だけにしていますが
vbaのforで作ってみたいので、この部分をVBAにした場合のコードを教えてください
「=TEXT(EDATE(DE2,(DAY(DE2)>20)+(DT2<>"")),"yyyy""_""m")」
380デフォルトの名無しさん
2020/05/30(土) 17:41:18.80ID:NW87G0lL いやまず自分で作ってみろよ…
381デフォルトの名無しさん
2020/05/30(土) 18:14:09.22ID:HFWpOc40 >>359
馬鹿は書かなければいいのに
馬鹿は書かなければいいのに
382379
2020/05/30(土) 18:40:42.91ID:x6N4SK2n =TEXT(
EDATE(DE2,
(DAY(DE2)>20)+(DT2<>""))
,"yyyy""_""m")
の並び順で
For cnt = 2 To i
Range("HJ1") =
Format( _'「=TEXT(」にあたる部分
**********'「EDATE(DE2,」EDATEにあたる部分
'「(DAY(DE2)>20)+(DT2<>""))」にあたる部分
DateSerial(Range("DE" & cnt) > 20 + (Range("DT" & cnt) <> "")
,"yyyy""_""m" '「,"yyyy""_""m")」にあたる部分
Next cnt
EDATE(DE2,
(DAY(DE2)>20)+(DT2<>""))
,"yyyy""_""m")
の並び順で
For cnt = 2 To i
Range("HJ1") =
Format( _'「=TEXT(」にあたる部分
**********'「EDATE(DE2,」EDATEにあたる部分
'「(DAY(DE2)>20)+(DT2<>""))」にあたる部分
DateSerial(Range("DE" & cnt) > 20 + (Range("DT" & cnt) <> "")
,"yyyy""_""m" '「,"yyyy""_""m")」にあたる部分
Next cnt
383デフォルトの名無しさん
2020/05/30(土) 18:59:33.29ID:IeNY1P6O >>367
それ本当にマクロか?っていう圧倒的なものを作ってみるといい。
それ本当にマクロか?っていう圧倒的なものを作ってみるといい。
384デフォルトの名無しさん
2020/05/30(土) 19:06:40.97ID:RuztwjMU385デフォルトの名無しさん
2020/05/30(土) 19:52:23.30ID:NW87G0lL どんだけ人間小さくて承認欲求高いんだよ…
386デフォルトの名無しさん
2020/05/30(土) 20:13:00.67ID:v+h7hopE387デフォルトの名無しさん
2020/05/30(土) 20:39:02.93ID:x6N4SK2n388デフォルトの名無しさん
2020/05/30(土) 21:05:02.60ID:n48qxrxQ389デフォルトの名無しさん
2020/05/30(土) 21:08:47.70ID:A129boaw そういう事を防ぐために能鷹隠爪で
390デフォルトの名無しさん
2020/05/30(土) 21:10:58.46ID:n48qxrxQ >>364
これはなにで動いているのですか?
これはなにで動いているのですか?
391デフォルトの名無しさん
2020/05/30(土) 21:14:47.20ID:49ARh1d+ >>388
仕事で依頼されたなら、仕事やれよ
仕事で依頼されたなら、仕事やれよ
392デフォルトの名無しさん
2020/05/30(土) 21:45:04.41ID:/9v+/+fv >>382
式が何をしようとしているのか不明。
・何でHJ1(1行目)で2行目の値を評価しているの?
・20日以降は次月として捉えているように見えるけどDT列には何が入るの?
空じゃなければ更に月を進める?
Forの使い方という点にコメント
これだけじゃ cnt がどこまで回ればよいかわからんよね。たとえば、
i = 30
For cnt 2 To i
とするか、
For cnt 2 To 30
とかすれば、Loopはする。
でも書き込むセルが Range("HJ1") に固定されてるから、これじゃ同じセルに
30回、延々と上書きするだけになる。
書き込み先を動的に変える場合は、範囲Objectは Range("番地")じゃなくて、
Cells(行番号、列番号)を使うといい。この中でcntを使えば。
EDATE関数にあたるVBA関数はDateAdd
TEXT関数はFormatでOK。
式が何をしようとしているのか不明。
・何でHJ1(1行目)で2行目の値を評価しているの?
・20日以降は次月として捉えているように見えるけどDT列には何が入るの?
空じゃなければ更に月を進める?
Forの使い方という点にコメント
これだけじゃ cnt がどこまで回ればよいかわからんよね。たとえば、
i = 30
For cnt 2 To i
とするか、
For cnt 2 To 30
とかすれば、Loopはする。
でも書き込むセルが Range("HJ1") に固定されてるから、これじゃ同じセルに
30回、延々と上書きするだけになる。
書き込み先を動的に変える場合は、範囲Objectは Range("番地")じゃなくて、
Cells(行番号、列番号)を使うといい。この中でcntを使えば。
EDATE関数にあたるVBA関数はDateAdd
TEXT関数はFormatでOK。
393デフォルトの名無しさん
2020/05/30(土) 21:53:02.87ID:IeNY1P6O >ExcelやWordの複雑な機能のことに異常に詳しいと思われてて
ありがちな誤解だよな。
プログラムがわかるから細かい機能を知らなくてもどうにか出来るわけで、
ありがちな誤解だよな。
プログラムがわかるから細かい機能を知らなくてもどうにか出来るわけで、
394デフォルトの名無しさん
2020/05/30(土) 21:53:27.20ID:IeNY1P6O Word、Excelの専門家じゃないってのに。
395デフォルトの名無しさん
2020/05/30(土) 22:38:43.08ID:I7l9umXM wordの複雑な機能って?
396デフォルトの名無しさん
2020/05/30(土) 23:40:16.05ID:JE+7y9de フィールドとか?
397デフォルトの名無しさん
2020/05/31(日) 01:07:44.41ID:0lS4xVrw WordVBAとか
398デフォルトの名無しさん
2020/05/31(日) 01:47:47.46ID:6kaO8G32 初歩的ですみませんが、sub ()の()の中に文字列が入ることありますか?
買った教本の例題にこの中に文字列が書かれてるのが一つだけあるんですが、おそらくそのせいでマクロが動きません
買った教本の例題にこの中に文字列が書かれてるのが一つだけあるんですが、おそらくそのせいでマクロが動きません
399デフォルトの名無しさん
2020/05/31(日) 02:38:20.45ID:2V+gQfrN >>398
理解できない奴には無理
理解できない奴には無理
400デフォルトの名無しさん
2020/05/31(日) 02:39:52.93ID:86R8wtw/401デフォルトの名無しさん
2020/05/31(日) 02:41:39.96ID:86R8wtw/ しかも周りに座ってるような同僚は
わたしより仕事スピードが1/2〜1/10の人たちばかりなのに。
わたしより仕事スピードが1/2〜1/10の人たちばかりなのに。
402デフォルトの名無しさん
2020/05/31(日) 02:50:27.87ID:0yzq8zA/ >>398
subプロシージャで調べてみ
subプロシージャで調べてみ
403デフォルトの名無しさん
2020/05/31(日) 02:50:46.87ID:6kaO8G32404デフォルトの名無しさん
2020/05/31(日) 02:51:03.70ID:6kaO8G32 >>402
調べてみます!
調べてみます!
405デフォルトの名無しさん
2020/05/31(日) 02:52:54.38ID:wkpADETk >>401
じゃあ転職しろよw
じゃあ転職しろよw
406デフォルトの名無しさん
2020/05/31(日) 02:56:41.46ID:2V+gQfrN407デフォルトの名無しさん
2020/05/31(日) 03:25:44.77ID:C8J9R7KI408デフォルトの名無しさん
2020/05/31(日) 03:27:49.96ID:C8J9R7KI409蟻人間 ◆T6xkBnTXz7B0
2020/05/31(日) 04:00:28.58ID:KExNe49d エクセルにはリファレンスマニュアルが付属していて、追加でインストールするとF1ヘルプで言語仕様まで見られる。
マニュアルがパソコンに入ってなかったら、管理者からエクセルのシーディーを借りてね。
マニュアルがパソコンに入ってなかったら、管理者からエクセルのシーディーを借りてね。
410デフォルトの名無しさん
2020/05/31(日) 05:00:56.16ID:pJwiV8F0411デフォルトの名無しさん
2020/05/31(日) 08:40:31.29ID:6kaO8G32 ごめんなさい
sub test ()でした
sub test ()でした
412デフォルトの名無しさん
2020/05/31(日) 08:57:53.05ID:C8J9R7KI Sub Test0001()
Dim i As Integer
For i = 1 To 2
Dim ary()
MsgBox "ここにブレークポイント設定"
ary = Sheet1.Range(Cells(1, i), Cells(5, i))
Next i
End Sub
A列とB列にあるいずれも5行目までの値を配列に取得するだけのプログラム
For中の一回転目はA列、2回転目はB列
こうやってForの中でaryを宣言し直せば、aryは初期化されると思い込んでたんだけどダメなのな
2回目にMsgBoxで止まったときにaryみるとA列のデータがaryに残ってしまってる
これってメモリ上に残ってて同じ所を参照し直すからなのかな
Eraseすれば消えるからいいんだけど、気づくのに時間かかったわ
こんな初歩的なこと分かってないでよく今まで組んできたもんだ
Dim i As Integer
For i = 1 To 2
Dim ary()
MsgBox "ここにブレークポイント設定"
ary = Sheet1.Range(Cells(1, i), Cells(5, i))
Next i
End Sub
A列とB列にあるいずれも5行目までの値を配列に取得するだけのプログラム
For中の一回転目はA列、2回転目はB列
こうやってForの中でaryを宣言し直せば、aryは初期化されると思い込んでたんだけどダメなのな
2回目にMsgBoxで止まったときにaryみるとA列のデータがaryに残ってしまってる
これってメモリ上に残ってて同じ所を参照し直すからなのかな
Eraseすれば消えるからいいんだけど、気づくのに時間かかったわ
こんな初歩的なこと分かってないでよく今まで組んできたもんだ
413デフォルトの名無しさん
2020/05/31(日) 09:44:52.93ID:8XtoheO9 すんません今時ブロックスコープない方がアレなんで
414デフォルトの名無しさん
2020/05/31(日) 09:49:53.97ID:4iioSPSZ415デフォルトの名無しさん
2020/05/31(日) 10:44:01.62ID:GCI/GpSg416デフォルトの名無しさん
2020/05/31(日) 10:47:02.74ID:GCI/GpSg417デフォルトの名無しさん
2020/05/31(日) 11:53:35.71ID:df9CBrpd >>398
呼び出し元とプロシージャそれぞれ一行ずつ書いてくれよ
呼び出し元とプロシージャそれぞれ一行ずつ書いてくれよ
418デフォルトの名無しさん
2020/05/31(日) 12:34:25.47ID:GcFwCYXw >>412
VBAのDimは書いた場所に関係なく、コード開始時に1回だけ実行される仕様
モジュールの最後に書いても結果は変わらない
Sub Test()
Dim a()
For i = 0 To 9
Dim b()
Next
Dim c()
End Sub
VBAのDimは書いた場所に関係なく、コード開始時に1回だけ実行される仕様
モジュールの最後に書いても結果は変わらない
Sub Test()
Dim a()
For i = 0 To 9
Dim b()
Next
Dim c()
End Sub
419デフォルトの名無しさん
2020/05/31(日) 12:42:20.77ID:C8J9R7KI >>413
あーなるほど
そこを考えるんですか、勉強になりましたわ
ただ、改めて疑問に思ったのは、同じブロックスコープ内で再度宣言してもエラーでないのはどういうことなんだろーとか
Forの中での宣言だと繰り返しといっても宣言部分は無視されるってことかな
ま、同じ事しないようにちゃんとおぼえておこ・・・
>>415
このプログラムだとそうなんだけど
ary = Sheet1.Range(Cells(1, i), Cells(5, i))
この部分が、ある条件を満たした場合のみ代入するっていうコードだとします
んで、条件満たさなかった場合には代入されないため、A列のデータがaryに残っちゃっておかしな事になっちゃってたわけですよ
自分で実際に組んでるコードはも少し複雑なものなので
あーなるほど
そこを考えるんですか、勉強になりましたわ
ただ、改めて疑問に思ったのは、同じブロックスコープ内で再度宣言してもエラーでないのはどういうことなんだろーとか
Forの中での宣言だと繰り返しといっても宣言部分は無視されるってことかな
ま、同じ事しないようにちゃんとおぼえておこ・・・
>>415
このプログラムだとそうなんだけど
ary = Sheet1.Range(Cells(1, i), Cells(5, i))
この部分が、ある条件を満たした場合のみ代入するっていうコードだとします
んで、条件満たさなかった場合には代入されないため、A列のデータがaryに残っちゃっておかしな事になっちゃってたわけですよ
自分で実際に組んでるコードはも少し複雑なものなので
420デフォルトの名無しさん
2020/05/31(日) 12:44:02.11ID:C8J9R7KI421デフォルトの名無しさん
2020/05/31(日) 13:55:17.54ID:W/GxV3g0 >>401
お前は周りにない知識が多少あることに優越感持ってるだけで仕事できる人間の言い分に見えんのよなぁ
お前は周りにない知識が多少あることに優越感持ってるだけで仕事できる人間の言い分に見えんのよなぁ
422デフォルトの名無しさん
2020/05/31(日) 14:13:51.20ID:GcFwCYXw 仕事ができる人なら、コードを書くのに何人時かかりますっていう見積もりをざっくりでいいから依頼主にちゃんと提示する
それで依頼を取り下げるかどうかはクライアントの決めること
想定外のトラブルで納期が遅れそうならホウ・レン・ソウして迷惑をかけないようにする
難しいからって愚痴るのはまったく建設的じゃないし、なんの解決にもならない
それで依頼を取り下げるかどうかはクライアントの決めること
想定外のトラブルで納期が遅れそうならホウ・レン・ソウして迷惑をかけないようにする
難しいからって愚痴るのはまったく建設的じゃないし、なんの解決にもならない
423デフォルトの名無しさん
2020/05/31(日) 15:00:37.19ID:py7qoVDy なんでそんなにかかるの?
どこに時間かかる要素があるの?
やればいいだけでしょ?
○○さんはもっと早かったよ?
次の仕事があるんならそれでいいよ?
どこに時間かかる要素があるの?
やればいいだけでしょ?
○○さんはもっと早かったよ?
次の仕事があるんならそれでいいよ?
424デフォルトの名無しさん
2020/05/31(日) 15:05:53.60ID:ztYbO9r8 報連相つらいよね…プログラムの難しさよりも報連相の方がつらい…
425デフォルトの名無しさん
2020/05/31(日) 16:55:11.56ID:uJxLAScO すみませんド素人ですがご教授下さい。
「あるセルを選択して実行すると選択したセル行のA〜D列以外が全て1.1倍される」
というマクロを組みたいです。
ネットで調べて少し作ろうとしてみましたが
知識がありません。
Sub 倍掛け()
Dim SELU As Range '変数名の絶望的センス名
For Each SELU In Selection
SELU.Value = SELU.Value * 1.1
Next SELU
End Sub
Sub 選択したセルの行全選択()
ActiveCell.EntireRow.Select
End Sub
この2つのプロシージャが何となく使えるのかすらわからないのですが試行錯誤しています。
A〜D列を除外というやり方もわかりません。
すみませんが教えていただけないでしょうか。
「あるセルを選択して実行すると選択したセル行のA〜D列以外が全て1.1倍される」
というマクロを組みたいです。
ネットで調べて少し作ろうとしてみましたが
知識がありません。
Sub 倍掛け()
Dim SELU As Range '変数名の絶望的センス名
For Each SELU In Selection
SELU.Value = SELU.Value * 1.1
Next SELU
End Sub
Sub 選択したセルの行全選択()
ActiveCell.EntireRow.Select
End Sub
この2つのプロシージャが何となく使えるのかすらわからないのですが試行錯誤しています。
A〜D列を除外というやり方もわかりません。
すみませんが教えていただけないでしょうか。
426蟻人間 ◆T6xkBnTXz7B0
2020/05/31(日) 17:39:48.04ID:w6MuXuh+ >>425
Excel for Windows 95で動作確認。
Sub Record1()
Application.Worksheets(1).Select
For I = 5 To 20
For J = 1 To 20
Cells(J, I).Select
ActiveCell.FormulaR1C1 = Val(ActiveCell.FormulaR1C1) * 1.1
Next J
Next
End Sub
Excel for Windows 95で動作確認。
Sub Record1()
Application.Worksheets(1).Select
For I = 5 To 20
For J = 1 To 20
Cells(J, I).Select
ActiveCell.FormulaR1C1 = Val(ActiveCell.FormulaR1C1) * 1.1
Next J
Next
End Sub
428デフォルトの名無しさん
2020/05/31(日) 18:34:56.03ID:Gn3uBA4V >>425
選択した範囲が処理の起点なので、、
Dim r As Range
For Each r In Selection
If r.colunm < 5 Then GoTo nextLoop
If r.Value = "" Then GoTo nextLoop
r.Value = r.Value * 1.1
nextLoop:
Next
こんな感じ?
行全体を対象にしたいみたいだけど、その時はFor文の前に
Selection.EntireRow.Select
を差し込めばいい。
1万列処理されるけど、、、
選択した範囲が処理の起点なので、、
Dim r As Range
For Each r In Selection
If r.colunm < 5 Then GoTo nextLoop
If r.Value = "" Then GoTo nextLoop
r.Value = r.Value * 1.1
nextLoop:
Next
こんな感じ?
行全体を対象にしたいみたいだけど、その時はFor文の前に
Selection.EntireRow.Select
を差し込めばいい。
1万列処理されるけど、、、
429デフォルトの名無しさん
2020/05/31(日) 18:39:34.39ID:Gn3uBA4V >>428
綴りを間違っとった
If r.Column < 5 Then GoTo nextLoop
文字列セルを避けたければ、、以下も追加
If Not IsNumeric(r.Value) Then GoTo nextLoop
綴りを間違っとった
If r.Column < 5 Then GoTo nextLoop
文字列セルを避けたければ、、以下も追加
If Not IsNumeric(r.Value) Then GoTo nextLoop
430デフォルトの名無しさん
2020/05/31(日) 19:13:07.80ID:4iioSPSZ431デフォルトの名無しさん
2020/05/31(日) 21:17:59.30ID:yITbq02Q 馬鹿に馬鹿が答えて滅茶苦茶
簡単な質問だとしゃしゃり出てくるからおかしくなる
簡単な質問だとしゃしゃり出てくるからおかしくなる
432デフォルトの名無しさん
2020/05/31(日) 22:48:28.20ID:6kaO8G32433デフォルトの名無しさん
2020/05/31(日) 22:49:04.73ID:6kaO8G32 >>417
呼び出し元…すみません、知識不足でした…
呼び出し元…すみません、知識不足でした…
434デフォルトの名無しさん
2020/05/31(日) 23:06:33.42ID:2V+gQfrN >>433
馬鹿には無理だと悟れよ、馬鹿
馬鹿には無理だと悟れよ、馬鹿
435デフォルトの名無しさん
2020/06/01(月) 18:21:12.15ID:JWhdLJJl お前もだ
436デフォルトの名無しさん
2020/06/01(月) 18:38:31.30ID:4Uk/Vywe 異動した先輩が作ったマクロに少し追加しようと思って標準モジュール見てみたら
乱れ雪月花
地ずり残月
かすみ二段
パリィ
何これ???と思ったらゲームの技名なのか
見事なプロシージャだけど関連性が全くわからんかった…
乱れ雪月花
地ずり残月
かすみ二段
パリィ
何これ???と思ったらゲームの技名なのか
見事なプロシージャだけど関連性が全くわからんかった…
437デフォルトの名無しさん
2020/06/01(月) 18:48:48.99ID:jizMt7mj Sub 乱れ雪月花
風雪即意付け
月影の太刀
三花仙
End Sub
風雪即意付け
月影の太刀
三花仙
End Sub
438デフォルトの名無しさん
2020/06/01(月) 19:40:30.70ID:o1fpUPSE 取り敢えずマジックナンバーだらけのを保守しろとかいうのはやめてー
セル参照も起点ぐらいは定数宣言しといて欲しい
セル参照も起点ぐらいは定数宣言しといて欲しい
439デフォルトの名無しさん
2020/06/01(月) 19:48:00.59ID:xzpno8fJ 1列目の2行目から下にEXCELファイル名があります。(同一ファイル名あり)
それらを全て開く、処理、閉じるを繰り返すと時間がかかるので、同一ファイル名は一度だけ開いて閉じるをやりたいのですがどしたらいいですか?
1列目をソート
Do until 1列目
???
処理
loop
ファイル名は数字(000001.xlsなどで桁数は同じ)
???の所で開くor閉じるをやりたいのですがどうしたらいいですか?
それらを全て開く、処理、閉じるを繰り返すと時間がかかるので、同一ファイル名は一度だけ開いて閉じるをやりたいのですがどしたらいいですか?
1列目をソート
Do until 1列目
???
処理
loop
ファイル名は数字(000001.xlsなどで桁数は同じ)
???の所で開くor閉じるをやりたいのですがどうしたらいいですか?
440デフォルトの名無しさん
2020/06/01(月) 20:00:55.95ID:Ct20WAoS パリィは草
441デフォルトの名無しさん
2020/06/01(月) 20:10:21.26ID:MDu2hpC8442デフォルトの名無しさん
2020/06/01(月) 20:42:10.79ID:eRBcTATy 重複禁止の処理は連想配列(VBAだとDictionaryオブジェクト)を使うと便利だよ。
既に連想配列に存在するなら何もしない、存在しないなら処理して連想配列に登録する。
Valueに結果を入れておいて、実行結果をシートに出力とかするとカッコイイよ。
既に連想配列に存在するなら何もしない、存在しないなら処理して連想配列に登録する。
Valueに結果を入れておいて、実行結果をシートに出力とかするとカッコイイよ。
443デフォルトの名無しさん
2020/06/01(月) 21:05:54.37ID:Otvtnefa 結果をシートに出すなら配列使わんと重複削除してから開いた方が速くて楽じゃん
444デフォルトの名無しさん
2020/06/01(月) 23:34:24.04ID:5NIHbXOS まだ22歳の学生社長が得た、23億円の「使い道」
あの橋本環奈をCMに使うバイトアプリの雄
https://toyokeizai.net/articles/-/319511
中学時代の車いす生活から、17歳で起業するまで
https://www.advertimes.com/20200130/article306925/
ミャンマー発 AIダイニングアプリ「Yathar」をしかける日本人起業家
https://roboteer-tokyo.com/archives/14840
自分の視野は「世の中の0.001%」と自覚せよ。ビジネスチャンスを掴む4つの習慣
https://headlines.yahoo.co.jp/hl?a=20200511-00010001-srnijugo-life
アプリの視聴率がわかる 高専卒起業家の独創力
https://www.nikkei.com/article/DGXMZO46695580Y9A620C1000000/
1万人の若者を支援!インターンが日本を変えるかも!? glowshipの若き創業者・足立卓也氏インタビュー
https://sogyotecho.jp/glowship-adachi-interview/
大学生起業家が設立1年で20億円調達! 単発バイトアプリに外食企業など出資【タイミー】
https://foodfun.jp/archives/3490
あの橋本環奈をCMに使うバイトアプリの雄
https://toyokeizai.net/articles/-/319511
中学時代の車いす生活から、17歳で起業するまで
https://www.advertimes.com/20200130/article306925/
ミャンマー発 AIダイニングアプリ「Yathar」をしかける日本人起業家
https://roboteer-tokyo.com/archives/14840
自分の視野は「世の中の0.001%」と自覚せよ。ビジネスチャンスを掴む4つの習慣
https://headlines.yahoo.co.jp/hl?a=20200511-00010001-srnijugo-life
アプリの視聴率がわかる 高専卒起業家の独創力
https://www.nikkei.com/article/DGXMZO46695580Y9A620C1000000/
1万人の若者を支援!インターンが日本を変えるかも!? glowshipの若き創業者・足立卓也氏インタビュー
https://sogyotecho.jp/glowship-adachi-interview/
大学生起業家が設立1年で20億円調達! 単発バイトアプリに外食企業など出資【タイミー】
https://foodfun.jp/archives/3490
445デフォルトの名無しさん
2020/06/02(火) 00:29:20.96ID:hEtyTtKQ 俺ならこうかな。
Sub サンペイグッドカメラ()
どっきりカメラのキシフォート
カメラのドイ
End Sub
Sub サンペイグッドカメラ()
どっきりカメラのキシフォート
カメラのドイ
End Sub
446デフォルトの名無しさん
2020/06/02(火) 00:35:26.89ID:0adtr6kX VBAだしそういう名前面白いかもなw
簡単だけど保守したくないやつは、もう先輩や同僚の連絡先を名前にしようかな
簡単だけど保守したくないやつは、もう先輩や同僚の連絡先を名前にしようかな
447デフォルトの名無しさん
2020/06/02(火) 01:36:20.19ID:rfJHDu9M Sub 馬鹿専用()
馬鹿には無理()
馬鹿は帰れ()
End Sub
馬鹿には無理()
馬鹿は帰れ()
End Sub
448デフォルトの名無しさん
2020/06/02(火) 02:01:31.67ID:cr7Q5ahz Sub 鱸()
鰯()
鰹()
鮪()
End Sub
鰯()
鰹()
鮪()
End Sub
449デフォルトの名無しさん
2020/06/02(火) 02:07:31.79ID:SOkkDiQ6 >>439
Ruby なら重複要素を許さない、集合を使って、
require 'set'
filenames = <<"EOT"
a/foo.txt
a/bar.txt
a/foo.txt
EOT
set = Set.new
filenames.each_line do |filename| # 1行ずつ処理する
filename.chomp! # 末尾の改行を削除する
# 同じ要素は追加できないので、追加できた時だけ、そのファイルを読み込む
p File.read( filename ) if set.add?( filename )
end
Ruby なら重複要素を許さない、集合を使って、
require 'set'
filenames = <<"EOT"
a/foo.txt
a/bar.txt
a/foo.txt
EOT
set = Set.new
filenames.each_line do |filename| # 1行ずつ処理する
filename.chomp! # 末尾の改行を削除する
# 同じ要素は追加できないので、追加できた時だけ、そのファイルを読み込む
p File.read( filename ) if set.add?( filename )
end
450デフォルトの名無しさん
2020/06/02(火) 02:24:02.46ID:cr7Q5ahz >>439
[データ]→[重複の削除] って機能あるけど
[データ]→[重複の削除] って機能あるけど
451デフォルトの名無しさん
2020/06/02(火) 04:12:46.96ID:xDFjMRpH >>439
ファイル名がリストアップされてる列があるなら
そこでまず回して重複排除したファイル名の配列 as Stringをつくればいいだけじゃ
てかその程度も思い浮かばないとなるとプログラミング向いてないような気がするわ
重複排除のプログラムって基礎の基礎でやるよ
便利な機能を使う前に順次・分岐・繰り返しでほぼほぼなんでも出来ちゃうことを学んだ方がいいわ
C言語の勉強するとそういうの鍛えられる感じする
ファイル名がリストアップされてる列があるなら
そこでまず回して重複排除したファイル名の配列 as Stringをつくればいいだけじゃ
てかその程度も思い浮かばないとなるとプログラミング向いてないような気がするわ
重複排除のプログラムって基礎の基礎でやるよ
便利な機能を使う前に順次・分岐・繰り返しでほぼほぼなんでも出来ちゃうことを学んだ方がいいわ
C言語の勉強するとそういうの鍛えられる感じする
452デフォルトの名無しさん
2020/06/02(火) 08:37:46.24ID:ZejDuh3H453デフォルトの名無しさん
2020/06/02(火) 08:39:17.76ID:ZejDuh3H >>386
まあ、プログラマ―としては糞コードの見本を強要されるわけだからねえ。
まあ、プログラマ―としては糞コードの見本を強要されるわけだからねえ。
454デフォルトの名無しさん
2020/06/02(火) 08:41:06.23ID:ZejDuh3H >>398
引数という言葉を調べてみよう。
引数という言葉を調べてみよう。
455デフォルトの名無しさん
2020/06/02(火) 09:53:39.10ID:DG4jD+ms い・・引数
456デフォルトの名無しさん
2020/06/02(火) 10:17:05.52ID:ZKdkos41 いんすう、なの?
勝手に、ひきすう、って読んでた。
勝手に、ひきすう、って読んでた。
457デフォルトの名無しさん
2020/06/02(火) 10:38:01.33ID:HxakEXb6 いんすうだと因数と間違えるから、わざとひきすうと読む慣習
458デフォルトの名無しさん
2020/06/02(火) 11:01:38.32ID:P+GfDheU ソヒキスウブンカイとかあったよねー。
459デフォルトの名無しさん
2020/06/02(火) 11:28:56.48ID:Bxw1Fg+T 淫吸だとエロい言葉に聞こえるからひきすうと読む
460デフォルトの名無しさん
2020/06/02(火) 12:59:58.61ID:86yzZ856 Sub セル2行を結合して出力()
Sheets("雛型").Select
ActiveSheet.Copy
Dim gg As Long, rr As Long
For gg = Cells(Rows.Count, "E").End(xlUp).Row To 11 Step -1
Rows(gg + 1).Insert
For rr = 5 To 31
Cells(gg, rr).Resize(2).Merge
Next rr
Next gg
HorizontalAlignment = xlCenter
VerticalAlignment = xlCenter
Range("A1") = "2行を結合して出力"
End Sub
すみません、ネットで調べまくってる相変わらずのど初心者です。
セルの行挿入と結合を範囲指定して
2行を結合するのは何とか調べてできたのですが、
「セルの列挿入と結合を繰り返して
2列1行のセルにしたい」
というのができず。。ご教示頂けませんか。
理想は
「セルを2列挿入と結合をして3列1行のセルにする」や
「2列と2行の挿入と結合繰り返して2列2行のセルにする」
など、色々パターンを作りたいのですが。
ネットと入門編の本だとやはり限界を感じます。。
どなかた何卒お願いします。
Sheets("雛型").Select
ActiveSheet.Copy
Dim gg As Long, rr As Long
For gg = Cells(Rows.Count, "E").End(xlUp).Row To 11 Step -1
Rows(gg + 1).Insert
For rr = 5 To 31
Cells(gg, rr).Resize(2).Merge
Next rr
Next gg
HorizontalAlignment = xlCenter
VerticalAlignment = xlCenter
Range("A1") = "2行を結合して出力"
End Sub
すみません、ネットで調べまくってる相変わらずのど初心者です。
セルの行挿入と結合を範囲指定して
2行を結合するのは何とか調べてできたのですが、
「セルの列挿入と結合を繰り返して
2列1行のセルにしたい」
というのができず。。ご教示頂けませんか。
理想は
「セルを2列挿入と結合をして3列1行のセルにする」や
「2列と2行の挿入と結合繰り返して2列2行のセルにする」
など、色々パターンを作りたいのですが。
ネットと入門編の本だとやはり限界を感じます。。
どなかた何卒お願いします。
461デフォルトの名無しさん
2020/06/02(火) 13:09:54.31ID:YHzZdfxN .resize(1,2).mergeとか
Range(rows(gg+1)rows(gg+2)).insertとか
Range(rows(gg+1)rows(gg+2)).insertとか
462デフォルトの名無しさん
2020/06/02(火) 14:39:08.29ID:cr7Q5ahz セルの結合をマクロでやる設計者ってセンスないね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 国民 居住目的でない住宅所有者に「空室税」課せる法案を提出 ★2 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【EV新税】最大2万4千円で検討 28年から、普及妨げると異論も [蚤の市★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★3 [Hitzeschleier★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 防衛省「中国側が出した記録は捏造」とは一言も表明せず、捏造言ってたネトウヨたちどうすんの? [469534301]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★1
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【悲報】高市早苗、被災民に対し「自分の命くらいは自分で守ってくださいね」と切り捨てし大炎上 [339712612]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【高市悲報】JA、発狂www「臨時に経費率を下げるので、どうかお米券を使ってください」 [246620176]
