23/05/13 00:26:35.42 XDOekk9R.net
シート1をシート2に転記
シート2にはシート1との比較の関数を仕込む
シート2を末尾にコピー
最終的にこうしました
753:デフォルトの名無しさん
23/05/13 08:56:53.55 IDKvuPgu.net
たまにしか使わないマクロを
「開発」 → 「マクロ」をクリックした画面から非表示にする方法はありますか
たくさんプロシージャがあって探すのがわかりづらいので。
754:デフォルトの名無しさん
23/05/13 10:14:45.62 qLGZy+iI.net
たまにしか使わないのとよく使うマクロを区別する方法がない
755:デフォルトの名無しさん
23/05/13 11:55:35.18 /fPWBZJh.net
PERSONAL.XLSB内の個人マクロかなんかのこと?
使わないのはprivateにでもしたらいい
756:デフォルトの名無しさん
23/05/13 14:12:54.71 GFR2hXVT.net
てすと
757:デフォルトの名無しさん
23/05/13 17:08:43.77 V8yG/UHy.net
>>744
モードレスのユーザーフォームにボタン並べてショートカットツールボックスでも作れば。。。
758:デフォルトの名無しさん
23/05/13 23:12:26.90 25Zi9cll.net
UserFormにボタンを追加した後、ボタンをダブルクリックすると、
コード内にボタン_Click()が挿入されるけど、
そのボタン_Click()の挿入位置はランダムですか?
759:デフォルトの名無しさん
23/05/13 23:22:19.81 HLBQiI9F.net
一番上固定かな?
760:デフォルトの名無しさん
23/05/14 00:50:10.90 T/aUw/Co.net
一番上とか一番下なら分かりやすいんですが、そうならないんですよね。
追加した順でも、VBE上の直前のカーソル位置でもなく。
761:デフォルトの名無しさん
23/05/14 08:49:07.12 NGLUYN6O.net
With
Worksheets(1)
Debug.Print .Name
Worksheets.Add Before:=Worksheets(1)
Debug.Print .Name
End With
と入力している場合、当然ワークシート(1)に対してしかwithで省略して記述することはできませんよね?
762:デフォルトの名無しさん
23/05/14 09:12:17.84 l3SxB+lY.net
それ以外にも記述できたらどれに記述してるかわからなくなりますやん
763:デフォルトの名無しさん
23/05/14 11:24:04.23 RX81XCn0.net
IF分の中に何個もIFをつけると嫌がられますが上級者の方達は条件分岐どのように処理をさせていますか?
綺麗なコードの書き方のアドバイスお願いしたいです
764:デフォルトの名無しさん
23/05/14 11:56:15.05 /qnsVbR/.net
>>754
長くなる数式や複雑な条件判定は別の関数を作ってその中にまとめる
765:デフォルトの名無しさん
23/05/14 14:28:00.07 NGLUYN6O.net
オートフィルターを設定
セルの値でフィルター
別シートにコピー
.copy(名前をつけて保存)
までVBAで組めました
セルの値を別シートが別の列に用意したリストで繰り返しをして名前をつけて保存を繰り返すVBAが組みたいのですがどうすればいいでしょうか?
ちなみにオートフィルターを設定して、セルの値でフィルターをかけるコードを書かなくても
オートフィルターをかけた表で作成して
手動でフィルターをかけた結果
に対してコピーと名前をつけて保存を行うコードを作ればよかったと思いました
766:デフォルトの名無しさん
23/05/14 17:40:28.14 RbSCBcNR.net
VBScriptの公式ドキュメントどこに行ったんですか!?!?
767:デフォルトの名無しさん
23/05/14 23:25:20.98 ugePsCnu.net
>>757
それがこのスレと何か関係あるのか?
768:デフォルトの名無しさん
23/05/15 01:52:14.73 qI8Xfg30.net
うるせえ!
769:デフォルトの名無しさん
23/05/15 20:37:17.97 XzAuzUrA.net
sheet(2),range.value = sheet(1),range,value
と書いてあって、ちゃんと1と2のsheetがあるのに
インデックスの範囲外
のエラーが出る事はありますか?
770:デフォルトの名無しさん
23/05/15 21:25:34.18 uCrsxXET.net
エクスプローラ上で画像選んで
右に回転、左に回転
てありますけど
あれをvba上でファイルパス渡して出来ないですかね?
ググってみたら以外と出てこなくて…
771:デフォルトの名無しさん
23/05/15 22:52:46.17 +mRHKUjh.net
URLリンク(excel-ubara.com)
ここ辺りを参考に、画像の選択までできるなら [Shift]+[F10] でオプション出して [T] か [L] 送れば何とかならん?
772:デフォルトの名無しさん
23/05/16 13:06:53.10 P46L4qJ3.net
>>739
ありがとうございます
773:デフォルトの名無しさん
23/05/16 13:52:02.22 pE03OLEM.net
>>762
やはりこういうアプローチになりますか…
OS標準で簡単にできることが
VBAから出来ないんですよねぇ
かと言って、これだけのためにライブラリ追加したりってのも…
WindowsAPI経由ならいいかなと思ったけど
そういうのもドンピシャなのは見つからなくて…
.netのSystem.Drawing.Bitmapもvbaからは使えないようですし
774:デフォルトの名無しさん
23/05/16 14:01:09.62 HY4KEFhG.net
vbcコンパイラ入ってるからexe作っちまえよ
775:デフォルトの名無しさん
23/05/16 14:58:33.26 xHVT0jsn.net
ファイルの中身をいじくって保存するアプローチならgdi+でいいですよ
vbaからgdi+はネット上にかなりの資料があります
776:デフォルトの名無しさん
23/05/16 15:38:41.06 KioSfVLt.net
>>764
エクスプローラの機能がOS標準機能だったことなんて一度でもあったっけ
777:デフォルトの名無しさん
23/05/16 17:26:18.33 LV7QjD3v.net
Worksheets(~).Copy
ActiveWorkbook.SaveAs fileName:= ~ =xlOpenXMLWorkbook
ActiveWorkbook.Close
でワークシートをコピー→名前をつけて保存→保存して作成したブックを閉じる
がしたいです
しかし、active work sheet.saveasでコピーしているワークシート(book1)とかそういう仮称が選択できません
なぜでしょうか?
778:デフォルトの名無しさん
23/05/16 20:44:51.09 AsBF0aZH.net
シート(A)に記入します
シート(A)を複製するコードを実行して
シート(A)2を作成します
シート(A)2に記入します
シート(A)とシート(A)2の値が違うところ(差分)をわかりやすく表示する仕組み(条件付き書式)をコードするにはどうしたらいいでしょうか?
779:デフォルトの名無しさん
23/05/17 11:46:37.22 RlbRWgaL.net
ど初心者で申し訳ない
ユーザーフォームを移動というより
スラーっと画面左から右へスライドさせる事なんてプロシージャで出来る?
780:デフォルトの名無しさん
23/05/17 13:37:03.45 CM8OYJGJ.net
なぜその程度の事を試さないでいるのかわからん
781:デフォルトの名無しさん
23/05/17 20:26:57.88 Y2fbuf/F.net
>>770
ユーザーフォームの表示位置は設定できるんだから
後はAPIでもなんでもいいから一定時間で起動するイベントで
位置をずらして行けばいいだけじゃないの?
そういう意味じゃなくて?
782:デフォルトの名無しさん
23/05/17 20:34:40.20 edeIW3zk.net
自分だけで利用するならいいけど、他人も利用するのをそんな仕様にしたら気味悪がられるぞ
最悪上司に「PCが乗っ取られました!」とか報告行っちゃうぞ 部署中てんやわんやに成るぞ
それとも相手の要件がそれなのか? マウスで好きな位置にドラッグしろと突っ撥ねろ
783:デフォルトの名無しさん
23/05/17 20:36:59.98 jhfa7U3i.net
懐かしのブラクラかよ
784:デフォルトの名無しさん
23/05/17 22:00:50.03 KPgK0GXZ.net
やっぱり二つのワークシートを比較するVBAはスルーされるくらいに複雑なんですね
素直にコピーをするときにシート名を指定して複製したシートの名前を固定します
そして複製したシートに固定の名前のシートを条件付き書式を設定します
785:デフォルトの名無しさん
23/05/17 22:19:01.82 B0NmirsY.net
なぜってvbaでベタに比較して色を着けるだけの処理なら条件付き書式は要らないからですよ
786:デフォルトの名無しさん
23/05/17 22:37:47.21 dtCX3F+n.net
>>770
なんでそんな事が必要って話。
マウスが無いなら別だけど。
787:デフォルトの名無しさん
23/05/17 23:14:20.94 CM8OYJGJ.net
>>775
2つのワークシートの比較が複雑か複雑でないかはシートの複雑さによる
セルの値を比較するだけなら単純にセルの前にシート名を書けばいい
788:デフォルトの名無しさん
23/05/18 00:00:54.09 wiHk9Ekj.net
>>778
どういう事でしょうか?
789:デフォルトの名無しさん
23/05/18 00:19:39.19 re225Wjq.net
>>779
シート1とシート2で左上(1,1)のセルが同じかどうかの比較
考え方のサンプルなので細かいとこは気にすんな
If Sheets(1).Cells(1, 1) = Sheets(2).Cells(1, 1) Then
MsgBox ("同じ")
Else
MsgBox ("違う")
End If
790:デフォルトの名無しさん
23/05/18 00:39:29.96 ejLN3NBy.net
あっけなく終了
791:デフォルトの名無しさん
23/05/18 06:34:53.48 wiHk9Ekj.net
>>780
どうやってElseのセルの塗り潰しをしますか?
792:デフォルトの名無しさん
23/05/18 07:03:21.02 qSj77xHN.net
interiorcolor
793:デフォルトの名無しさん
23/05/18 13:22:02.41 re225Wjq.net
>>782
もし自力で調べたのにわからないで質問しているならこういうの向いてないと思う
Sheets(1).Cells(1, 1).Interior.Color = vbRed
794:デフォルトの名無しさん
23/05/18 17:13:43.92 NCEYaWdi.net
Private Sub FillDiff( _
ByVal DstSheet As Worksheet, _
ByVal SrcSheet As Worksheet, _
ByVal cy As Long, _
ByVal cx As Long, _
ByVal f As Long)
Dim d() As Variant
Dim s() As Variant
Dim row As Long
Dim col As Long
With SrcSheet.Cells(1, 1).Resize(cy, cx)
s = .Value
End With
With DstSheet.Cells(1, 1).Resize(cy, cx)
d = .Value
.Interior.ColorIndex = xlNone
End With
For row = 1 To cy
For col = 1 To cx
If Not (d(row, col) = s(row, col)) Then
With DstSheet.Cells(row, col)
.Interior.Color = f
End With
End If
Next
Next
End Sub
795:デフォルトの名無しさん
23/05/19 11:26:43.98 36zUuL+C.net
>>785
VBAでセルの色も塗れないようなレベルじゃ
このサブルーチンを使うための引数さえ入れることができないと思われる
796:デフォルトの名無しさん
23/05/19 11:51:40.30 UVQ9qsjN.net
変数名に違和感しかない
俺ならDst,SrcじゃなくてSrc,Dstの順番にする
座標にはx,yじゃなくてr,cを使うし、範囲(大きさ)ならw,h(width,height)にする
あと、変数名にrowを使うのは悪手
797:デフォルトの名無しさん
23/05/19 12:35:54.69 Djo90icR.net
座標にx、yを使う気持ちはわかる
CADソフトや三次元測定機を使用するととにかくxyz方向で指示したくなる
798:デフォルトの名無しさん
23/05/19 12:52:50.03 SzaRWxxH.net
他人が定義した変数名なんて本人以外には暗号みたいなもんよね。とくに省略3文字とか。
本人でさえも1ヶ月後には解読に時間がかかる。
799:デフォルトの名無しさん
23/05/19 14:32:46.40 YHChQzBZ.net
俺はタイピングが面倒て理由から変数名は1文字2文字を多用するけど、宣言にコメントは必ず書く方針
Dim sr() ' Source Range
みたいな感じ
800:デフォルトの名無しさん
23/05/19 16:03:10.43 KvfJxEtf.net
VBAなんてグループで開発することなんてほぼ無いし
コーディングルールなんかあってないようなもんだな
801:デフォルトの名無しさん
23/05/19 16:13:15.68 4eBJWkt8.net
グループでなくとも別の人とか辞めた後にとかあるのに
802:デフォルトの名無しさん
23/05/19 16:30:13.95 c4GhPl6O.net
自分の書いたコードが解読できなくなるのは言語を問わず昔からプログラマーあるあるだぞ
803:デフォルトの名無しさん
23/05/19 17:26:41.01 WMf1UBB/.net
出先で打ち合わせ中にノートに速記した自分が書いた字が、帰社してみるとぜんぜん読めねえ
史上最強の暗号に成り果てる どこかにうっかり置き忘れても心配無用
だけど、チームの女の子の内ひとりだけが解読できる 彼女は優秀なデクリプター 粗末には扱えない
(因みに彼女は打ち合わせに同席していない) 罵倒されながら清書している時間は至福のひととき
804:デフォルトの名無しさん
23/05/19 17:51:29.85 /14cz11e.net
はいはい
そうですか
805:デフォルトの名無しさん
23/05/19 18:06:46.91 PQ/SGKnq.net
>>792
それよくいうけど、
知ったこっちゃないしそんなことまで面倒みれないなってのが正直なところだよ
806:デフォルトの名無しさん
23/05/19 18:09:20.34 NNcalgSE.net
とうとう当スレに
散文詩を記す御仁が出現・・・
807:デフォルトの名無しさん
23/05/19 18:33:52.51 /14cz11e.net
>794
こんな無能の塊と一緒に仕事する人は可哀そうだな
808:デフォルトの名無しさん
23/05/19 20:20:11.33 WP5xx6oL.net
>>790
ふーん
俺とは逆だね
変数名は見てどういう用途で使っているか
解るようにして、逆にコメントは
その処理を何のために行なっているかとか
どういう経緯で作成されたか後で分からなく
なるのを防ぐために付けるくらい。
後はモジュールや関数のヘッダに
その関数の役割とシグネチャの説明をふるくらいかな
関数もひとつにひとつの役割しか持たせないようにして
なるたく短く作ってしの関数を組み立てて
更にひとつ上の役割の関数を作るようにしてる。
809:デフォルトの名無しさん
23/05/19 20:30:07.26 xLo0lAaU.net
エクセルを月曜~金曜の決まった時間に実行する場合は
イベントプロシージャを使うのが一番いいですか?
ググったらスクリプトを作るという方法もあるようです。
長所・短所がわからないので教えてください
810:デフォルトの名無しさん
23/05/19 20:41:37.93 WP5xx6oL.net
>>800
いやいや、ずーっとEXCEL立ち上げっぱ、
VBA動かしっぱにして時間を迎えたイベントを使うってこと?
タスクスケジューラーに
対象のブック開くように設定しといて
オープン時にマクロが走行するようにしとくんじゃダメなの?
811:デフォルトの名無しさん
23/05/19 20:43:39.44 BcAhLJQp.net
>>800
エクセルを実行するのだからタスクスケジューラだろ
馬鹿ですか?
812:デフォルトの名無しさん
23/05/19 21:00:02.29 xLo0lAaU.net
>>801
盛大に勘違いしてました。
タスクスケジューラーで問題ないですね。
ありがとうございます。
813:デフォルトの名無しさん
23/05/19 21:05:29.56 faLTwFuJ.net
>>787
cx cyは座標ではなく
count of x
count of y
MSがwin32APIのc/c++で使ってきた古い接頭語です
まだSIZE構造体に残っています
814:デフォルトの名無しさん
23/05/19 21:30:19.21 1xa+FLVk.net
変数の理解が怪しいのはその通りです
815:デフォルトの名無しさん
23/05/19 21:43:28.41 ROSMxwdg.net
はあ~またいつものマウント取りあい始まったよ
816:デフォルトの名無しさん
23/05/20 00:07:38.75 yUZCKNSa.net
ビーングは4.0って本当かよ
3.5の方が正しいコード書いてくれるんだが
817:デフォルトの名無しさん
23/05/20 18:29:05.09 MvHSHmnI.net
条件付き書式によって塗りつぶされた背景色をコピーして上書きでペーストしたいのですがどうすればよろしいでしょうか?
818:デフォルトの名無しさん
23/05/20 22:25:35.47 9t/DZW9a.net
背景色を変更する条件が付いているから 条件付き書式 と呼ぶ
条件付きでなら普通にコピペできるが条件を無視した背景色だけのコピペはできない
819:デフォルトの名無しさん
23/05/20 22:28:37.71 9t/DZW9a.net
とおもう
820:デフォルトの名無しさん
23/05/20 22:48:50.21 MvHSHmnI.net
条件付き書式の色だけをコピーするためには
クリップボートのコピーと貼り付けを行えばいいところまではわかりました
そしてそれを行うためにはSelection.Copyを行えばいいという所まで突き止めました
しかしActiveSheet.Pasteで貼り付ける事ができないです
どうすればクリップボートのコピーをそのまま貼り付けられるでしょうか?
821:デフォルトの名無しさん
23/05/20 23:06:35.71 Is+IXHBJ.net
同じとこにそのままペーストしてるからじゃね
822:デフォルトの名無しさん
23/05/20 23:18:24.07 MvHSHmnI.net
>>812
ところにそのままペーストすることは無理なのですか?
ではこの様に
Sub Sample1()
Worksheets("Sheet1").Select
Range("A1").Select
Selection.Copy
Worksheets("Sheet2").Select
Range("C2").Select
ActiveSheet.Paste
End Sub
とするのであれば問題ないのでしょうか?
823:デフォルトの名無しさん
23/05/20 23:41:42.54 MvHSHmnI.net
やりたい事は
今選択しているシートをコピーして末尾に送る
コピー元のシートの条件付き書式のセルの色をコピーペーストで同じシートにペーストする、色を残す
という事がしたいです
なのでコピーしたコピー元シートをセレクトして範囲を選んでアクティブシートペーストならできますか?
824:デフォルトの名無しさん
23/05/21 00:16:44.41 aFtCgtc/.net
やってみて理想通りの動作だったら問題ないんじゃね
825:デフォルトの名無しさん
23/05/21 01:12:12.18 wgbwVMTA.net
頭が悪いからPASTEに拘るのね
826:デフォルトの名無しさん
23/05/21 02:07:29.20 T6kvmVJR.net
いったい何のために
827:デフォルトの名無しさん
23/05/21 02:24:13.63 Pd8Z4Ia6.net
VBAが使えないのにワープロが使えたことを自慢していた爺かな
828:デフォルトの名無しさん
23/05/21 06:58:31.07 sFREmMbU.net
>>816
ペースト以外にクリップボートを貼り付ける方法はありますでしょうか?
829:デフォルトの名無しさん
23/05/21 07:13:41.86 B1R6uG7N.net
条件付き書式から条件を消して結果の色だけ残したいんやろ
それは単純なコピペじゃ無理
DisplayFormatでセルの色を調べて自力で再設定するしかない
830:デフォルトの名無しさん
23/05/21 07:35:11.64 sFREmMbU.net
>>820
URLリンク(tokusengai.com)
URLリンク(dekiru.net)
クリップボートにコピーをして貼り付けを実行すれば塗り潰しの色のみ残ることは判明しました
そしてクリップボートのコピーはselection.copyだという事も判明しました
なので後は貼り付けのみ実行したいのですが
ペーストもスペシャルペーストもエンターキー送信も
全て貼り付けられませんでした
831:デフォルトの名無しさん
23/05/21 07:58:40.07 sFREmMbU.net
ちなみにThis workbookにコードを書いているからアクティブシート、ペーストができないという事はないですよね?
832:デフォルトの名無しさん
23/05/21 10:39:24.18 E0jRkIIp.net
初心者によくある思い込みと表現が稚拙すぎてかみ合わない
833:デフォルトの名無しさん
23/05/21 11:17:23.92 sFREmMbU.net
もしかして
VBAで条件付き書式のある範囲をコピーをコピーしたときは
必ず色のコピペではなく、条件付き書式のコピペになってしまう
という事でしょうか?
なのでVBAで条件付き書式でつけられた色を塗りたいときは
必ず
Range("A1").Interior.ColorIndex = Range("A1").DisplayFormat.Interior.ColorIndex
を使用しなければならないという事でしょうか?
しかも範囲選択も使えないと
834:デフォルトの名無しさん
23/05/21 12:35:30.87 sFREmMbU.net
URLリンク(okwave.jp)
最終的にこれでやりました
もっと短いコードで行う方法はないでしょうか?
835:デフォルトの名無しさん
23/05/21 12:49:41.48 sFREmMbU.net
別シート(コピー先シート)の範囲に.DisplayFormat.Interior.ColorIndexの値をコピーさせることはできないので
別シート(コピー先のシート)にコピー元のアドレスを参照させるという形なのでしょうか?
836:デフォルトの名無しさん
23/05/21 13:31:14.96 WfmE7WFK.net
馬鹿は馬鹿だから自分の考えた方法が間違えていると指摘されても馬鹿な考えに拘り続ける法則
その実例
837:デフォルトの名無しさん
23/05/21 13:35:13.93 swYKjccv.net
そういうの一言でなんて言うか知らない?
838:デフォルトの名無しさん
23/05/21 13:36:12.22 z6jOsvMa.net
馬鹿は死ね
839:デフォルトの名無しさん
23/05/21 14:39:46.36 sFREmMbU.net
>>827
すみません
今回は条件付き書式で塗られている色を値が変わっても残る様にしてほしい
という注文があったので条件付き書式の色を残すという事を考えていました
私は簡単な事だと考えていましたが、「条件付き書式の色をコピーするという事」が想像以上に難しかったです
今回エクセルの古い機能は問題があるかもしれないと学びました
840:デフォルトの名無しさん
23/05/21 14:58:07.98 sqwcjnc8.net
Excelのせいかよw 古かろうが新しかろうが、使用してる環境で張り切るっきゃ無いだろ
それが注文を請けた側の望まれる姿勢 無理なら「できません」ってアタマ下げる
アタシは悪くない、ぜんぶExcelの古い機能のせい ハイハイ、注文した方にそう言い訳しときな
つか、最終形に到達したんだろ? それをもっと短いコードに出来ないってだけだろ?
自分はできないけど誰かやって、かよ それをじぶんの手柄か? おめでてえな
841:デフォルトの名無しさん
23/05/21 15:21:34.77 sFREmMbU.net
>>831
つまり今回の例で言うとExcelの仕様的に出来ないと断るのは望まれる姿勢なので良くて
出来そうだから引き受けたが、かなり難しいのは望まれる姿勢ではないのでダメという事でしょうか?
では例えば知らないので出来ません(無知の知)というのは望まれる姿勢なのでしょうか?
842:デフォルトの名無しさん
23/05/21 15:52:29.72 JkAFBIVP.net
馬鹿って自分ができないことは製品のせいにするんだな
843:デフォルトの名無しさん
23/05/21 15:56:24.43 UPj07kqo.net
注文って言ってるぐらいだから金が発生してる仕事なのかしらんけど
こんな奴に作らせていいものかと思わなくもない
書き込み数から見て必死さはうかがえるが
844:デフォルトの名無しさん
23/05/21 16:02:51.00 sFREmMbU.net
すみません
私は世の中の事や仕事という事を全く分かっていなかったです。
久しぶりの感覚を味わいました。
こらからは出来ない事は出来ないとしっかりいう様にし、自分に確実にできる事をいう様にします。
845:デフォルトの名無しさん
23/05/21 16:05:39.40 sqwcjnc8.net
それはそうだろw 出来もしない奴が「できらあ!」で勝手にいぢくりまわしたら周りが迷惑
どういう立場(内製・外注)か分らんが、出来ないものは「出来ません」とキチンと伝えられた方が
頼む方も判断の材料に成る 「じゃあ他の奴に」と方針決定も早くできる
請けたままグダグダいつまでも結果出さないでいる連中が多過ぎるのは企業(組織)の損失
846:デフォルトの名無しさん
23/05/21 16:58:16.81 Q4lfSNZO.net
なぜ「エクセルの古い機能」と決めつけて「問題」だとも決めつけているのか
こういう中途半端の知ったかのせいで風評被害が生まれる
847:デフォルトの名無しさん
23/05/21 17:08:55.76 z50pDIFk.net
vbaばっかり使ってて知識のアップデートも出来てないから関数を全く使えてない
xlookup?xmatch??unique???indirect????おっさんには無理
848:デフォルトの名無しさん
23/05/21 17:15:28.73 UPj07kqo.net
浅い知識でなんとかなると思って痛い目みてると自覚してるならもっと勉強しような
849:デフォルトの名無しさん
23/05/21 17:25:06.42 JkAFBIVP.net
>>838
負け惜しみ乙
850:デフォルトの名無しさん
23/05/21 17:29:48.85 z50pDIFk.net
何でそんなに無差別に煽ってるのか
余裕ないな…年収低いのかな…
851:デフォルトの名無しさん
23/05/21 17:35:24.54 aFtCgtc/.net
高いのは血圧ぐらいです
852:デフォルトの名無しさん
23/05/21 20:44:03.59 E0jRkIIp.net
条件付き書式の「条件」を調べて
マクロ中で条件を判断してコピペ時に
自分で書式を設定するのがいいのではと提案する
853:デフォルトの名無しさん
23/05/21 20:47:46.54 E0jRkIIp.net
それでも条件付き書式の優先順位やペースト時は値だけにするとか色々あるけどな
854:デフォルトの名無しさん
23/05/21 20:55:57.95 36TdhBaA.net
先程の話を聞いた限りでは
もうひとつシート作っといて
対象シートと同じ値を設定しといて
値が違うなら着色するのを条件付き書式の
条件の中に混ぜてやれば出来ない
気がしないでもない。
その判断用シートを見せたくないなら
Very hiddenで隠しておけばいいし。
ま、方法は探せばまだなんかありそうな気もするね。
855:デフォルトの名無しさん
23/05/21 21:06:13.61 sFREmMbU.net
すみません
本当にその通りだと思います
情けないです
856:デフォルトの名無しさん
23/05/21 22:03:54.55 sFREmMbU.net
試しに最終的に使用したコードをbing AIくんに尋ねてみました
そうしたら解説をして頂けました
ありがとうございます
857:デフォルトの名無しさん
23/05/21 23:39:24.56 sFREmMbU.net
任された仕事、引き受けた仕事はミスなく完璧に仕上げないといけない
という話を聞いてそれではとても仕事を引き受けられないと思うのと、ネットで言われていた「私がやります」と仕事を引き受けたら責任の押し付けをされるから誰も引き受けようとしないという話がやっと理解できました
858:デフォルトの名無しさん
23/05/22 00:19:24.60 epRK61rP.net
転職するなら早い方がいい
859:デフォルトの名無しさん
23/05/22 01:39:29.37 nnY2CicD.net
こんなのが入社してくるのは勘弁してくれ
860:デフォルトの名無しさん
23/05/22 02:12:11.55 BEHGXC7t.net
馬鹿連発病気野郎はこのスレにもいるのか?
861:デフォルトの名無しさん
23/05/22 07:02:02.27 XzxYYIb6.net
責任の押し付け合い、押し付けになるのなら誰もやりたがらない
普通ですよね?
862:デフォルトの名無しさん
23/05/22 07:26:17.83 rjxFOQbK.net
ワッチョイないせいか完全に雑談みたいなスレになっちまってるな
863:デフォルトの名無しさん
2023/05
864:/22(月) 10:28:31.01 ID:AcQsf8Uu.net
865:デフォルトの名無しさん
23/05/22 12:34:00.56 JoSCbJ/9.net
会社のレベルが低いし勤務してる俺のレベルも当然低いんだが
DX化の推進、早くpython入れないと
と連呼してる人の内容を聞いたら
社内サーバの特定の場所にある1000以上あるpdfをExcelに名前を取得してリスト化したいと…
更にリンクで飛べるようにしたいと…
pythonいれずともマクロでやって神扱い
866:デフォルトの名無しさん
23/05/22 13:27:39.73 rjxFOQbK.net
はいはい
867:デフォルトの名無しさん
23/05/22 14:36:24.55 BEHGXC7t.net
自慢なのかただの事例報告なのか分からんが、凄いとは思う
868:デフォルトの名無しさん
23/05/22 15:33:00.76 1/Dfn2ke.net
とにかく書き込まれるレス全てに煽らないと気が済まない奴がいるよな。
>>856とかその常連だし。
869:デフォルトの名無しさん
23/05/22 16:07:41.58 y9n3XARC.net
PDFのファイル名だけならそこまででもないような?
まあ神扱いされて?ならそうじゃないんやろなあ
870:デフォルトの名無しさん
23/05/22 18:22:15.70 XzxYYIb6.net
>>854
わざわざすみません
セルの色 = ディスプレイに表示されているセルの色
に勝るシンプルなコードはありませんよね
情けないです
871:デフォルトの名無しさん
23/05/22 18:23:42.16 XzxYYIb6.net
>>855
全く悔しくないので申し訳ないですがパワークエリでも出来なくもない様な、、、
872:デフォルトの名無しさん
23/05/22 18:48:11.43 XzxYYIb6.net
For Each Range型変数 In 範囲
If Range型変数.Value <> Sheets("比較するシート").Range(Range型変数.Address).Value Then
やっぱり短いコードがあったのですね
本当に恥ずかしい
873:デフォルトの名無しさん
23/05/22 19:23:18.88 1/Dfn2ke.net
いや、いちいち何でマウント取ろうとするのか…年収低いのかな
874:デフォルトの名無しさん
23/05/22 19:56:20.06 AcQsf8Uu.net
Then の後に記述する量が余計でしょ? IF分岐させる意味無いでしょ?
ま、あれこれ試して失敗したり成功したりしながらウデを磨けばいいんだろうけど
875:デフォルトの名無しさん
23/05/22 20:00:51.23 XzxYYIb6.net
>>864
本当にありがとうございます
876:デフォルトの名無しさん
23/05/22 21:24:15.99 BEHGXC7t.net
すぐマウンティングする人って、年収低いからその他の要素で勝ち誇る傾向あるらしいね。
877:デフォルトの名無しさん
23/05/22 21:29:35.14 XzxYYIb6.net
>>864
bung ai君にも ifとthenが必要です
と怒られました
878:デフォルトの名無しさん
23/05/22 22:19:23.91 AcQsf8Uu.net
まああれだ 美容院へ行って、頼んだ(つもりの)髪型と、仕上げた(つもりの)髪型が、まるで別物みたいなもンだ
ちがうか 何がしたいんだかとっ散らかって来てる様子だな
>>825 のリンク先のコードで目的は果たしたんじゃ無いのか?それのシェイプアップに勤しんでるのか?
Cellの背景色を操作するには、Rangeオブジェクト配下のInteriorオブジェクトをいぢる必要があるのに、
CellのValueを持ち出して来てるのは bung ai (バング?)の指図か? bug ai に改名した方がいいな
広く世界に回答を求めると、ごまんと「もう食えねえ」ってぐらい返答があるかも知れないけど、そのうちで
どれが美味いものかは、本人しか決められねえ 近頃は bung ai のスレもあるだろうし、今後はソッチで堪能した方がいいような
879:デフォルトの名無しさん
23/05/22 23:44:38.04 XzxYYIb6.net
仕事は確実にできないといけない
できもしない仕事は引き受けてはいけない
という話はそっくりそのままAIにも当てはまるからAIは仕事ができない無能だと思うよ
880:デフォルトの名無しさん
23/05/23 01:19:58.26 RbKIxQ9F.net
AIの仕様は誰かが決めたのかね
確実な答えを責任持って返すとか、そんな仕様どこで決められたんやろ
881:デフォルトの名無しさん
23/05/23 01:24:30.48 9axP82/J.net
ChatGPTは本当なのか間違っているのか判断できない連中が無条件に信じてありがたがるツール
882:デフォルトの名無しさん
23/05/23 01:59:10.03 Mz8pt3CW.net
vbaでの処理のさせかた、ひらめきが大事なんよ
センスない奴はコードの書き方以前にその発想が弱い
要するに仕事が出来ない
短く書く、無駄なく書くことが目的になって年収が低い
883:デフォルトの名無しさん
23/05/23 02:10:53.64 r33tzfWd.net
どんなにいい道具でも使う人間がアホだと問題が起きる
884:デフォルトの名無しさん
23/05/23 02:33:58.28 gjFqswYh.net
Google検索もウィキペディアも本当なのか間違っているのか判断できない連中が無条件に信じてありがたがるツール
885:デフォルトの名無しさん
23/05/23 02:34:15.26 gjFqswYh.net
新聞もテレビも本当なのか間違っているのか判断できない連中が無条件に信じてありがたがるツール
886:デフォルトの名無しさん
23/05/23 07:03:01.44 /oIAnKQO.net
自分が一番信じられないし
887:デフォルトの名無しさん
23/05/23 08:27:02.94 gffLmLO8.net
任された仕事、受けた仕事ができないのは失格だー
というのならAIだって不正格なのだから失格ですね
888:デフォルトの名無しさん
23/05/23 08:39:19.88 iPJXRLkn.net
AIへの嫉妬が凄まじいなw
889:デフォルトの名無しさん
23/05/23 08:58:47.24 2rT2TxeB.net
>>877
仕事できなかったら給料もらえんだろ
890:デフォルトの名無しさん
23/05/23 08:58:47.58 sEILZwQ1.net
君は完璧で究極の人工知能
891:デフォルトの名無しさん
23/05/23 09:04:21.95 iPJXRLkn.net
結果から言うと、こんだけ話題になって活用されて金も集まってるんだろうからかなり有能だなw
892:デフォルトの名無しさん
23/05/23 10:54:52.74 m0qa5Enf.net
昨年はまではchatgptなんて話題無かったもんな。
893:デフォルトの名無しさん
23/05/23 12:37:59.39 ZGM1evgE.net
Excelって凄い有能だよね
894:デフォルトの名無しさん
23/05/23 16:07:55.58 m0qa5Enf.net
だから世界中で売れとる
895:デフォルトの名無しさん
23/05/23 16:13:25.70 QEfHRB4s.net
ツールはどちらも有用
896:デフォルトの名無しさん
23/05/23 18:19:29.54 gjFqswYh.net
道具なんて使う人次第
包丁だって人を殺せるし、Excelも使い方を間違えれば生産性を落として会社を殺す
897:デフォルトの名無しさん
23/05/23 20:00:04.71 m0qa5Enf.net
あまりExcelをヨイショすると、またGoogleスプレッドシート厨が暴れだすからうざったい。
898:デフォルトの名無しさん
23/05/23 21:12:44.25 S1i8GJCU.net
GSSは所詮真似ソフトだから比較にならん
899:デフォルトの名無しさん
23/05/23 22:14:41.12 3uLTyIP1.net
>>876
w 嫌いじゃ無いw
900:デフォルトの名無しさん
23/05/24 08:34:36.23 sVnHWppj.net
半年くらいだったら自分の書いたコードの意味が一発ではわからない。
チャット GPT にリファクタリングをたのめるのだろうか
901:デフォルトの名無しさん
23/05/24 09:44:03.20 TKPmz7Nx.net
書けるけど読めないは最悪で将来役立たず認定されるから早めに現状から抜け出す手はずを整えたほうがいい
902:デフォルトの名無しさん
23/05/24 10:33:00.51 sVnHWppj.net
>>891
おっしゃる通りなんだが、クセというのはなかなか治らないものだから 自分だけで見ていても問題点がわからない。それでチャット GPT に見せれば 厳しく指摘してくれるんじゃないかと。
もちろん全部 鵜呑みにするわけじゃなくて、言ってみれば アイディア出しのツール として使えないか っていうことなんだけど。
どうかな?
903:デフォルトの名無しさん
23/05/24 11:19:15.40 1HEEtapb.net
またへんなのでてきたw
904:デフォルトの名無しさん
23/05/24 11:25:33.56 TKPmz7Nx.net
>>892
その指摘を理解できるのって話じゃない?
このスレはChatGPTに話を振るやつ多いけどそもそも自分の書いたコードにしろ他人が書いたコードにしろ読めない奴が
リファクタリング以前に何をしたいコードかわからないならどんな指摘もらってもそれが正しいものかわからないだろ?
その時にはどうするのって話理解できてる?
905:デフォルトの名無しさん
23/05/24 11:51:37.14 sVnHWppj.net
>>894
半年経ったら一発で読めないだけで、何がやりたかったのか全体的なイメージは記憶に残っているし、時間をかければ各行の役割は理解できる。それを一発ですらすらわかるようなコードにリファクタリングできないかというだけの話
906:デフォルトの名無しさん
23/05/24 11:58:12.96 TLmwN/Fk.net
ChatGPTに聞きまくって作りまくってるしコメントも残してあるからメンテも超楽
もうvbaは十分だからpythonを学ぶべ
907:デフォルトの名無しさん
23/05/24 12:08:05.38 1HEEtapb.net
>>895
最初にそうやって書いておけばいいだけの話では
908:デフォルトの名無しさん
23/05/24 12:57:02.51 gQe9IGSI.net
性格わるいひとがおおいこと
909:デフォルトの名無しさん
23/05/24 13:02:25.38 TKPmz7Nx.net
>>895
コード1行1行がわからないとかおかしくないか?書いてあることそのままだろ?
ブロック単位のコードが読めないならコメントなりでやってることを自分が読める言葉で書いておけばよくね
910:デフォルトの名無しさん
23/05/24 14:25:50.78 lcK3sBWk.net
Excelに長けてるやつなんて大抵は性悪だろ。
911:デフォルトの名無しさん
23/05/24 17:46:17.42 TxgMbCbW.net
オリジナルな変数名や関数名使ってる人は
自分の書いたコード読めなくなってそうな気がする
912:デフォルトの名無しさん
23/05/24 19:17:06.63 1HEEtapb.net
他人が考えたコードをコピペするだけの奴の方が内容覚えてないだろう
913:デフォルトの名無しさん
23/05/24 20:06:55.55 MlnLG95A.net
任された仕事が出来なかったら怒られるんだったら仕事をどんどん引き受けようとは思わない、スキル開発なんて出来るはずがないですよ
914:デフォルトの名無しさん
23/05/24 20:10:33.59 kc6C7Km2.net
>>903
馬鹿には無理なだけ
915:デフォルトの名無しさん
23/05/24 20:23:24.53 l+gVJ33A.net
情けないw きんたま付いてンのか
ま、そういう連中が多ければ多いほど、それを乗り越えられる奴が人より伸びて出世して率いていける
それでも、昔と違って上役個人のその場その時の感情に任せた怒りは害悪だと広く知らしめられているご時世だから
怒られるってのは随分減ってる 注意されるのが嫌だと言うなら、それは自分でじぶんの成長を止めているという事
上司上長だって見込みの無い奴にいちいち注意とか指導とかしたくない したところで変わらないと承知してる
注意されたり指導されたりしたら、見込まれてると信じて自分を成長させていく努力を重ねろ
そんなのは嫌だと言うのなら、そのままペーペーの下っ端の人生をまったりと送れ
916:デフォルトの名無しさん
23/05/24 21:19:13.86 ATYAg5h+.net
本当にChatGPTがそこまで有能ならば
VBAのプログラマーであるお前らはもう用済みだろうな
SEとChatGPTだけで開発出来ることになる
917:デフォルトの名無しさん
23/05/24 21:19:58.19 e8mgmyMR.net
ウィンドウ枠の固定の固定を行列両方でやる方法はありますか?
手作業でやった場合は
B7を選択し、表示 → ウィンドウ枠の固定 → → ウィンドウ枠の固定 の順でクリックすると十字線で固定になります。
これをVBAでやる方法を知りたいです。
' 起点となるセル(B7)を選択
Range("B7").Select
' 行と列を同時に固定
With ActiveWindow
.SplitColumn = 1
.SplitRow = 6
End With
ActiveWindow.FreezePanes = True
これだと上手くいきません。
918:デフォルトの名無しさん
23/05/24 21:43:25.82 lDhUSoZp.net
>>907
その真ん中は要る?
>>909
こういう書き方はどう?
Sub a()
If b Then
Cells(1, 1).Value = 1
Else
Cells(1, 1).Value = 2
End If
End Sub
919:デフォルトの名無しさん
23/05/24 22:42:40.02 EnBFiGu7.net
>>907
ThisWorkbook.Worksheets("Sheet1").Activate
Range("B7").Select
ActiveWindow.FreezePanes = False
ActiveWindow.FreezePanes = True
920:デフォルトの名無しさん
23/05/25 00:15:01.22 7ru6gnb4.net
>>906
つか最近はVBAの案件が激減りでしょ。
クラウドワークスやココナラにたまに案件出る程度。
しかもクソ以下な報酬だし。
921:デフォルトの名無しさん
23/05/25 00:33:58.70 htkuBd+g.net
Microsoft365Copilotってどこまでできるようになるのかね?
VBAコーディングのアシスタントもしてくれるのかな?
922:デフォルトの名無しさん
23/05/25 08:17:33.66 r97jG93E.net
>>904
初めてやる事、勉強しないとわからない事をミスや間違いなくやれって言われても無理だなぁ
923:デフォルトの名無しさん
23/05/25 08:42:09.76 qOk7CQOp.net
職場内の指示ならサポートする人がいるでしょ
自分で取ってきた仕事ならそれをわかってて受ける奴がバカでしょ
924:デフォルトの名無しさん
23/05/25 10:05:56.11 wW289g5U.net
>>911
オープンソースのChatGPTでも、適切に質問すればちゃんと動く完全なVBAを書いてくれる
それ以下の性能になる可能性は低い
925:デフォルトの名無しさん
23/05/25 10:25:12.16 lc7HulhJ.net
いやむしろChatGPT並のaiを搭載出来ると思えん
毛の生えたイルカ
926:
927:デフォルトの名無しさん
23/05/25 10:38:34.50 bvQ+M2zu.net
今のAIなんて性能は横並びで、違いは学習データの多さだけ
言い換えれば回線の太さとハードディスクの容量で決まるようなもん
最初はポンコツでもMSの持つリソースを考えればChatGPTなんかすぐに追い抜くのは容易に想像できる
928:デフォルトの名無しさん
23/05/25 11:45:58.08 7ru6gnb4.net
昨年までchatgptなんて話題になかった。今年からだよね確か?
929:デフォルトの名無しさん
23/05/25 12:30:54.27 BeRM8aLP.net
chatgptにTTRPGのGMやらせたのは去年だった気がする。
930:デフォルトの名無しさん
23/05/25 12:40:15.38 yD7GMOxx.net
>>910
そうなのかな?
VBAのPGだけで飯食ってる訳じゃないから分からないけど
ChatGPTがそこまで有能だと言うのであれば
いずれはプログラマー全員が干されることになるだろうな
931:デフォルトの名無しさん
23/05/25 12:43:50.88 +8NgUpWi.net
>>919
そんなことを思うのは無能のレベルの低い人だぞ
932:デフォルトの名無しさん
23/05/25 14:06:21.16 7X+fG8I/.net
>>919
確かにchatGPTはコードを書けるけど
なんの責任も取らないchatGPTが書いたコードを
何も知らないままコピーで使うってのは流石にできないだろ
人間がそれなりにコードのこと知っている(=そのコードの責任を取る)からこそ
コピーが出来るんじゃないか?
933:デフォルトの名無しさん
23/05/25 14:24:44.64 wW289g5U.net
今のAIは、結果が正しいかどうか判断できないもんな
そこまでできるようになったら人間の仕事がいよいよなくなる
934:デフォルトの名無しさん
23/05/25 15:33:05.20 7ru6gnb4.net
chatgptに試しにコードを頼んだら、変なことやり出す時あるから恐ろしいわな。
935:デフォルトの名無しさん
23/05/25 15:40:09.70 WTdNLwFH.net
普通に考えて間違っていることなのに正しいと言い張って悪いことする人間もいる
936:デフォルトの名無しさん
23/05/25 16:38:38.94 9aT2N2S/.net
まともなコードをかける人だけがChatGPTを貶しなさい
937:デフォルトの名無しさん
23/05/25 18:25:35.42 IdJA6u5F.net
chat GTPがコードを書いてくれても使う側の人間がシート名を変えたり、シートを並び替えたり、列や行を挿入したりするから無意味だゾ
938:デフォルトの名無しさん
23/05/25 19:12:38.82 uTGbx62u.net
>>910
クソの値段は?
939:デフォルトの名無しさん
23/05/25 19:14:42.03 YbSVtxjN.net
プライスレス
940:デフォルトの名無しさん
23/05/25 19:25:43.50 ka2xCALB.net
外資系化学メーカーだけど日本の企業からExcelが消えることは自分が定年するまではないわ
AIが発達するならそれに任せるしそこまでいかないなら今まで通り自分で作ってメンテする
ただGPTは十分つかえるし凄い
941:デフォルトの名無しさん
23/05/25 19:48:46.62 WHjTQOsf.net
無能な人はありがたがる
942:デフォルトの名無しさん
23/05/25 20:14:18.01 qOk7CQOp.net
自分が作りたいものはほぼ過去作のコードコピーして手直しするような感じだからそういう人にはあまり必要ないかもしれないが
まるまる使うわけでなくひな形としてサンプルコード生成してもらうような使い方ならありかもね
943:デフォルトの名無しさん
23/05/25 22:01:48.16 IdJA6u5F.net
非表示のシートにコピーしようとする
あるいはアドレスで参照しようとする時にエラーを出す条件はなんですか?
944:デフォルトの名無しさん
23/05/25 22:38:06.47 OGK1w7li.net
エラーの内容は?
945:デフォルトの名無しさん
23/05/25 22:41:38.89 IdJA6u5F.net
>>933
1004ですね😅
946:デフォルトの名無しさん
23/05/26 04:05:15.06 t8aTcQe9.net
クラウドワークスのVBA案件が少ないのは分かるが、単価はクソじゃないだろ。
947:デフォルトの名無しさん
23/05/27 10:51:17.80 Or9ZKlcs.net
コードが長いのでプロシージャを分けたいのですが変数は
グローバル変数を使って変数をひとまとめにするのと
再度プロシージャで同じように定義しなおすのはどちらが一般的ですか?
948:デフォルトの名無しさん
23/05/27 11:22:44.57 9h/NVUyr.net
全体の一部だけ修正するなら好きにしろじゃね
関数Aを関数Bと関数Cに分割するならPublic(モジュールのPrivate)変数にしたほうが直しやすいし
関数Aを関数A自体は残して中のコードを関数Bと関数Cに振り分けるなら
Public変数だけでなく関数Aのローカル変数を関数Bと関数Cの引数に渡すこともできる
949:デフォルトの名無しさん
23/05/27 12:40:25.19 cGvl/d1n.net
>>936
自分で考えるのが一般的じゃね
950:デフォルトの名無しさん
23/05/27 13:14:17.41 RPl8pCqm.net
>>936
作業用の捨て変数のことなら、毎回いちいち宣言しないとバグの元
グローバルにすると、例えばループの中から別プロシージャを呼んだ時に破綻する
951:デフォルトの名無しさん
23/05/27 13:38:59.73 pJTb6Vhd.net
>>936
グローバルかローカルかは変数の役割と範囲次第だな。
グローバル変数は便利だけど多用しすぎると
面倒臭くなるから注意な。
ローカル変数は見通し良くなるから使えるときは使うべき。値の受け渡しが必要なら引数使うのが普通だよ。
とはいえ、プロジェクトの性質や要求によって
適切な方法は変わるから自分で考えてみてくれ。
952:デフォルトの名無しさん
23/05/27 15:12:20.44 Or9ZKlcs.net
ありがとうございます。
プロシージャ毎に1つずつ実行するときと
複数順に実行する場合があるので
引数だと面倒だなと思ったのでグローバルにしようか悩んでいました。
自分の能力ではコードが増えたときにグローバル変数だと混乱するのではやめておきます。
953:デフォルトの名無しさん
23/05/27 22:23:40.36 wfFOuEPe.net
ミスや不具合のあった時にあーだこーだ言われるのだから日本にはAI開発なんて不可能
954:デフォルトの名無しさん
23/05/27 23:08:54.80 rPvuWgFx.net
それは極論
955:デフォルトの名無しさん
23/05/28 16:42:51.88 pV4wEcmO.net
日本企業は権力に弱いからあーだこーだ言われてしまうと萎縮してしまい海外AIのような思い切ったプロジェクトを立ち上げる事ができないという事は言える
これは各省庁の圧力を封殺して国が主導して補助金まで出すようになれば事態は一変するかもしれない
956:デフォルトの名無しさん
23/05/28 17:53:17.80 aECve9cA.net
他人のカネをあてにしたプロジェクトで成功した試しが無いだろ
ビンボこそがパッションとモチベと成し遂げる意思と工夫とプランニングに富む基礎と成る
食えるか食えないかギリギリのビンボがな
957:デフォルトの名無しさん
23/05/28 18:05:09.72 8TEHyhBs.net
課題が多いのは事実だがそれを乗り越える技術のある人もいることに期待する
958:デフォルトの名無しさん
23/05/28 20:48:41.35 aECve9cA.net
もっと言うと、デカく成った企業は保身に走る、突っ走る デカく成りつつある企業もそれに倣って保身に走る
それは中の人が(俺の代でポシャる訳にはいかない)と、無難な路線しか認めないから 挑戦の二文字は倉庫に仕舞い込んでる
それに加えて昨今のHDブーム 何でもかんでもホールディングスにすりゃいいと安易に設立して内部留保に励む
前世紀末のバブル崩壊をまざまざと経験した世代は特に臆病風を吹かしまくる チキン・ハート症候群だ(現役だけに大迷惑)
その点、昨今の怖いもの知らずのZ世代なら、悪事を働く方向とは真逆のベクトルで突っ走ってくれたら
とんでもないイノベーションを起こす可能性を持ち合わせている ウィリアムやスティーブのようなのが出て来る可能性も
まあ、願望だけだが それでも、ひとりかふたり出てくれればゴロっと変わる可能性だってあるんだから、希望の光は消えない
959:デフォルトの名無しさん
23/05/28 21:45:16.66 FAxVwT0p.net
Application.OnTime TimeValue("12:00:00")
オンタイムメソッドのコードのテスト方法って何かありますか?
動くかの確認に毎回時間を合わせてテストするのが大変なので質問しました
960:デフォルトの名無しさん
23/05/28 21:50:34.02 0FRQEohw.net
すみません
ここまでのコードはうまくいくのですがこの先の以下のコードを実行すると400や1004のエラーメッセージが表示されます
しかしながら望み通りの場所に名前をつけて保存してくれます
なんのエラーが出ているのでしょうか?
Sheets("リスト").Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\TEST1.xlsx"
ActiveWorkbook.Close
End Sub
リスト シートをコピーして新しいブックとして開き、名前をつけて同じ場所に保存という事がしたいです。
961:デフォルトの名無しさん
23/05/28 22:12:18.01 0FRQEohw.net
おそらくやっと原因が判明しました
OneDriveのせいでした
962:デフォルトの名無しさん
23/05/28 22:50:47.30 v/IHwhGn.net
2~30年後ぐらいにAIの分野の遅れが致命的になり慌ててAI庁とか作りそう
963:デフォルトの名無しさん
23/05/28 23:40:07.55 O8C+AHmT.net
デジタル庁があるやん
964:デフォルトの名無しさん
23/05/29 02:32:31.75 A0J6rQWV.net
金目当ての仕事しかしないで中身スカスカだろうけど
965:デフォルトの名無しさん
23/05/29 06:53:52.00 6VgnbzRd.net
>>946
今の日本は現場が下に見られるから
技術のある人は権力や役職者にいいように利用されて終わることが多い
966:デフォルトの名無しさん
23/05/29 10:00:53.79 XEr4TBXw.net
みんな、エッチ団結しようよ!
967:デフォルトの名無しさん
23/05/29 15:43:26.34 sEjgVYtC.net
>>954
多いだけで全員ではない
968:デフォルトの名無しさん
23/05/29 16:43:45.59 617wK6FV.net
やっぱりめちゃくちゃ丁寧にコメント残して変数の宣言をめんどくてもしっかりしとくと後で手直しが楽だな…
社内サーバーが変更になって他部署のマクロがあちこちエラーでバタつきまくってるけど俺の作ったvbaちゃん達は少しメンテしただけでオールオッケー
ヘルプが来たけど他人の作ったマクロ全然わかんね
969:デフォルトの名無しさん
23/05/29 17:02:10.90 4Pg0mNi+.net
ウデを持ってるなら、そんな環境からとっととおサラバするのがいい
サヨナラされてようやく気付く企業も多く成るべき
それでもそこにしがみ付きたいなら、技術だけじゃなくて知恵も蓄えないと
どうやってその邪魔な上役・役職者を失脚させて、徐々にでもじぶんの地位を上げるか とか
学歴・派閥・職歴えtc、ひとは誰しも欠点を持ち合わせてンだし、そこをトコトン突っ突かないと
ブツブツ文句垂れてるだけじゃなにごとも変わらない 諦めたらそこで終わりなのも事実だし
970:デフォルトの名無しさん
23/05/29 21:13:35.07 PjfX8r01.net
一つだけお聞きしたいのですが、VBAを作成したとしても利用者がシート名を変更したり、シートを削除したり、シートを追加したり、並び替えたりしたら自動化や効率化のやりようがないですよね?
オブジェクトが存在しないとか並び替えられていたらインデックスで指定するのが無理とかそう言う事になりますよね?
VBAは決められた手順通りに定められたメゾットを実行する物であって、ブックがめちゃくちゃだと実行しようがないですよね?
971:デフォルトの名無しさん
23/05/29 21:20:52.62 4q9o84pD.net
シートをオブジェクト名で処理すればシート名変更・並び替え・シート追加はどうでも良くなる
シート削除対策は予備シートを他のブックにでも入れておいて本シートの存在判定後に予備シートからコピーすれば良い
972:デフォルトの名無しさん
23/05/29 21:26:22.38 PjfX8r01.net
>>960
なるほど
ちなみに一番新しいシートのオブジェクトを指定する方法はあるでしょうか?
ブックにあるオブジェクトを探して一番大きい数字のオブジェクトを指定できるなら助かるのですが
worksheet.countやworksheet.count - 1の様な事をオブジェクトで行いたいです
973:デフォルトの名無しさん
23/05/29 21:38:44.22 5rIVitSK.net
もちろんできる
974:デフォルトの名無しさん
23/05/29 21:43:07.69 4q9o84pD.net
普通は新しいシートを作る位置でその手のコントロールをすると思うけどね
975:デフォルトの名無しさん
23/05/29 21:45:22.79 PjfX8r01.net
>>963
並び替えられると動作しなくなるのでどうにか不変もので出来ないのかなと思いました
連番?で数字が増える事だけが頼りです
976:デフォルトの名無しさん
23/05/29 21:53:57.15 4q9o84pD.net
>>964
新しいシートを作るのがコード自身ならコントロールできるでしょ
あと、並び替え程度で動かなくなるとか
シートを作られただけで動かなるコードなんてのは脆弱すぎるので
先ずはその点の改良をしたほうがいい
977:デフォルトの名無しさん
23/05/29 22:02:48.61 nq5ttQ99.net
そんなんで駄目になるなら初めからガチガチにロックしてこっちが想定した操作以外できなくしてしまったほうが早い気がする
978:デフォルトの名無しさん
23/05/30 02:48:24.27 ztJvp+qD.net
VBAでどんなコードを書いてもユーザーが勝手に変更したら動かなくなるよ
979:デフォルトの名無しさん
23/05/30 06:48:55.03 D1ASN+X8.net
>>965
やりたい事は一番新しいシート(最新のシート)とその前に作成されたシート(古いバージョンの様な)を比較して一致しないセル(変更のあったセル)に色を塗ると言う事がしたいです
一番新しいシートはマクロを実行する度に複製されます
私は一番新しいシートに記入してマクロを実行すると直前のシートと比較して色を塗る所まで出来ました
しかし利用者の方が一番新しいシートに記入される方ばかりではないと言う事にも気がつきました。
なのでどこのシートでマクロを実行しようとも一番新しいシートとその直前のシートで比較するマクロを組みたいです。
980:デフォルトの名無しさん
23/05/30 06:57:07.62 T5vzeTOi.net
どこかにシートの作成履歴を保存しておくしかないのでは?
981:デフォルトの名無しさん
23/05/30 07:58:55.38 IcFRt183.net
ブックを開きその時点での一番新しいシートに記入する
マクロのボタンを押す
シートを複製する
一つ前のバージョンのシートと比較して変更のあったセルに色を塗る
と言う事がしたいです
つまりマクロを実行するシートというのは常に新しく複製されたシートです
理想は常に新しく複製されたシートのオブジェクト名を取得してその前のバージョンのシートと必ず比較できるマクロが組みたいです
982:デフォルトの名無しさん
23/05/30 08:01:10.86 IcFRt183.net
URLリンク(detail.chiebukuro.yahoo.co.jp)
ここに書かれているCode nameが最大のシートを探すと言うのが答えになりそうなのですが私には分かりませんでした
983:デフォルトの名無しさん
23/05/30 08:29:21.45 qMHj8iFj.net
そのブックの構成がよくわからないな
その古いシートへユーザーが書き込むってのはミスなの?そのシートに書き込む必要がある状態なの?
因みに、codenameを取得して番号から最新シートを把握というのはちょっと微妙な気がする
何故ならシートのオブジェクト名もシート名も
そのEXCELブックが立ち上がった時の一番若い番号に振られるから
つまり、オブジェクト名に歯抜けの番号があればその歯抜け番号が最新番号になる、、はず
そんなのより各シートにインデックス番号を
シート内の固定場所に
振っていくほうが手っ取り早いんじゃないの?
若しくは管理用シートを別に用意するとか手段はいくらでもある
984:デフォルトの名無しさん
23/05/30 08:29:25.24 IcFRt183.net
なんとなくわかって来ました
初期値のworksheet(シート名?オブジェクト?) < ブックの中のシートのコードネーム
がthenならそのCode nameを変数に入れたらいい
そしてそのCode nameのシート名を取得して変数に入れればいい
と言う事ですね
985:デフォルトの名無しさん
23/05/30 08:49:28.89 IcFRt183.net
>>972
本当にありがとうございます
私はvbaの初心者で必ず最新のシートが選択される様にする
と言うだけでこの通り全く分からない状態です
そんなのより各シートにインデックス番号を
シート内の固定場所に
振っていくほうが手っ取り早いんじゃないの?
若しくは管理用シートを別に用意するとか手段はいくらでもある
↑
私もインデックスを固定して操作する方が確実だとは思うのですがシートの並び替えだけを禁止すると言う理解でよろしいでしょうか?
986:デフォルトの名無しさん
23/05/30 09:26:21.94 qMHj8iFj.net
>>974
いや、ちょっと勘違いしているね
平易に言うと、自分で作った通し番号を各シートの固定場所に記載するってこと。
シートの並び順はもはや関係なくなる
具体的には、一番最初のシートには使ってないセルに「1」を振る
次に新しいシートを作るときは
for each 変数名 in thisworkbook.worksheets
でブック内全シートの番号を降った場所を検索して
一番大きな番号を取得
その取得した番号の次の番号を新しいシートに振る
これでいつでも最新シートを更新出来るようになる
987:デフォルトの名無しさん
23/05/30 10:50:25.84 IcFRt183.net
>>975
なるほど!
わかりやすい😭
988:デフォルトの名無しさん
23/05/30 17:51:07.23 1Ly+sIKy.net
こないだの奴だろ? わかったつもりでいても、実装には難儀する気がする
そもそも要件と、それをまかなう仕様がなんかまちがってる気がしてならない
古いSheetと新しいSheetで違う値のセルをハイライト
で、その新しいSheetは明日には古いSheetに成るんじゃないのか?ハイライトする意味は?
ひとつのブックをみんなで寄ってたかって編集してるのか? で、制作物は最終的にひとつなのか大量にあるのか
古くなったSheetはもう不要なのか、いつか参照するのか ブック内でどんどんSheetが増えていくのか その頻度は
書ける範囲で業種とか業務とかの概略を書いた方が結果的に近道な気がする 気がするだけだけど
その用途ならこうした方がいいぞ というアドバイスも出てきそうだし
989:デフォルトの名無しさん
23/05/30 18:47:46.87 rtVxM/0K.net
適当な人間が使ってるものを深く考えずに何とかしようとしてるだけだから仕方なくね
ぶっちゃけこんな感じなるなら別のブックにマクロいれて
ファイル名、変更前シート、変更後シート
あたりを入力して変更後シートの変更箇所に色塗りするってマクロ作った方がいいんじゃねと思うわ
そもそも勝手にシート増やされたとしてそのシートが番号振ってあるシートだったら破綻するだろ?
990:デフォルトの名無しさん
23/05/30 19:50:15.30 D1ASN+X8.net
>>978
シートを手動でコピーされるかあるいは新しいシートを挿入されたら終わり
確かにその通りでした
やはり浅はかでした
どうにもシートの保護などは禁止らしく、他のブックで比較するのも禁止らしいです
では最終手段として一番新しいシートを一番右に、その前のバージョンのシートをその左に手動で並べて右と左で比較するコードをと提案しましたが必要を理解してもらえませんでした
991:デフォルトの名無しさん
23/05/30 19:57:03.41 D1ASN+X8.net
個人的にはマクロが登録されているボタンを押して作成している限りにおいては正しい動作が行われるで満足なのでセルに数字を入力してシートを指定する案で終わります
992:デフォルトの名無しさん
23/05/30 20:02:47.81 8KdzSu0t.net
誰もマクロを触れない部署で全く新しいアプローチでツールを作ってくれと言われて
今月の残業時間40Hだが全部vbaに費やしてる
まだ試作だけど部長に糞誉められた
いやでも会心の出来かも
デバックエラーが絶対起きないようにあらゆる想定をしてユーザーフォームのボタンに込めた
993:デフォルトの名無しさん
23/05/30 20:08:16.56 rtVxM/0K.net
そうかよかったな
チラシの裏にでも書いておけ
994:デフォルトの名無しさん
23/05/30 20:19:41.96 D1ASN+X8.net
ちなみに当の本人は「サンプルシートに記入した人がいる、キチガイやろ?」と言っていました
私はそれはシートの保護をせず、入力ができるからでは?入力ができる以上、そう言う操作を行う人が居るのは当然なのでは?入力するべきではないシートだとわかりにくいからでは?と思いました。
そして人の悪口を言うのを辞めようと思いました。
995:デフォルトの名無しさん
23/05/30 20:30:00.27 LGax4AHG.net
>>982
こういう年収低い奴はやたら攻撃的だな
格差社会の弊害がここに
996:デフォルトの名無しさん
23/05/30 20:33:12.41 8KdzSu0t.net
常に煽り口調なレス怖いですね
低年収なら仕方ない…のか?
それこそチラシの裏に社会への不満書くのがいいかと
997:デフォルトの名無しさん
23/05/30 21:00:59.18 rtVxM/0K.net
書いてる内容で年収わかるなんてすごいですね
そもそもここは質問スレなんだから質問とその回答以外を書く方がおかしくね
>>981はもしかしたら質問かもしれないから念のため>>982の回答をしてみたんだが
998:デフォルトの名無しさん
23/05/30 21:19:25.23 LGax4AHG.net
すごいだろ
でも書いてる内容見りゃお前が間違いなく底辺なのがわかっちゃうんよ
それを回答と言ってる時点で知能指数もしれてるわな
999:デフォルトの名無しさん
23/05/30 21:45:11.73 hm9t4j8O.net
まあ目くそ鼻くそだけどな
1000:デフォルトの名無しさん
23/05/30 21:57:16.96 rtVxM/0K.net
同年代の年収の平均値・中央値よりもぜんぜん上だけどまあ言わせておくよw
>>988
ほんとその通りな
ワッチョイありの頃はそれなりに回ってたけどワッチョイなしで立てたクソ野郎のせいで
VBA質問スレは無関係のことしか書かないカスみたいなやつのたまり場になっちまったわ
1001:デフォルトの名無しさん
23/05/30 22:00:08.95 iuWp6cF1.net
>>989
ワ有りと無しは同時に存在することが許されるし
ワ有りスレもあるのにここに居続けてるのは自身の選択だろとしか
1002:デフォルトの名無しさん
23/05/30 22:14:49.50 D1ASN+X8.net
とりあえず納得するものが作れたと思います
少なくとも自分がどんな操作も受け付けるマクロやブックを作っておきながらそれを使用する人に対してキチガイという人には負けたくありません
1003:デフォルトの名無しさん
23/05/30 23:08:53.36 LGax4AHG.net
wをつけだしたらおわりだわ
1004:デフォルトの名無しさん
23/05/30 23:17:06.57 LGax4AHG.net
平均値中央値よりもぜんぜん上
こんなこっぱずかしいレスをネットで久しく見た
1005:デフォルトの名無しさん
23/05/31 00:42:56.05 Akn6fcLj.net
必要な操作をできる人、理解している人が行う
とか
シートを保護する
とか
そう言う事は禁止らしいんですよ
どうしても理解度がバラバラの作業者にやらせたいらしいです
1006:デフォルトの名無しさん
23/05/31 00:44:54.70 Akn6fcLj.net
きっと記入例シートに みほん とデカデカと透かし図を貼り付ける事も シートを保護する事も禁止なんだと思います
1007:デフォルトの名無しさん
23/05/31 01:13:44.98 zw3Mw+mP.net
じゃあ次スレはワッチョイ有りにすればええやん
今がチャンスだぞ
1008:デフォルトの名無しさん
23/05/31 01:17:01.07 5IfBNuLp.net
いやワッチョイスレあるから
Excel VBA 質問スレ Part79(ワッチョイあり)
スレリンク(tech板)
ダメなら立てなきゃいいんじゃないの?
1009:デフォルトの名無しさん
23/05/31 01:27:46.77 Akn6fcLj.net
この間の銃殺事件があってもまだ誹謗中傷を続けるの?
1010:デフォルトの名無しさん
23/05/31 03:53:32.03 ul21zY0k.net
このスレを立てた爺の正体
↓
掲示板でのケンカが孤独感を薄めてくれる
零細企業勤めで結婚もしておらず、交流する友人もいないが、「ネットが趣味なのが救いだ」と話す。
「掲示板サイトに書き込んだり、VBAはわかりませんが、日本語ワープロに詳しいと自慢したり、チャットGPTを使ったり……いい話し相手になってくれるんですよ。たまに掲示板でケンカもしちゃうんですが、それが孤独感を薄めてくれているのかもしれませんね」
ネット書き込みの裏には孤独を抱えた高齢者の姿がある。
―[中高年[貧困と孤独]の実態]―
1011:デフォルトの名無しさん
23/05/31 03:54:06.20 ul21zY0k.net
----
1012:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 122日 16時間 7分 19秒
1013:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています