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/ ※デフォルト設定
322 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 09:11:03 ID:oSYrowbf.net] Dir関数って何でコレクション返さずに、あんな奇妙な実装なんだろ なんか訳があるのか
323 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 09:41:03 ID:2MUNkHgk.net] >>307 ファイルが大量にあるとコレクション取得に時間がかかる イテレータがないVBAとかCだとDir()みたいな方式は珍しくないよ
324 名前:デフォルトの名無しさん [2020/05/28(木) 09:59:38.59 ID:8QzLeV6c.net] FDなんかでディレクトリエントリの順番変えて高速化とかの時代
325 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 12:03:25.03 ID:u/WM2FVL.net] vlookupの参照値がエラーの場合に違うところに飛んでしまいます。エクセルの関数みたいにIFERROE(VLOOKUP(**,**,3,FALSE),"")みたいな処理をするためのコードを教えてください Dim bigcnt As Long Sub test() Dim Pagecnt As Long Dim rycnt As Long Dim syouhin As Long Dim Rowcnt As Long For Pagecnt = 1 To MaxPage Step 1 Range("DX8").Value = Pagecnt Rowcnt = 1 For tycnt = 12 To 30 Step 2 On Error Resume Next Range("K" & tycnt).Value = _ Application.WorksheetFunction.VLookup( _ Application.WorksheetFunction.VLookup(bigcnt,Sheets("uuu").Range("A:C"), 2, False) & "P" & (Pagecnt * 10) - 10 + Rowcnt, _ Sheets("list").Range("B:FU"), 107, False) Rowcnt = Rowcnt + 1 Next tyucnt
326 名前:310 mailto:sage [2020/05/28(木) 12:03:59.29 ID:u/WM2FVL.net] つづき Rowcnt = 1 For syouhin = 12 To 30 Step 2 On Error Resume Next Range("AC" & syouhin).Value = _ Application.WorksheetFunction.VLookup( _ Application.WorksheetFunction.VLookup(bigcnt, Sheets("uuu").Range("A:C"), 2, False) & "P" & (Pagecnt * 10) - 10 + Rowcnt, _ Sheets("list").Range("B:FU"), 63, False) Rowcnt = Rowcnt + 1 Next syouhina Next Pagecnt End Sub ↓のこの変でエラーがでると、次の処理が予測不能な参照値に飛びます bigcnt,Sheets("uuu").Range("A:C"), 2, False) & "P" & (Pagecnt * 10) - 10 + Rowcnt, _ "On Error GoTo 0"にしてもvlookupで参照できずにとまり、やはり予測不能な参照値に飛びます bigcntは正しい値に更新されていました
327 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 12:27:26 ID:CwUX9Txr.net] next に変なカウンタつけるなよ
328 名前:310 mailto:sage [2020/05/28(木) 13:05:26.67 ID:u/WM2FVL.net] すみません。 rycnt→tycnt tyucnt→tycnt syouhina→syouhin
329 名前:デフォルトの名無しさん [2020/05/28(Thu) 13:15:00 ID:8QzLeV6c.net] 読む気無いけどvlookup使うのは高速化とかが目的? VBAerなら自分で探したほうが融通効かないか?
330 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 13:28:52.23 ID:VMjOSmuX.net] 悪いけど、vlookup使う方がセンスいいと思うよ
331 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 13:51:27 ID:EbwElpou.net] 俺もそう思う
332 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 14:17:55.81 ID:fQiHMFwM.net] 正直まともに読む気がしなくなる ・誤字が多すぎてエラーにならないわけがない(手打ちしてるんだろ) ・シート上の範囲とかシート名、構成が不明すぎる ・同じく変数が不明すぎる(こちらはbigcntとかmaxpageとか全く知らない) ・何でデバッグで一時変数に入れるとかしないのか(二つめと四つめのVlookupは返り値とれるやろ。エラーがでるならそこかもしれんやろ、しらんが) ・なんでon errorはその二つしか試してないの、てかデバッグするなら回避しなければいいのに 速度求めるのにworksheetfunction使うのはいいけど、 こんな感じで雑に使うと可読性下がるから、そこは理解して
333 名前:ツかって [] [ここ壊れてます]
334 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 14:35:32.74 ID:1No7OPPN.net] こんな感じかな Function myVLookup(lookup, tbl As Range, col As Integer, Optional flg = True) '個人的にはflg=Falsebノしたいけど On Error GoTo err1 myVLookup = WorksheetFunction.VLookup(lookup, tbl, col, flg) Exit Function err1: 'Debug.Print lookup, tbl.Address myVLookup = "" End Function
335 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 14:55:35.18 ID:1No7OPPN.net] 訂正 × Optional flg=True ○ Optional flg=1 VBAだから、True=-1だっけ
336 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 15:47:43 ID:A0D9Z3DQ.net] vbaerってなんでしょうか?
337 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 16:26:49 ID:Xg+0aVY9.net] >>320 google.com/search?lr=lang_ja&q=vbaer
338 名前:デフォルトの名無しさん [2020/05/28(木) 17:23:33.07 ID:vsv+AImU.net] 測定系の部署だから エクセル関数でもリスト作ったりとかそういうのは使わないんだよぁ 計算系はすんげぇ使う
339 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 17:32:02 ID:NxeE/SGI.net] 100万行以上ある表で特定の範囲に太字があるセルがある場合にTrueを返却したいのですが、 セルをループする以外で判定する方法はないでしょうか。 ループだと遅いので他の方法を探しています。
340 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 17:40:50.70 ID:YLdey8mA.net] 太字で判定するしかない設計を見直す
341 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 17:53:26 ID:6oAsq0wQ.net] >>323 俺も色やフォントでデータを判定する方式はExcelには向いてないから今すぐやめるべきだと思う とりあえず、名前を付けて保存、範囲指定で太字を解除してもう一度別名保存、ファイルサイズの比較
342 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 18:24:58.06 ID:NxeE/SGI.net] >>324-325 私もすごくそう思います。ほんとアホな現場です。 vbaや関数で高速判定する術は無いということになりますかね…
343 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 18:33:29.93 ID:1No7OPPN.net] 例えば、セルB1にして =GET.CELL(20,A1)*1 を LeftIsBold とでも名前定義 太字を確認したい列の右隣に、=LeftIsBold と入力して、それを合計する 遅いか速いかは知らないけど、Excel4.0マクロだから、ユーザー定義関数関数使うよりは早いと思う あと、文字単位の太字には未対応 太字で判定する設計が良くないのは同意
344 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 18:44:24.85 ID:nu6DWAbq.net] ユーザーフォームを印刷したいんだけどA4横印刷で一枚に収まるように倍率変更って出来ない? ちょろっと調べると印刷設定に依存するとか書いてある。 吐き出し用のシートやらコード書くの面倒だし、フォームだけが印刷出来ればいいんだが本当に無理?
345 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 19:09:14 ID:HPtbnCn7.net] >>328 1回PDFにして、PDFビューアの機能でA4フィット印刷 じゃだめ?
346 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 19:19:51 ID:GEIkGrn6.net] >>326 XMLで読み込めば判るんじゃないの?
347 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 20:56:43 ID:0S10FlCu.net] >>330 100万行のワークシートをXMLにするとデータ量が10陪ぐらいになることもあるから、たぶんワークシートをVBAで直接調べた方が早い
348 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 21:21:26 ID:PIoPunSP.net] >>323 usedrangeの範囲を太字で検索してあればtrueは?
349 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 21:44:10.77 ID:GEIkGrn6.net] >>331 じゃあXMLを自分宛てにメールで送って、Gmailで検索するのは? ってもうExcelじゃないわ。
350 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 22:37:07 ID:0S10FlCu.net] >>333 ネットを経由したらもっと遅くなると思うぞ
351 名前:デフォルトの名無しさん mailto:sage [2020/05/28(Thu) 22:48:39 ID:0S10FlCu.net] >>323 100万セルのBoldプロパティを調べるコードを作って実験してみたけど数秒で終わったぞ 範囲が限られてるなら一瞬で終わるんじゃない? これより早くする方法はないと思うぞ
352 名前:323 mailto:sage [2020/05/28(Thu) 23:44:38 ID:AwZmzoZa.net] みなさんいろいろありがとうございます。 結局ループですることになりそうです >>335さんのコードと同じような気がしますが、その数秒〜十数秒が短縮できないかなと思ってました。 ありがとうございました。
353 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 00:08:23 ID:QVnkNeSg.net] まあどう考えても>>324
354 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 06:08:45 ID:OHJZg62K.net] 業務上100万件のデータ処理が必要なら専用のソフトを独自に作るべきだろう 初心者にVBAでやらせる上司が無能としか言いようがない 今までその業務手作業でやってたんだとしたらそのままのやり方続けていればいいんじゃね
355 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 06:43:32.30 ID:z6j/3IlC.net] >>329 印刷出来れば構いません。
356 名前:310 mailto:sage [2020/05/29(金) 10:32:29 ID:I8K8veff.net] >>318 ありがとうございます。エラーを回避できました
357 名前:デフォルトの名無しさん [2020/05/29(金) 12:52:21 ID:UXGV4L+b.net] 物凄いコードを3つ 前スレで教えてくれたあの人たちが 今でもここを見てくれてますように
358 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 12:59:11 ID:wRO7TzMi.net] >>323 その範囲.Font.Bold
359 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 13:16:11 ID:I8K8veff.net] 指定したフォルダ内の"B"で始まるxlsファイルの"表紙"シートの各箇所を このブックの"comp"シートA〜C列の2行目以降に書き出していくコードを教えてください Dim path As String ,buf As String, i As Long Dim mysheet As Worksheet, srcbook As Workbook, srcsheet As Worksheet With Application.FileDialog(msoFileDialogFolderPicker)'フォルダを選択する If .Show = 0 Then MsgBox "キャンセルされました。" Exit Sub End If path = .SelectedItems(1) End With Set mysheet = ThisWorkbook.Worksheets("comp") buf = Dir(path & "B*.xls") Do While buf <> "" i = i + 1 Set srcbook = Workbook.Open(path + buf) Set srcsheet = srcbook.Worksheets("表紙") mysheet.Cells(i, 1).Value = srcsheet.Cells(3, 13) mysheet.Cells(i, 2).Value = srcsheet.Cells(5, 2) mysheet.Cells(i, 3).Value = srcsheet.Cells(7, 2) srcbook.Close False buf = Dir() Loop を試したのですが、だめでした
360 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 13:36:39 ID:Afg8U+25.net] debug.print入れまくれ で、どこがどうだめだったの?
361 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 13:38:45 ID:x/xJoOz3.net] buf = Dir(path & "B*.xls") の後ろに、 Debug.print buf Debug.print path & "B○○.xls" <--実際のファイル名を入れる で、何か気づくと思うよ
362 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 14:59:14 ID:4ofbCjLS.net] xls形式って古くね
363 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 15:00:54 ID:xfksWnzq.net] Dir君はいい加減デバッグ機能覚えようぜ ローカルウインドウ見ながらステップイン連打しよう
364 名前:343 mailto:sage [2020/05/29(金) 16:23:07 ID:I8K8veff.net] >>344,345,346,347 できました!ありがとうございます。 path & "B*.xls" ↓↓↓↓↓↓ path & "\B*.xls" Workbook.Open(path + buf) ↓↓↓↓↓↓ Workbooks.Open(path &"\"& buf) だったみたいです
365 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 18:24:55.94 ID:ofRjPTJp.net] 教えてください クリップボードにあるキャプチャを全て貼り付けるマクロできますか。 ちなみに、win+Vで、過去のキャプチャ履歴が出てきます
366 名前:デフォルトの名無しさん [2020/05/29(金) 18:44:55 ID:FhfEW/N2.net] 過去の履歴はクリップボードにはもうありません
367 名前:デフォルトの名無しさん [2020/05/29(金) 19:17:03 ID:/mLagXjz.net] 馬鹿の特徴 教えて、助けて系で始まる書き込みをする
368 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 19:46:11 ID:ofRjPTJp.net] >>350 win+Vやってみれば分かります。 蓄積していきます。
369 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 20:15:13 ID:o3jQNOd+.net] >>350 昔はフリーウェアで対応してたけど、Win10のクリップボードには履歴機能が標準で付いた
370 名前:デフォルトの名無しさん [2020/05/29(金) 20:22:58 ID:rds5fVij.net] 馬鹿は、Win10全て
371 名前:が同じだと思っている [] [ここ壊れてます]
372 名前:デフォルトの名無しさん [2020/05/29(金) 21:14:41.12 ID:Z5PYtswD.net] なるほどね APIが公開されているからそれを使えばいいと思うよ
373 名前:デフォルトの名無しさん mailto:sage [2020/05/29(金) 21:47:35 ID:be+QuDfe.net] Debug.Printの代わりにMsgbox ↓ うっかりループで使う ↓ 必死に×とかEsc連打
374 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 00:10:31 ID:r1iWOzqa.net] VBAで親クラスのインスタンスを子クラスに渡して子クラスから親クラスのメソッドにアクセスする方法ってあります?
375 名前:デフォルトの名無しさん [2020/05/30(土) 05:29:34.61 ID:n48qxrxQ.net] 母のパンティを娘に渡して 娘から母のセックスにチェンジする方法はあるよ
376 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 06:41:58 ID:lz52cF2O.net] >>350 いつまでXP使ってるんだよ
377 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 10:18:37 ID:Lg+IyK0J.net] 仕様書みたいの書かないとダメだな 数年前に自分で作ったの手直ししなきゃなんだけど 結構でかいんでコード理解して全体像を把握するのが大変だわ 仕様書とかそういうのってたぶん書き方があるんだろうね その辺勉強しなきゃダメだね
378 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 10:44:24 ID:A129boaw.net] 過去の自分が書いたソースは他人が書いた物
379 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 10:47:20 ID:gDHPXROS.net] ?画面をプリントスクリーン ?エクセルなりを開いてペースト ?戻る ??がいちいち面倒くさいので、理想的にはプリントスクリーンすれば勝手にそれがペーストされていけば良いのですが。できないかな。
380 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 11:13:20 ID:gDHPXROS.net] 続き あるいはwin+Vで貯まってるキャプチャを自動的にダウンロード出来れば、と思いました
381 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 11:26:13.81 ID:4gyXKXc6.net] >>362 https://github.com/mizutuu/imageClipPaste
382 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 11:40:59.92 ID:Lg+IyK0J.net] 氏名住所をユーザーフォームで連続入力してリストに登録するじゃん んで、フォーム上の印刷ボタンを押すと、ワークシート上に用意されてるテンプレ書類に 氏名住所が必要な箇所に順次記入されて印刷される ていうよくありがちなプログラムあるでしょ このテンプレ書類に数式を使って氏名住所を別のセルにも転記するようにしておく 例えば、VBAでA1に氏名が記入されるとすると B1に =A1 って書いておけばB1にも氏名が記入されて印刷される これも当たり前なんだけど このB1に入る数式にユーザー定義関数使うと、うまく動かないのな Application.Calculate とかもうまくいかなかったわ うまくいかないってのは計算してくれないってことだけど
383 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 12:46:49.94 ID:gDHPXROS.net] >>364 サンキューさん これなら使えそうです。
384 名前:デフォルトの名無しさん [2020/05/30(土) 13:37:34.40 ID:VTd6O4v1.net] 同じなんだけどVBAで膨大な演算処理をコード組んでプロシージャ合わせて作っても おっさんから 「ああ、マクロの記録して作ったやつね」 て言われると少しイラつく 記録じゃつくれねーほど汎用性高くしてんだろうがボケが
385 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 13:50:56.52 ID:LDe7UQpm.net] vbaごときでイキっててわろた
386 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 14:27:17 ID:+Oty3aJ4.net] 無知は罪
387 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 14:46:50 ID:A129boaw.net] そこでイラついてるうちはまだまだ
388 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 15:22:49 ID:uSpMLuhJ.net] VBAはOLさんでも出来る(正論)
389 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 15:27:58 ID:4gyXKXc6.net] マクロの記録しかできない人、Win32APIを使いこなす人、どっちも「VBAができる人」と言われてしまう
390 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 15:39:22.28 ID:49ARh1d+.net] トリッキーなことはやらない方がいい
391 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 15:45:07 ID:49ARh1d+.net] >>365 個人情報とかちゃんと管理しないと流出した場合責任とれる?
392 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 16:36:13 ID:PhwvBcVJ.net] >>365
393 名前:Application.Calculate じゃなくて、Application.Volatileだぞ ワークシートの数式の方に、 &REPT("",NOW()) とかでもいいはず [] [ここ壊れてます]
394 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 16:55:50.78 ID:NW87G0lL.net] >>367 そんなことでイラつく自分を見直そう
395 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 17:00:12.37 ID:EKBxQQvi.net] 14列目から全てセルの巾15ピクセルで固定されてます。指定したピクセル数に伸ばしたり縮めたりしたいんですがどうしたらいいですか? privata Function AAA(objTarSht,intPicel) clmTar=14 do until objTarSht.Cells(1,clmTar)=空 ここ clmTar=clmTar + 1 loop
396 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 17:25:53.46 ID:4gyXKXc6.net] >>377 Private Function AAA(objTarSht, intPixel) clmTar = 14 Do Until objTarSht.Cells(1, clmTar) = "" Columns(clmTar).ColumnWidth = intPixel * 0.118 clmTar = clmTar + 1 Loop
397 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 17:36:07 ID:x6N4SK2n.net] セルのHJ1に式で「=TEXT(EDATE(DE2,(DAY(DE2)>20)+(DT2<>"")),"yyyy""_""m")」をいれて、 最下行までオートフィルをして、HJ列をコピペで値だけにしていますが vbaのforで作ってみたいので、この部分をVBAにした場合のコードを教えてください 「=TEXT(EDATE(DE2,(DAY(DE2)>20)+(DT2<>"")),"yyyy""_""m")」
398 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 17:41:18 ID:NW87G0lL.net] いやまず自分で作ってみろよ…
399 名前:デフォルトの名無しさん [2020/05/30(土) 18:14:09.22 ID:HFWpOc40.net] >>359 馬鹿は書かなければいいのに
400 名前:379 mailto:sage [2020/05/30(土) 18:40:42.91 ID:x6N4SK2n.net] =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
401 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 18:59:33.29 ID:IeNY1P6O.net] >>367 それ本当にマクロか?っていう圧倒的なものを作ってみるといい。
402 名前:デフォルトの名無しさん [2020/05/30(土) 19:06:40 ID:RuztwjMU.net] >>383 ユーザーフォームのボタンにあてがうと 有り難みが薄れるらしく 最近作るのを断ってるわ
403 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 19:52:23 ID:NW87G0lL.net] どんだけ人間小さくて承認欲求高いんだよ…
404 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 20:13:00 ID:v+h7hopE.net] >>367 マクロ記録でできるレベルじゃないから苛ついてんの?できるんなら言われても仕方ないだろ ソフト屋じゃなけりゃ再利用とか考えるわけないし
405 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 20:39:02.93 ID:x6N4SK2n.net] >>381 京都のアニメ制作会社に放火とかしそうだなw
406 名前:デフォルトの名無しさん [2020/05/30(土) 21:05:02 ID:n48qxrxQ.net] >>372 逆に「VBAができるわたし」は ExcelやWordの複雑な機能のことに異常に詳しいと思われてて 難解な作業を仕事で依頼される。 それをVBAで解決できるかできないかにかかわらず。
407 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 21:08:47.70 ID:A129boaw.net] そういう事を防ぐために能鷹隠爪で
408 名前:デフォルトの名無しさん [2020/05/30(土) 21:10:58.46 ID:n48qxrxQ.net] >>364 これはなにで動いているのですか?
409 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 21:14:47 ID:49ARh1d+.net] >>388 仕事で依頼されたなら、仕事やれよ
410 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 21:45:04 ID:/9v+/+fv.net] >>382 式が何をしようとしているのか不明。 ・何でHJ1(1行目)で2行目の値を評価しているの? ・20日以降は次月として捉えているように見えるけどDT列には何が入るの? 空じゃなければ更に月を進める? Forの使い方という点にコメント これだけじゃ cnt がどこまで回ればよいかわからんよね。たとえば、 i = 30 For cnt 2 To i とするか、 For cnt 2 To 30 とかす
411 名前:れば、Loopはする。 でも書き込むセルが Range("HJ1") に固定されてるから、これじゃ同じセルに 30回、延々と上書きするだけになる。 書き込み先を動的に変える場合は、範囲Objectは Range("番地")じゃなくて、 Cells(行番号、列番号)を使うといい。この中でcntを使えば。 EDATE関数にあたるVBA関数はDateAdd TEXT関数はFormatでOK。 [] [ここ壊れてます]
412 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 21:53:02 ID:IeNY1P6O.net] >ExcelやWordの複雑な機能のことに異常に詳しいと思われてて ありがちな誤解だよな。 プログラムがわかるから細かい機能を知らなくてもどうにか出来るわけで、
413 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 21:53:27 ID:IeNY1P6O.net] Word、Excelの専門家じゃないってのに。
414 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 22:38:43.08 ID:I7l9umXM.net] wordの複雑な機能って?
415 名前:デフォルトの名無しさん mailto:sage [2020/05/30(土) 23:40:16 ID:JE+7y9de.net] フィールドとか?
416 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 01:07:44 ID:0lS4xVrw.net] WordVBAとか
417 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 01:47:47 ID:6kaO8G32.net] 初歩的ですみませんが、sub ()の()の中に文字列が入ることありますか? 買った教本の例題にこの中に文字列が書かれてるのが一つだけあるんですが、おそらくそのせいでマクロが動きません
418 名前:デフォルトの名無しさん [2020/05/31(日) 02:38:20 ID:2V+gQfrN.net] >>398 理解できない奴には無理
419 名前:デフォルトの名無しさん [2020/05/31(日) 02:39:52 ID:86R8wtw/.net] >>391 なんでわたしだけ仕事が増えるんだ この馬鹿モンが!
420 名前:デフォルトの名無しさん [2020/05/31(日) 02:41:39.96 ID:86R8wtw/.net] しかも周りに座ってるような同僚は わたしより仕事スピードが1/2〜1/10の人たちばかりなのに。
421 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 02:50:27.87 ID:0yzq8zA/.net] >>398 subプロシージャで調べてみ
422 名前:デフォルトの名無しさん mailto:sage [2020/05/31(日) 02:50:46.87 ID:6kaO8G32.net] >>399 理解できるように勉強してるので教えてください 図々しいと思いますが