Excel VBA 質問スレ Part61
■ このスレッドは過去ログ倉庫に格納されています
!extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part60 https://mevius.5ch.net/test/read.cgi/tech/1552736349/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured >>489 今月にこだわっててもおかしくないし 一連の流れをマクロにしてその一部の質問してるわけでしょ だから>>468 も>>472 も的外れって話 訂正するわけでもないのに再アンカをしかも連投するってせっかちすぎない? >>490 今月とかどうでもいいんだよ 単に参照すればいいだけ、それで質問者の意図に対応できないか? 自分の主張じゃなく、何が正しいかで提案するんだよ VBAで作れば何でもできるさ、でも単に絶対参照でいいものをこねくり回すなよ >>491 次は話ループさせんの? 「毎月自動、VBA」という質問の前提をこねくり回してるのはそっちでは? 何だろうな、普通に絶対参照すればいいものをVBA・VBAって叫ぶの 怖いは >>494 >>459 >>462でマクロでやりたいと言ってるし、 マクロ以外の回答に対してノーリアクション 数式での回答を求めてないのだろう。結果を求めるだけじゃなく、マクロ自体を書きたいという質問者もいるわけだしな あまり押し付けるのもどうかと思う もちろん一般的な場合は君のやり方が正しいのは明らか さすがにそれが分かってない人はいないだろう >>462 削除等はマクロで、他シート参照は数式でいいんでないの 元の前提無視して絶対参照・絶対参照って叫ぶの 怖いは って言えばいいのかな >>496 削除が必要って単なる思い込みではないのかな Excelの使い方もわからないのってVBAって魔法の玉手箱じゃないの でなければ、質問者に対する最適の解をさっさとVBAで示せばいいんだよ 元々の質問を見る限り、詳細が無いのでVBAで解決すべきか数式で解決すべきか判断できん。 逆に言えばこれだけの情報でVBAを必要無いとか言ってしまえる人って初心者とまでは言わないけど大したスキルは無いんだろうなと思ってしまう。 >>500 初心者は自分の状況を上手く説明出来ないし、それはしようが無い。 一方回答する方も、初心者は自分の狭い土俵で回答しようとするんだよね。 >>502 俺はこんな質問に回答しないよ。 何処の掲示板でもそうだけと面白いテーマじゃなきゃ回答しない。 俺が回答する必要も無いだろう。 >>460 とかを見てどうにか頑張れば良いんじゃね?と思ってる。 技術レベルは大したことない問題だけど最近回答したのは>>284 だな。 テーマとしては面白いから。 >>498 むしろ思い込み(というか自分の都合のいいように解釈)してるのはそっちなんだよなぁ >>503 君に、回答を求めてないよ 俺も、VBA の回答は基本的に出さない まあヒントだけだな いや〜これのマクロを作る奴見てみたい(笑) というか>>499 に書いた通り、状況を判断する材料が少ない。 例えば月のシートが沢山あって、それぞれのシートの集計結果を集計シートで閲覧したいという状況なら数式の方が良さそうだ。(それでも情報が足りないから「良さそう」としか言えん。) >>507 じゃあ、俺に>>502 のレスするんじゃね―よw >>499 ほんそれ ど真っ赤で力説してるのが滑稽やなw VBAでやるか数式でやるかの判断はこのスレでやる話じゃないだろ ここはVBAのスレだぜ >>511 ??? ">>501 "を付けるなと言ってる。 >>481 dim ws as worksheet for each ws as thisworkbook.worksheets ws.printout 〜 next >>514 大荒れの中レスありがとう 来週試してみます >>515 ごめん for each ws in の書き間違い >>513 ふん、おれ500 お前が笑えるレスつけただけだろ >>517 もちろん全シート一括で印刷かけてるんですけど、スプール設定?の関係で重いシートの印刷が後回しになるので10ページ1ページ2ページの3シートのファイル印刷すると10ページのシートが一番最後に印刷されちゃって不便なんです ListBox使ってるんですけど、たまに表示がバグります 薄い横線がListBox内の全ての行間に表示されちゃうんです 行のフォーカスを動かすと、動かした範囲ではこの変な横線は一旦消えるんだけど、 何かをするとまた横線があらわれる こういうのって何が原因かわかりますか? 再現性がそう高くないので、対策しづらいです 表示がおかしいだけでプログラム自体は問題なく動きます >>520 ですけどもしかしたら直ったかもしれないです multiSelectをfmMultiSelectExtendedに設定してるんですけど、 UserForm Initialize内で設定するのではなく プロパティウィンドウで選択して設定するようにしたら今の所出ないです 再現性があれなんで確実とは言えないんですけど >>520 ListBoxに限らず、Excelのオブジェクトは変だよ。 そんなもんだと思う。 俺もこんな現象に遭遇した。 ・印刷プレビュー直後に、リストボックスを操作できなくなる。(シートを切り替えると直る。) ・MSクエリやADOを使うと、ボタンやテキストボックスの位置が、見た目と合わなくなる。 [コマンドボタン] 何もない部分 ↑ ↑ ここにボタンがあるのに ここを押さないと反応しない あと、なんじゃそりゃ!???? と思ったのが、 [コマンドボタン] ↑ 押すと・・ →→→ [コマンドボタン] ↑ ボタンが逃げる 多分、押す前のボタン画像が左にあって、 押した後の(凹んだ状態の)画像が右にあるんだと思う。 >>523 論理的に解決できる方法がないから山勘に頼っていじってみて 運良く解決できたらもうけもんってことですかね 表示がぶれると、使ってる人が、このプログラム大丈夫かと心配し始めちゃうんで できるだけ避けたいところです >>518 ??? バカなの? お前が500なのもお前に俺がレスしたのも誰でも分かるわ。 >>502 のレスにおいて">>501 "を付けるから俺に回答を求めてると判断されても仕方ないだろが。 >>525 笑えるな、答えられないやつに答えを求めないって(笑) まあ、プロさんのようだから答えられないの恥ずかしいのか(笑) あげとくは >>527 煽ってもお前のレベルが低いのは変わらんぞw 相手のレベルを推しはかれないのは相手よりスキルがかなり低いからなんだが。 まだやってんの 最近多い無関係の人が巻き込まれるような事件起こしそう >>528 あら、単に引きこもりのカスでろくなの作れんて思ってるよ(笑) >>530 そりゃスキルの無い奴は人を評価出来ないからなw データベースでエクセルのフィールド(3)を下に読み取っていって、入ってる型が文字列以外の物が入っているかチェックしたいんですけど何かないですか? >>532 vartypeがvbStringかどうか typenameが"String"かどうか など >>532 わざとやってみてどうなるか確認してみよう 先頭何レコードで判断するんだっけ? >>532 早速やってみたけど、逆のパターンである 「先頭に数値が入っていて途中から文字列に変化した」場合は判定できた。 具体的には数値部分だけ読み込んで文字列の部分はNULLになった。 「先頭に文字列が入っていて途中から数値に変化した」場合は全部文字列扱いになったので厳密には判定不能。 初心者なので意味がわかりづらかったらすみません まず、やりたいことは 1.ユーザーにB2〜E2あたりに文字を入力してもらう 2.それを5行前後繰り返す 3.この後にボタンを押してもらう (以降マクロ処理) 4.入力して貰った行の各左セル(A列)に営業日(月初)を入力する 入力内容を下の行にコピペして、A列日付だけ翌営業日にする それを月末日まで繰り返す これを実現したい場合、営業日付をどう表示し、どう繰り返せばよいか検討がつきません アドバイス頂けませんでしょうか 日付に関してyyyymmのみユーザーに手入力して貰う予定で、それを利用できるかなと思っています >>536 Sub foo() コピー元_行数 = Cells(Rows.Count, 2).End(xlUp).Row - 1 Range(Cells(2, 2), Cells(コピー元_行数 + 1, 5)).Copy 処理年 = InputBox("処理する年を四桁で入力してください", "", Format(Date, "yyyy")) 処理月 = InputBox("処理する月を1桁で入力してください", "", Format(Date, "m")) 'ここに上記が数値以外なら終了させる分岐をかます。めんどいのでしてない For i = 1 To Day(DateSerial(処理年, 処理月 + 1, 0)) Cells(コピー元_行数 * (i - 1) + 2, 2).PasteSpecial Range(Cells(コピー元_行数 * (i - 1) + 2, 1), Cells(コピー元_行数 * i + 1, 1)).Value = _ DateSerial(処理年, 処理月, i) Next End Sub >>535 上にあるようにvartypeだとだめかね? 教えてください。 ActiveCell.EntireRow.Copy Destination これで「任意のセル選択中で1行コピー」になりますが、 改造して「任意の複数セル選択中の複数行をコピー」に変えたいんですがわかりますか? 仮面ライダー本郷猛は改造人間である。彼を改造したショッカーは世界制覇を企む悪の秘密結社である。仮面ライダーは人間の自由のためにショッカーと戦うのだ! >>539 Selection で自己解決したんですが、 ThisWorkbook.Worksheets("sheetA").Activate Selection.EntireRow.Copy Destination:=ThisWorkbook.Worksheets("SheetB").Range("A57:A62") ThisWorkbook.Worksheets("SheetB").Activate Range("A3:I4").Select End Sub で所定の6行のスペースにペーストするんですが、選択セルが5以下だと重複して貼り付けられます。 重複しない方法を教えてください。 コピー先のセルのアドレスをシンプルに"A57"に変えるだけでいいと思う >>538 それだと対象のブックを開かなきゃダメじゃん 【速報】金券五百円分とすかいらーく優侍券をすぐもらえる https://pbs.twimg.com/media/D8I_sqPU0AEizjq.jpg @ スマホでたいむばんくを入手 A 会員登録を済ませる B マイページへ移動する C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き) 今なら更に4日18時までの登録で2倍の600円の紹介金を入手 クオカードとすかいらーく優待券を両方ゲットできます。 数分の作業でできますのでご利用下さい。 直前に開いたファイルのキャッシュ的なものを参照して情報を取得することってできますか? 例えば直前に開いて印刷して閉じて消去したファイルのA1セルに記載の値を別ファイルのB1セルに転記する、みたいな >>548 必ずバックアップしてから開くようにバッチファイル作ればいいだけじゃね >>549 知らないならわざわざ書き込まなくていいよw 印刷時には転記先のファイルが必ず開いてる状態なの? それならWorkbook_BeforeCloseで閉じる直前に転記は? これはそんなの知るかという気持ちもよく分かる。 工夫次第でどうとでもなるけど、そういう問題かどうかをはっきりさせるべき。 そういう仕組みを作ることなくできるかと言われれば、できないと答えるだろう。 工夫でそういう仕組みを作りたいというなら、それについて自分の考えを述べるべきだ。 VBAの問題じゃなくて考え方を考える問題なんだから単純なスキルの問題ではない。 事前に、ファイルを閉じる前や消す前に準備しておけばどうともできる 他人が使ったパソコンをこっそりのぞき見したいなら、それはかなり難しい 不可能じゃないけど、現時点では動機が不明で教えるべきじゃないと思われるので書かない >>556 > 消去したファイルのA1セルに記載の値 なので履歴じゃダメだろうな マジでなんのためにそんなことをしたいのがさっぱりわからん… >>537 遅くなりましたがありがとうございました!とても参考になりました おかげさまでメイン処理はひとまず形になりました ツール完成させられるよう頑張ります >>558 こんなこともわからんような馬鹿が作ったものを使わされるとか >>559 人間性に問題のある君と同じ職場よりは大分マシだろう いやいや ここは御大層に「ツール」とか書かれて吹き出す場面だろ ここは、あれだ。プークスクス、マジ受けるんですけど!というやつだ。 Use after free攻撃のやり方を聞かれてるのと一緒だよなこれ まあな、Excelの標準機能で出来ることも知らん奴が、作りたいものを考えて質問するんだよな だけど、ちょっと知ったかぶってどんなプログラムを作りたいとか書くけど 普通にExcelの機能で出来ることも、質問してるんだよな 動作仕様をかける奴は普通VBAのマクロも作れる 作れないやつの動作仕様ってごみなんだよな、何がしたいかだけ書けよと思う 標準機能が嫌いなんだろう。 あとは、VLOOKUPでも出来るけど、 遅いし面倒くさいからADO+SQLでやるとかさ。 ファイルの保存先の権限がなくて、別のユーザーのアカウントとパスワードで保存できる?? どうやるんだそれ・・。 OS上でOSでも動かすのか? そういや、Windows 3.1はMS-DOSの上で動いていたっけ… >>570 それってネットワーク先の話? 共有フォルダでの読み書きとか? 結構難しい。 excelのセルに記載された文字を、 PDFに位置指定して、テキスト挿入できますか? >>581 できるかどうかを聞いているのではない。 やり方を聞いておるのだ。 >>581 a=cells(1,1).value b=cells(2,1).value @abc.pdfをオープン A3p目の左上を起点に左から100、上から50の位置に、8ptで幅20の黒色で、aの内容のテキスト挿入 if b=1 then B3p目の左上起点の左から200上から300の位置に、黒色の縦10幅10の円を挿入 else if b=2 then C上記Bの位置違いパターン endif この@ABを教えていただきたいです。 PDF直接作るの超めんどいぞ Excelで位置確認ずらしていきながら合わせるって方法取ったほうが良い >>585 マジかぁ pdfは書式が既にあって、それをまずエクセル化するところからしなくてはならない excelのセルから抽出し、wordに入力するのも大変? >>586 Excel VBAでワードを開く方法がある https://tonari-it.com/excel-vba-word-application/ wordの細かい所をどこまで触るかによると思う 単純作業なら全然難しくないよ >>587 ありがとう、ちょっと読み込んでみる やりたいことは要は、エクセルにずらーっとリストがあって、その内容を、 雇用契約書の穴埋め書式みたいな他のファイル(エクセル、ワード、pdfあり)に展開したい 展開内容はセル内容の挿入と、履歴書の男・女みたいに、○を挿入する形がある ○で囲むのは止めたほうが良い。ずれる 以下のような形に変えれるなら買えたほうが良い。 □男 ?女 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる