!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑2行に減ってるけど、同じ内容を3行に増やして貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part74
https://mevius.5ch.net/test/read.cgi/tech/1639932059/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part75
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (スフッ Sd7f-wadS)
2022/02/09(水) 14:24:32.62ID:I0u44nFvd2デフォルトの名無しさん (アウアウウー Sa9b-4tZW)
2022/02/10(木) 10:32:50.12ID:NHAjzQuTa >>1
乚
乚
3デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 15:15:12.01ID:nfSYASk10 時々お世話になっています。
方針を確認したいです。
やりたい事は、特定のフォルダを指定して、その中にあるフォルダ・ファイルの中から最新の更新日を取得する
です。
今考えているやり方は、
@特定のフォルダを取得する(エクセル内にパスの指定あり)
Aサブフォルダを含むすべてのフォルダパスを取得
Bサブフォルダを含むすべてのファイルパスを取得
C取得したフォルダパスとファイルパスの最新更新日時を取得
Dその中から一番最新の日時を取得
です。
他に簡単な手順ってあるでしょうか?
ヒントでもいただけるとうれしいです。
よろしくお願いします。
方針を確認したいです。
やりたい事は、特定のフォルダを指定して、その中にあるフォルダ・ファイルの中から最新の更新日を取得する
です。
今考えているやり方は、
@特定のフォルダを取得する(エクセル内にパスの指定あり)
Aサブフォルダを含むすべてのフォルダパスを取得
Bサブフォルダを含むすべてのファイルパスを取得
C取得したフォルダパスとファイルパスの最新更新日時を取得
Dその中から一番最新の日時を取得
です。
他に簡単な手順ってあるでしょうか?
ヒントでもいただけるとうれしいです。
よろしくお願いします。
4デフォルトの名無しさん (ワッチョイ 17b0-5flp)
2022/02/10(木) 15:37:12.23ID:x6E7pXvm0 powershellならこれだけなんだが
ls -recurse|sort-object -property LastWriteTime -Descending|select-object -First 1|%{$_.LastWriteTime}
VBAからpowershell呼び出せば?
ls -recurse|sort-object -property LastWriteTime -Descending|select-object -First 1|%{$_.LastWriteTime}
VBAからpowershell呼び出せば?
5デフォルトの名無しさん (スップ Sdbf-zD41)
2022/02/10(木) 15:44:08.91ID:M1zV1i+Cd >>3
一般的だと思うけどフォルダ内の検索はそれ自身を一つの関数Aにしてその関数の中で関数Aを呼び出すと思う
関数は例えばこんな感じ Sub ProcA(ByVal pFolder As String, ByRef pDate as Date)
中はこんな感じどっちが先でも構わない
pFolder内のフォルダ一覧を取得してフォルダ分ProcAを呼ぶ
pFolder内のファイル一覧を取得して最新日時をpDateに戻す
なので手順は
@特定のフォルダを取得する(エクセル内にパスの指定あり)
AProcAを呼ぶ(これでサブフォルダ内も含めて全部検索してくれる)
BpDateが最新日時
一般的だと思うけどフォルダ内の検索はそれ自身を一つの関数Aにしてその関数の中で関数Aを呼び出すと思う
関数は例えばこんな感じ Sub ProcA(ByVal pFolder As String, ByRef pDate as Date)
中はこんな感じどっちが先でも構わない
pFolder内のフォルダ一覧を取得してフォルダ分ProcAを呼ぶ
pFolder内のファイル一覧を取得して最新日時をpDateに戻す
なので手順は
@特定のフォルダを取得する(エクセル内にパスの指定あり)
AProcAを呼ぶ(これでサブフォルダ内も含めて全部検索してくれる)
BpDateが最新日時
6デフォルトの名無しさん (スップ Sdbf-zD41)
2022/02/10(木) 15:50:58.22ID:M1zV1i+Cd >>4
これだとフォルダの日時も対象になってしまわない?
これだとフォルダの日時も対象になってしまわない?
7デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 16:04:20.32ID:nfSYASk10 >>4
ありがとうございます。
powershellだとそんなに短くなるんですね・・・
ただ私を含め、powershellに詳しい人が周りにいないのと、
私が死んでもメンテナンスできる状態にしておきたいので、今回はVBAで作成をしたいです。
(でもそのコードは保存させていただきます。)
勉強になります。ありがとうございます。
ありがとうございます。
powershellだとそんなに短くなるんですね・・・
ただ私を含め、powershellに詳しい人が周りにいないのと、
私が死んでもメンテナンスできる状態にしておきたいので、今回はVBAで作成をしたいです。
(でもそのコードは保存させていただきます。)
勉強になります。ありがとうございます。
8デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 16:09:01.41ID:nfSYASk109デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 16:10:41.24ID:nfSYASk1010デフォルトの名無しさん (ワッチョイ ff2c-2zGl)
2022/02/10(木) 16:25:27.01ID:J5PrGMnU0 Ruby のglob では、** で、フォルダ以下を再帰的に処理する
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/test/**/*"
puts Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.max_by { |full_path| File.mtime( full_path ) } # 更新時刻が最も最近のファイルパス
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/test/**/*"
puts Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.max_by { |full_path| File.mtime( full_path ) } # 更新時刻が最も最近のファイルパス
11デフォルトの名無しさん (ワッチョイ ff63-foD4)
2022/02/10(木) 16:53:52.57ID:jnAzFgRy0 前スレで「VBA内で今まで使えてたKillが急に使えなくなった」野郎ですが、システムの復元で先月に戻したら直った。
たぶんOfficeの最新のアップデートがクソ。
VBA内で作って使い終わったADODBを削除する部分。
10年くらい使い続けてるし、connectionとかちゃんとcloseしてるのに。
たぶんOfficeの最新のアップデートがクソ。
VBA内で作って使い終わったADODBを削除する部分。
10年くらい使い続けてるし、connectionとかちゃんとcloseしてるのに。
12デフォルトの名無しさん (ワッチョイ 372f-2zGl)
2022/02/10(木) 18:14:16.34ID:lf0ILJru0 >>7
そもそもVBAで作る意味がわからんが
自分で作れもしないものを俺が死んでもメンテしろとか...
なにをやるかだけをドキュメントなりコメントなりで残せよ
あとの人はそれ見て自分でできるやり方でやればいいだけ
そもそもVBAで作る意味がわからんが
自分で作れもしないものを俺が死んでもメンテしろとか...
なにをやるかだけをドキュメントなりコメントなりで残せよ
あとの人はそれ見て自分でできるやり方でやればいいだけ
13デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 18:19:09.16ID:nfSYASk10 >>10
Rubyでもそんなに短くなるんですね。
もしかしてVBAが一番大変なんじゃないかと思えてきます。
すみません。Rubyは私が全く使えないため、今回は見送らせていただきます。
コードまで記載していただいたのに申し訳ないです。
ありがとうございました。
Rubyでもそんなに短くなるんですね。
もしかしてVBAが一番大変なんじゃないかと思えてきます。
すみません。Rubyは私が全く使えないため、今回は見送らせていただきます。
コードまで記載していただいたのに申し訳ないです。
ありがとうございました。
14デフォルトの名無しさん (ワッチョイ 372f-2zGl)
2022/02/10(木) 18:22:09.15ID:lf0ILJru0 ふと思ったが、ファイル列挙を再帰で処理するときになにも考えずに
うっかり上位フォルダへのショートカットとか処理したらループするのな
素のVBAでやるならDir関数だろうけど、これショートカットとかどう処理するんだろ
うっかり上位フォルダへのショートカットとか処理したらループするのな
素のVBAでやるならDir関数だろうけど、これショートカットとかどう処理するんだろ
15デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 18:23:45.71ID:nfSYASk10 >>12
VBA(エクセル)であれば多少使える人が周りにいるため、メンテナンスが可能だと思いました。
自動化した処理はコード内のコメントでも残しますし、ドキュメントにも記載します。
>>自分で作れもしないものを俺が死んでもメンテしろとか...
これは確かに・・・自分で作れていない以上ぐうの音も出ません。
VBA(エクセル)であれば多少使える人が周りにいるため、メンテナンスが可能だと思いました。
自動化した処理はコード内のコメントでも残しますし、ドキュメントにも記載します。
>>自分で作れもしないものを俺が死んでもメンテしろとか...
これは確かに・・・自分で作れていない以上ぐうの音も出ません。
16デフォルトの名無しさん (ワッチョイ 1763-I0BZ)
2022/02/10(木) 18:27:43.99ID:Cq74F0AH0 こんな簡単な処理もできないのにVBAならできると言うか
17デフォルトの名無しさん (スップ Sdbf-zD41)
2022/02/10(木) 18:56:39.50ID:M1zV1i+Cd18デフォルトの名無しさん (ワッチョイ ffda-wadS)
2022/02/10(木) 19:15:17.51ID:tWYuVSEa0 >>3
Power Query で親のフォルダ指定すると、サブフォルダも含めた
ファイル名、拡張子、アクセス日時、更新日時、作成日時、パス
の一覧を作ってくれる。
作成日時か更新日時で降順して1から始まるインデックス付けて、
BinaryとかRecordの余計な列は削除して、クエリーテーブルとしてsheetに読込ませたら、
あとは外のセルからINDEX・MATCH関数で
「インデックスの列が1」の行のパス&"\"&ファイル名を表示させる。
VBAはこのbookを開いたときにクエリー更新させるとか、
ボタンでクエリー更新させるとか。
Power Query内にセルに指定したフォルダパスを取り込むときは
そのセルを名前定義しておいて、
let
定義名 = Excel.CurrentWorkbook(){[Name="定義名"]}[Content]{0}[Column1],
ソース = Folder.Files(定義名)
in
ソース
これが元ネタ
https://stackoverflow.com/questions/49281763/powerquery-use-a-cell-values-in-a-url
Power Query で親のフォルダ指定すると、サブフォルダも含めた
ファイル名、拡張子、アクセス日時、更新日時、作成日時、パス
の一覧を作ってくれる。
作成日時か更新日時で降順して1から始まるインデックス付けて、
BinaryとかRecordの余計な列は削除して、クエリーテーブルとしてsheetに読込ませたら、
あとは外のセルからINDEX・MATCH関数で
「インデックスの列が1」の行のパス&"\"&ファイル名を表示させる。
VBAはこのbookを開いたときにクエリー更新させるとか、
ボタンでクエリー更新させるとか。
Power Query内にセルに指定したフォルダパスを取り込むときは
そのセルを名前定義しておいて、
let
定義名 = Excel.CurrentWorkbook(){[Name="定義名"]}[Content]{0}[Column1],
ソース = Folder.Files(定義名)
in
ソース
これが元ネタ
https://stackoverflow.com/questions/49281763/powerquery-use-a-cell-values-in-a-url
19デフォルトの名無しさん (ワッチョイ ffda-zD41)
2022/02/10(木) 19:24:51.89ID:hZgX7eKD02010 (ワッチョイ ff2c-2zGl)
2022/02/11(金) 13:48:46.29ID:901NTZe+0 処理が複雑になるにつれて、より本格的なプログラミング言語に変えていかないといけない。
これを適材適所・目的別最適化と言う
小中高大学みたいなもの。
VBAが小学生の宿題なら、Rubyは大学生の宿題
VBA > PowerShell, Bash > Ruby
これが分からない会社は、すべてのシステムをVBAで作って、
色々なモジュールを共通化して、
会社の資産にしてみたいに発展させていって、最後には破綻する
維持・保守コストが膨大になって、おまけに低品質で、誰も修正できなくなる
システムみたいなものは修正・保守必須で本格的なものだから、
Rubyみたいなプロ用の言語じゃないとダメ
ちょっとした秀丸マクロとか、そういうのはダメ。
適材適所・目的別最適化みたいな事を分かっていない会社が多すぎる
これを適材適所・目的別最適化と言う
小中高大学みたいなもの。
VBAが小学生の宿題なら、Rubyは大学生の宿題
VBA > PowerShell, Bash > Ruby
これが分からない会社は、すべてのシステムをVBAで作って、
色々なモジュールを共通化して、
会社の資産にしてみたいに発展させていって、最後には破綻する
維持・保守コストが膨大になって、おまけに低品質で、誰も修正できなくなる
システムみたいなものは修正・保守必須で本格的なものだから、
Rubyみたいなプロ用の言語じゃないとダメ
ちょっとした秀丸マクロとか、そういうのはダメ。
適材適所・目的別最適化みたいな事を分かっていない会社が多すぎる
21デフォルトの名無しさん (スプッッ Sddf-wadS)
2022/02/11(金) 13:55:56.83ID:ZK+oZ0Mxd 不等号が逆な時点で説得力ゼロ
矢印のつもりなら、さらに頭が悪いとしか思わん
矢印のつもりなら、さらに頭が悪いとしか思わん
22デフォルトの名無しさん (ワッチョイ 9fda-zD41)
2022/02/11(金) 13:58:55.07ID:z1hZYaqu0 www
23デフォルトの名無しさん (ワッチョイ bfda-HF6V)
2022/02/11(金) 14:17:29.48ID:LtQN2K+P0 だってルビキチだもん
24デフォルトの名無しさん (ワッチョイ 1763-I0BZ)
2022/02/11(金) 14:33:23.73ID:uXHB2mBC0 無意味な喩えする奴頭悪いから嫌いなんだよね
25デフォルトの名無しさん (ワッチョイ b75f-6F+g)
2022/02/11(金) 14:47:23.80ID:4kl07p+n0 >>21
ほんとに逆なのお?
ほんとに逆なのお?
26デフォルトの名無しさん (スップ Sdbf-zD41)
2022/02/11(金) 14:48:15.45ID:AGDJERK+d そもそも自社開発するようなスキルを持ち合わせてるならそんな三択じゃない他のを選ぶだろうにw
RubyRuby言ってる人はそれしかできないのかね?w
RubyRuby言ってる人はそれしかできないのかね?w
27デフォルトの名無しさん (ブーイモ MM1b-wadS)
2022/02/11(金) 15:17:29.69ID:dkQ+i8pZM VBAもRubyもPwerShellもVSCodeも、片手間のちょっとしたツールを作るには便利だけど、がっつりアプリの開発には使えんわ
みんな同レベル
あとは適切に使い分けできるかという、使用者の頭脳レベルの問題
みんな同レベル
あとは適切に使い分けできるかという、使用者の頭脳レベルの問題
28デフォルトの名無しさん (スッップ Sdbf-HF6V)
2022/02/11(金) 15:23:45.94ID:+e4i5uLyd なんでVSCode出てきた
29デフォルトの名無しさん (ワッチョイ 1734-Iep5)
2022/02/11(金) 15:53:04.17ID:EfY4NLKC0 まだRubyキチガイ居るのか…
何年他の言語スレに粘着してるんだ
何年他の言語スレに粘着してるんだ
30デフォルトの名無しさん (ワッチョイ 9f01-gyD4)
2022/02/11(金) 16:07:37.46ID:1hOwJ8um0 お前らみたいに相手する奴居るからだろ…
31デフォルトの名無しさん (スップ Sdbf-zD41)
2022/02/11(金) 16:11:41.66ID:AGDJERK+d >>28
知ってるの並べただけでしょ
知ってるの並べただけでしょ
32デフォルトの名無しさん (ワッチョイ 9f7c-V4UE)
2022/02/11(金) 16:37:33.68ID:EYT5V/+O0 >>20
突っ走り過ぎ
何もできないとVBA出来るは違う
ないとあるはかなり違うんだよ
シロウトが自由にPCを動かせるようになるVBAには価値があると思うよ
VBAで不足と感じだしたら他言語化を模索するようになるんじゃないかな?
自分がそうだし
突っ走り過ぎ
何もできないとVBA出来るは違う
ないとあるはかなり違うんだよ
シロウトが自由にPCを動かせるようになるVBAには価値があると思うよ
VBAで不足と感じだしたら他言語化を模索するようになるんじゃないかな?
自分がそうだし
33デフォルトの名無しさん (ワッチョイ d78e-hIaH)
2022/02/11(金) 19:56:50.35ID:/HLRVZix0 オワコンRuby
34デフォルトの名無しさん (ワッチョイ 9f42-w6GL)
2022/02/11(金) 23:02:03.22ID:AZTvSWvg0 いつ始まってたの
35デフォルトの名無しさん (ワッチョイ 1610-OO4B)
2022/02/12(土) 10:46:52.90ID:TWE+IO3i0 C#、Python、Javascript、Rust辺りはともかく
Rubyはないわー
Rubyはないわー
36デフォルトの名無しさん (ワッチョイ 1f8e-ebC9)
2022/02/12(土) 12:29:03.80ID:zSrTwFpP0 Perlと同じく消えるRuby
37デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/12(土) 18:19:04.47ID:rN9arOXg0 >>34
10-15年ぐらい前は結構盛り上がってた気がする
PHPの代わりにサーバーはruby、pythonの代わりにrubyで計算、ゲームは・・・苦手だった気がする
色々できて便利な言語という触れ込みだった
で、総意は「ロクなライブラリもないし、器用貧乏な言語に変える必要がない」だった
10-15年ぐらい前は結構盛り上がってた気がする
PHPの代わりにサーバーはruby、pythonの代わりにrubyで計算、ゲームは・・・苦手だった気がする
色々できて便利な言語という触れ込みだった
で、総意は「ロクなライブラリもないし、器用貧乏な言語に変える必要がない」だった
38デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/12(土) 18:19:52.19ID:rN9arOXg0 しかし最後にこんなキチガイに言語を潰されるのは、さすがにちょっと不憫かなーとは思う
39デフォルトの名無しさん (ワッチョイ d6da-rCQD)
2022/02/12(土) 18:47:01.50ID:J0OyCaZ00 使いたければ黙って使っていればいいのにここに書くことじゃない
よそでやれ
よそでやれ
40デフォルトの名無しさん (ワッチョイ afd0-1uE6)
2022/02/12(土) 23:09:11.76ID:8DXM8GTy0 すみません、スレみて質問していいのかと思いましたが、相談に乗ってください。
予定の10日前になったらセルの色変え、
(予定日前まで色変えで)予定日、予定日以降は色無しとしたいのですが
どうすればいいでしょうか?
よろしくお願いします
予定の10日前になったらセルの色変え、
(予定日前まで色変えで)予定日、予定日以降は色無しとしたいのですが
どうすればいいでしょうか?
よろしくお願いします
41デフォルトの名無しさん (アウアウウー Sac3-jv/I)
2022/02/12(土) 23:11:31.31ID:IAH9YCSPa 条件付き書式が一番いい気がする
42デフォルトの名無しさん (ワッチョイ 632f-TxqZ)
2022/02/12(土) 23:18:33.99ID:FD8BwyjM043デフォルトの名無しさん (アウアウウー Sac3-u+HJ)
2022/02/13(日) 00:20:49.39ID:hyUOgQwKa >>20
言語の問題より可読性が問題だな。ワラワラ
言語の問題より可読性が問題だな。ワラワラ
44デフォルトの名無しさん (スップ Sd32-rCQD)
2022/02/13(日) 00:34:59.07ID:TIGHqVMSd >>40
スレチだけど上の人が言ってるように条件式書式ならこんな感じのを使えばいいかと
=AND(TODAY()-10<=RC,RC<TODAY())
これは日付の入っているセルに対して質問にあるような条件で色付けたりできるよ
※R1C1形式になってるので注意
スレチだけど上の人が言ってるように条件式書式ならこんな感じのを使えばいいかと
=AND(TODAY()-10<=RC,RC<TODAY())
これは日付の入っているセルに対して質問にあるような条件で色付けたりできるよ
※R1C1形式になってるので注意
45デフォルトの名無しさん (ワッチョイ afd0-1uE6)
2022/02/13(日) 07:35:55.02ID:P798zPao046デフォルトの名無しさん (スップ Sd52-Qiwb)
2022/02/14(月) 12:57:56.87ID:wZ5OVHUFd この画像みたいなExcelファイル(1枚目)をデータベース化する為に、情報を抽出して横並びに整理したい(2枚目)のですが、アドバイスいただきたいです。
行数や列数がそれぞれ異なり、罫線の枠内でも、変に結合や分割されており、関数のみでは対応しきれませんでした。
※元々がPDFでしか入力できないデータの為、それをExcel変換しているせいで構成が崩れています。
罫線の枠構成は崩れていない為、マクロで処理するとしたら、各セルの罫線を判定して、囲われた範囲の値を順番に取得していくしかないのかな?と思っています。
枠内の左上隅(左と上に罫線があるセル)から、右下隅(右と下に罫線があるセル)までの値を取得して連結、次の枠へ進む、という処理しか思いつかないのですが、他にいい案はあるでしょうか?
https://i.imgur.com/oMaEhvs.png
https://i.imgur.com/gnZIoe7.png
行数や列数がそれぞれ異なり、罫線の枠内でも、変に結合や分割されており、関数のみでは対応しきれませんでした。
※元々がPDFでしか入力できないデータの為、それをExcel変換しているせいで構成が崩れています。
罫線の枠構成は崩れていない為、マクロで処理するとしたら、各セルの罫線を判定して、囲われた範囲の値を順番に取得していくしかないのかな?と思っています。
枠内の左上隅(左と上に罫線があるセル)から、右下隅(右と下に罫線があるセル)までの値を取得して連結、次の枠へ進む、という処理しか思いつかないのですが、他にいい案はあるでしょうか?
https://i.imgur.com/oMaEhvs.png
https://i.imgur.com/gnZIoe7.png
47デフォルトの名無しさん (ワッチョイ 16da-B80Q)
2022/02/14(月) 13:06:54.20ID:O4GcyUrK048デフォルトの名無しさん (ワッチョイ 5eda-K+wn)
2022/02/14(月) 13:10:47.83ID:ecmIkoYm0 一度全ての結合解除するとかは?
同じ項目に相当する入力値の行き先が泣き別れたら終わるけども
同じ項目に相当する入力値の行き先が泣き別れたら終わるけども
49デフォルトの名無しさん (ワッチョイ ebce-B80Q)
2022/02/14(月) 13:31:47.44ID:33Tyeh9C0 >>46
ID以外に空欄がないのなら、データの区切り、たとえばB列の水平の罫線の位置だけ検出すればいい
あとはその範囲を左上から舐めて、空白セルを無視しながらデータを取り出すだけ
結合は全部解除した方がロジックは簡単になると思う
そんなに難しくない
テスト用のデータを用意するのが面倒だから、そのサンプルをエクセル形式かスプレッドシートにでも入れて公開してよ
ID以外に空欄がないのなら、データの区切り、たとえばB列の水平の罫線の位置だけ検出すればいい
あとはその範囲を左上から舐めて、空白セルを無視しながらデータを取り出すだけ
結合は全部解除した方がロジックは簡単になると思う
そんなに難しくない
テスト用のデータを用意するのが面倒だから、そのサンプルをエクセル形式かスプレッドシートにでも入れて公開してよ
50デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/14(月) 13:53:01.79ID:XTh2f6qa0 >>46
すげぇな!ここまでのは見たことないぞ
行数が同じなら、
C6:C11を文字列で結合すれば良いかと思ったけど
行数も違うのか
セル内改行したり、セルをわけたりで行数がバラバラなのね
やるなら、
C6 11111-11
c7 11111-12
C8 11111-21
C9 11111-22
・・・
みたいにすれば、まぁなんとか行けるかなと思う
今のままじゃ無理だ
すげぇな!ここまでのは見たことないぞ
行数が同じなら、
C6:C11を文字列で結合すれば良いかと思ったけど
行数も違うのか
セル内改行したり、セルをわけたりで行数がバラバラなのね
やるなら、
C6 11111-11
c7 11111-12
C8 11111-21
C9 11111-22
・・・
みたいにすれば、まぁなんとか行けるかなと思う
今のままじゃ無理だ
51デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/14(月) 13:58:47.62ID:XTh2f6qa0 と思ったら罫線を基準にすればいいのか
52デフォルトの名無しさん (アウアウウー Sac3-jv/I)
2022/02/14(月) 14:07:53.31ID:deGbjwUIa CSVで吐き出して
それを加工したほうが早くね?
それを加工したほうが早くね?
53デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/14(月) 14:16:38.09ID:XTh2f6qa0 csvにしたら大惨事だろう
54デフォルトの名無しさん (スップ Sd52-Qiwb)
2022/02/14(月) 14:28:40.98ID:wZ5OVHUFd いくつも返信ありがとうございます。
サンプルは後程公開しようと思います。
セル結合解除したらこうなります。
罫線範囲の左上に値があればまだマシなのですが、途中だったり分割されてたりがネックです。また、空白のセルも多々存在します。
VBA初心者の為、合理的な処理かは分かりませんが、今はこの矢印の順でセルを移動しながら、罫線の判定と値の取得する流れで考えています。
https://i.imgur.com/raK9Xyw.png
サンプルは後程公開しようと思います。
セル結合解除したらこうなります。
罫線範囲の左上に値があればまだマシなのですが、途中だったり分割されてたりがネックです。また、空白のセルも多々存在します。
VBA初心者の為、合理的な処理かは分かりませんが、今はこの矢印の順でセルを移動しながら、罫線の判定と値の取得する流れで考えています。
https://i.imgur.com/raK9Xyw.png
55デフォルトの名無しさん (ワッチョイ 12da-rCQD)
2022/02/14(月) 14:44:13.39ID:AWvjJcV30 https://atmarkit.itmedia.co.jp/ait/articles/2002/27/news011.html
↑ ここでは一旦Word経由で取り込めと勧めているが、果たして
にしても、 > ※元々がPDFでしか入力できないデータ とは?
PDFの原稿があって、その枠の中にテキスト貼り付ける方式なのか?
↑ ここでは一旦Word経由で取り込めと勧めているが、果たして
にしても、 > ※元々がPDFでしか入力できないデータ とは?
PDFの原稿があって、その枠の中にテキスト貼り付ける方式なのか?
56デフォルトの名無しさん (ワッチョイ ebce-B80Q)
2022/02/14(月) 14:53:57.21ID:33Tyeh9C057デフォルトの名無しさん (ワッチョイ ebce-B80Q)
2022/02/14(月) 14:55:08.92ID:33Tyeh9C0 >>55
最新のPDFには入力フォームを重ねる機能があるんよ
最新のPDFには入力フォームを重ねる機能があるんよ
58デフォルトの名無しさん (ワッチョイ ebce-B80Q)
2022/02/14(月) 14:59:16.98ID:33Tyeh9C059デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/14(月) 15:02:51.71ID:XTh2f6qa0 >>56
J21セル
J21セル
60デフォルトの名無しさん (ワッチョイ 16da-B80Q)
2022/02/14(月) 15:14:55.89ID:O4GcyUrK0 >>51
罫線を検知するVBAは、このあたり使うのかしら?
例えば「実線の下線縛り」だと
If Range("A5").Borders(xlEdgeBottom).LineStyle = xlContinuous Then
MsgBox "下線あり"
Else
MsgBox "下線なし"
End If
セルの上下左右も調べることになる?
http://chaichan.lolipop.jp/vbtips/VBMemo2009-01-072.htm
罫線を検知するVBAは、このあたり使うのかしら?
例えば「実線の下線縛り」だと
If Range("A5").Borders(xlEdgeBottom).LineStyle = xlContinuous Then
MsgBox "下線あり"
Else
MsgBox "下線なし"
End If
セルの上下左右も調べることになる?
http://chaichan.lolipop.jp/vbtips/VBMemo2009-01-072.htm
61デフォルトの名無しさん (ワッチョイ ebce-B80Q)
2022/02/14(月) 15:21:11.73ID:33Tyeh9C0 >>59
見落としてたごめん
見落としてたごめん
62デフォルトの名無しさん (ワッチョイ b763-/qOU)
2022/02/14(月) 15:47:34.87ID:nf+c+LFy0 PDFからExel変換がまともに出来てないから元のPDFからテキストデータ抜き出して処理した方が早い気がするなぁ
63デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/14(月) 15:52:40.41ID:XTh2f6qa0 >>60
下だけでいい
ってかはよサンプルくれ。サンプルなしでコード書くのあんまり好きやないんや
とりあえず下線の判定部分だけ置いとくぞ
Function 下線あり(target)
If target.Borders(xlEdgeBottom).LineStyle <> xlLineStyleNone Then
下線あり = True
Else
下線あり = False
End If
End Function
下だけでいい
ってかはよサンプルくれ。サンプルなしでコード書くのあんまり好きやないんや
とりあえず下線の判定部分だけ置いとくぞ
Function 下線あり(target)
If target.Borders(xlEdgeBottom).LineStyle <> xlLineStyleNone Then
下線あり = True
Else
下線あり = False
End If
End Function
64デフォルトの名無しさん (ワッチョイ 16da-B80Q)
2022/02/14(月) 16:25:13.19ID:O4GcyUrK065デフォルトの名無しさん (スップ Sd52-Qiwb)
2022/02/14(月) 16:50:56.63ID:wZ5OVHUFd >>55
word経由だったり、何種類かの変換ソフトを試したけど出来はほぼ変わりませんでした。
PDFの経緯ですが、他社のWEB上でのサービスにて個人情報等を登録管理しており、選択して出力する際にはPDF形式でしか出力できず、今回の悩みになっています。
word経由だったり、何種類かの変換ソフトを試したけど出来はほぼ変わりませんでした。
PDFの経緯ですが、他社のWEB上でのサービスにて個人情報等を登録管理しており、選択して出力する際にはPDF形式でしか出力できず、今回の悩みになっています。
66デフォルトの名無しさん (スップ Sd52-Qiwb)
2022/02/14(月) 16:52:00.24ID:wZ5OVHUFd サンプルです。
よろしくお願いします。
https://docs.google.com/spreadsheets/d/1KXHOGpa6GFBfFflosWycM_IsNS5P9gnk9m2eGG0uXLs/edit?usp=drivesdk
共有の仕方合ってるか不安ですが。。
よろしくお願いします。
https://docs.google.com/spreadsheets/d/1KXHOGpa6GFBfFflosWycM_IsNS5P9gnk9m2eGG0uXLs/edit?usp=drivesdk
共有の仕方合ってるか不安ですが。。
67デフォルトの名無しさん (ワッチョイ 1f8e-nldK)
2022/02/14(月) 17:08:51.74ID:xN/gSLrN068デフォルトの名無しさん (スップ Sd32-rCQD)
2022/02/14(月) 17:56:38.45ID:qxU338Vtd 画像見た感じだとそうめんどくさい話ではないかね
住所欄と連絡先欄の住所と電話番号をどういうルールで分解するかがわかれば変換は余裕かと
ただこの手の内容までこのスレで答えるのはいいように使われている感があっていやだなぁw
住所欄と連絡先欄の住所と電話番号をどういうルールで分解するかがわかれば変換は余裕かと
ただこの手の内容までこのスレで答えるのはいいように使われている感があっていやだなぁw
69デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/14(月) 18:16:24.84ID:XTh2f6qa0 住所の下に下線ない事に気づき、無事死亡
70デフォルトの名無しさん (ワッチョイ 16da-B80Q)
2022/02/14(月) 18:16:43.53ID:O4GcyUrK071デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/14(月) 18:19:08.21ID:XTh2f6qa0 更にこれ氏名でセルわかれてるんかーい
72デフォルトの名無しさん (スップ Sd52-Qiwb)
2022/02/14(月) 18:55:37.73ID:wZ5OVHUFd >>55
混乱させてすみません、PDFでしか「入手」できないデータの誤りでした。
サービス元からは、それ以外の形式での出力はできないとの回答の為、このExcelファイルをなんとか処理して使わざるを得ない状態です。
混乱させてすみません、PDFでしか「入手」できないデータの誤りでした。
サービス元からは、それ以外の形式での出力はできないとの回答の為、このExcelファイルをなんとか処理して使わざるを得ない状態です。
73デフォルトの名無しさん (ワッチョイ cbcc-piVT)
2022/02/14(月) 18:58:42.50ID:/RDvxF8W0 指定した日付から、その日付が1年間の第何週かを求めそれを引数にして、その週の月曜日と金曜日の日付を返す式を教えてください。
i = WeekNum(指定日)
date1 = 開始日(月曜日)
date2 = 終了日(金曜日)
i = WeekNum(指定日)
date1 = 開始日(月曜日)
date2 = 終了日(金曜日)
74デフォルトの名無しさん (スップ Sd32-rCQD)
2022/02/14(月) 19:33:13.83ID:qxU338Vtd >>73
・週の初めは何曜日基準?日曜日?月曜日?別の曜日?
・それを引数のそれって何?開始日(月曜日)の関数にiは使ってないのでは?指定日ではだめなの?
・仮に日曜日基準とした場合、2022年1月1日(土)の月曜日は2021年12月26日?それとも別の日?
・週の初めは何曜日基準?日曜日?月曜日?別の曜日?
・それを引数のそれって何?開始日(月曜日)の関数にiは使ってないのでは?指定日ではだめなの?
・仮に日曜日基準とした場合、2022年1月1日(土)の月曜日は2021年12月26日?それとも別の日?
75デフォルトの名無しさん (スップ Sd32-rCQD)
2022/02/14(月) 19:34:32.34ID:qxU338Vtd >>73
そもそもVBAの回答が知りたいの?それとも関数使ってなの?関数ならスレチですよ
そもそもVBAの回答が知りたいの?それとも関数使ってなの?関数ならスレチですよ
76デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/14(月) 19:35:02.10ID:XTh2f6qa077デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/14(月) 19:36:56.50ID:XTh2f6qa0 別に関数でもいいんじゃないの?
俺もコードの中にworksheetfunction使ってるし、気にしたらキリないわ
俺もコードの中にworksheetfunction使ってるし、気にしたらキリないわ
78デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/14(月) 19:41:40.69ID:XTh2f6qa079デフォルトの名無しさん (ワッチョイ 16da-B80Q)
2022/02/14(月) 19:45:27.38ID:O4GcyUrK0 >>66
ひとまず
元ファイルのセル結合を解除しないまま、
別ファイルからPower Queryでsheetをそのまま読込んで、
不要な行/列、空白、改行コードを削除したり
列を合体したりして、ある程度整理してみた。
https://i.imgur.com/8wCdbbJ.png
https://i.imgur.com/LvCak5M.png
やっぱ、どの行までが1個体のデータなのか判別がつかないので、
ここから先は難しい。
それが特定できればsheet上のテーブルの右側に列足して
M言語でなく、使い慣れたExcelのIF関数や文字列関数使って
拾っていくことも出来そうなんだけど・・・
先にVBAで罫線判別して各行にフラグでも立てることが必要っぽい。
>>63 氏に期待
ひとまず
元ファイルのセル結合を解除しないまま、
別ファイルからPower Queryでsheetをそのまま読込んで、
不要な行/列、空白、改行コードを削除したり
列を合体したりして、ある程度整理してみた。
https://i.imgur.com/8wCdbbJ.png
https://i.imgur.com/LvCak5M.png
やっぱ、どの行までが1個体のデータなのか判別がつかないので、
ここから先は難しい。
それが特定できればsheet上のテーブルの右側に列足して
M言語でなく、使い慣れたExcelのIF関数や文字列関数使って
拾っていくことも出来そうなんだけど・・・
先にVBAで罫線判別して各行にフラグでも立てることが必要っぽい。
>>63 氏に期待
80デフォルトの名無しさん (ワッチョイ 16da-B80Q)
2022/02/14(月) 19:46:56.80ID:O4GcyUrK0 あ、
>>63 氏、出来たのね。
>>63 氏、出来たのね。
81デフォルトの名無しさん (ラクッペペ MMde-HxmU)
2022/02/14(月) 19:47:44.47ID:TbpPq1WHM pdfからの変換で毎回セル位置が変わるのか?
変わらないなら一回参照シート作るだけじゃね?
変わらないなら一回参照シート作るだけじゃね?
82デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/14(月) 19:53:08.06ID:XTh2f6qa083デフォルトの名無しさん (アウアウウー Sac3-jv/I)
2022/02/14(月) 19:54:22.25ID:/oecZUEba84デフォルトの名無しさん (ワッチョイ 47da-gYPf)
2022/02/15(火) 02:26:45.53ID:yR4VR0Kt0 Excel板の住人が発狂して荒らしてくるから関数はダメかも
85デフォルトの名無しさん (ワッチョイ 92ad-waOb)
2022/02/15(火) 03:38:15.06ID:6BbZ47hN0 Fomuraでvbaでセルに
関数放り込んでやれば
関数放り込んでやれば
86デフォルトの名無しさん (スップ Sd52-Qiwb)
2022/02/15(火) 08:44:43.33ID:H1nNFxJWd87デフォルトの名無しさん (スップ Sd52-Qiwb)
2022/02/15(火) 08:49:44.20ID:H1nNFxJWd >>76
本当にありがとうございます。
サンプルの方では問題なく処理されるのを確認できました。
自身が書いたらもっと長々しくぐちゃぐちゃになっていたと思うので、すっきりまとまっていて素晴らしいと思います。
For Each 個人列 In Array(3, 4, 9, 10, 11, 15)
ここは列は固定の指定になっていたのですが、ファイルによっては列もバラバラなので、最初に文字列検索で列を調べてから処理に入るように変えていきたいと思います。
皆さん本当にありがとうございました。
本当にありがとうございます。
サンプルの方では問題なく処理されるのを確認できました。
自身が書いたらもっと長々しくぐちゃぐちゃになっていたと思うので、すっきりまとまっていて素晴らしいと思います。
For Each 個人列 In Array(3, 4, 9, 10, 11, 15)
ここは列は固定の指定になっていたのですが、ファイルによっては列もバラバラなので、最初に文字列検索で列を調べてから処理に入るように変えていきたいと思います。
皆さん本当にありがとうございました。
88デフォルトの名無しさん (スッップ Sd32-5szE)
2022/02/15(火) 13:36:45.93ID:mFkQACiCd レセコンのデータだろ
89デフォルトの名無しさん (ワッチョイ b707-75kg)
2022/02/15(火) 16:04:21.44ID:aiSHqaBU0 A〜K列にデータを入力しているシートで、C列にデータがある場合のみその行をコピーする、という動作をさせるには
どう記述すればいいでしょうか?
どう記述すればいいでしょうか?
90デフォルトの名無しさん (ブーイモ MM32-j2zp)
2022/02/15(火) 17:39:01.90ID:6Pf72uqdM if文でC列に入力があるかを判定すれば良い
コピーする行はC列に入力がある全ての行か?それとも一番最初のものだけか?またはカーソルがある位置だけを対象にするのか?
もう少し細かく仕様を書いてくれた方が導きやすいぞ
コピーする行はC列に入力がある全ての行か?それとも一番最初のものだけか?またはカーソルがある位置だけを対象にするのか?
もう少し細かく仕様を書いてくれた方が導きやすいぞ
91デフォルトの名無しさん (ワッチョイ ebce-B80Q)
2022/02/15(火) 17:39:49.61ID:zxh7HcNj0 >>89
If Range("C1").Text <> "" Then Range("A1:K1").Copy
If Range("C1").Text <> "" Then Range("A1:K1").Copy
92デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/15(火) 18:55:31.55ID:MJaSxl0D0 >>89
オートフィルタで空白以外にして、コピーペースト
Sub Macro1()
最終行 = Cells(Rows.Count, 1).End(xlUp).Row
'オートフィルタの後にコピー
Range(Cells(1, 1), Cells(最終行, 11)).AutoFilter
ActiveSheet.Range("$A$1:$K$6").AutoFilter Field:=3, Criteria1:="<>"
Columns("A:K").Select
Selection.Copy
'mに貼り付けてフィルタ解除
Range("M1").PasteSpecial
Application.CutCopyMode = False
Selection.AutoFilter
End Sub
オートフィルタで空白以外にして、コピーペースト
Sub Macro1()
最終行 = Cells(Rows.Count, 1).End(xlUp).Row
'オートフィルタの後にコピー
Range(Cells(1, 1), Cells(最終行, 11)).AutoFilter
ActiveSheet.Range("$A$1:$K$6").AutoFilter Field:=3, Criteria1:="<>"
Columns("A:K").Select
Selection.Copy
'mに貼り付けてフィルタ解除
Range("M1").PasteSpecial
Application.CutCopyMode = False
Selection.AutoFilter
End Sub
93デフォルトの名無しさん (ワッチョイ b707-75kg)
2022/02/16(水) 09:01:55.23ID:r3Bj6a+b094デフォルトの名無しさん (ワッチョイ 0b30-v0o9)
2022/02/16(水) 21:42:26.46ID:jzL/oN3O0 選択した範囲のセルから、「セルの色」と「文字」で絞った数を調べたいのですが、どのように書けば宜しいでしょうか?
(色に関しては、指定したセルの色を参照したいです。)
例:A1〜D10の中で、E1と同じ色で、「テスト」と書かれているセルの数
みたいなことです。
出来ればグーグルのスプレッドシートでも使いたいです…
(色に関しては、指定したセルの色を参照したいです。)
例:A1〜D10の中で、E1と同じ色で、「テスト」と書かれているセルの数
みたいなことです。
出来ればグーグルのスプレッドシートでも使いたいです…
95デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/16(水) 22:02:32.25ID:tqdkY3B80 >>94
GASは全然書けないんだよなぁ
Sub foo()
Set 検索範囲 = Range("a1:d10")
Set 検索 = Range("e1")
カウント = 0
For Each test In 検索範囲
If test.Interior.Color = 検索.Interior.Color And _
test.Value = 検索.Value Then
カウント = カウント + 1
End If
Next
MsgBox カウント
End Sub
GASは全然書けないんだよなぁ
Sub foo()
Set 検索範囲 = Range("a1:d10")
Set 検索 = Range("e1")
カウント = 0
For Each test In 検索範囲
If test.Interior.Color = 検索.Interior.Color And _
test.Value = 検索.Value Then
カウント = カウント + 1
End If
Next
MsgBox カウント
End Sub
96デフォルトの名無しさん (ワッチョイ 632f-TxqZ)
2022/02/16(水) 22:17:26.65ID:VM6eHjoj0 >>94
べたに指定範囲のセルをループ回して比較すればいいんじゃね
Sub test()
MsgBox CountX(Range("A1:D10"), Range("E1"), "テスト")
End Sub
Function CountX(target As Range, colorCell As Range, str As String)
Dim count As Integer
Dim c As Range
For Each c In target
Debug.Print c.Interior.color
If c.Text = str And c.Interior.color = colorCell.Interior.color Then
count = count + 1
End If
Next
CountX = count
End Function
こんな感じか
べたに指定範囲のセルをループ回して比較すればいいんじゃね
Sub test()
MsgBox CountX(Range("A1:D10"), Range("E1"), "テスト")
End Sub
Function CountX(target As Range, colorCell As Range, str As String)
Dim count As Integer
Dim c As Range
For Each c In target
Debug.Print c.Interior.color
If c.Text = str And c.Interior.color = colorCell.Interior.color Then
count = count + 1
End If
Next
CountX = count
End Function
こんな感じか
97デフォルトの名無しさん (ワッチョイ 632f-TxqZ)
2022/02/16(水) 22:19:34.63ID:VM6eHjoj0 ああ、ほぼ被った上にDebug消し忘れてる
98デフォルトの名無しさん (スップ Sd32-OUII)
2022/02/17(木) 15:22:29.06ID:BBg74W1Zd fileSystemObjetを使うときに下のコードのようにインスタンスを格納する変数を省略できるのはなぜですか?
ひょっとしてwithでくくるときに一時的に作られる変数にでもいれているのでしょうか?
with New fileSystemObject
ステートメント
End With
ひょっとしてwithでくくるときに一時的に作られる変数にでもいれているのでしょうか?
with New fileSystemObject
ステートメント
End With
99デフォルトの名無しさん (ワッチョイ 1201-iAv0)
2022/02/17(木) 15:49:10.52ID:Lj9EVaDX0100デフォルトの名無しさん (ワッチョイ ebce-B80Q)
2022/02/17(木) 16:14:35.03ID:8LWMZH0T0101デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/17(木) 16:21:30.38ID:lbVsnXnA0 このwithが参照してるオブジェクトって確認する方法ありますか?
Sub foo()
With Cells(1, 1)
Debug.Print .Value
End With
End Sub
とりあえずウォッチ式に「.value」入れてみてもエラーで見れなかった
with と入れてもエラー
どこに格納されているんだろう
Sub foo()
With Cells(1, 1)
Debug.Print .Value
End With
End Sub
とりあえずウォッチ式に「.value」入れてみてもエラーで見れなかった
with と入れてもエラー
どこに格納されているんだろう
102デフォルトの名無しさん (ワッチョイ ebce-B80Q)
2022/02/17(木) 17:02:27.81ID:8LWMZH0T0 >>101
VBだとGetTypeで取得できるんだけど、VBAにはないね
VBだとGetTypeで取得できるんだけど、VBAにはないね
103デフォルトの名無しさん (ワッチョイ 632f-bORD)
2022/02/17(木) 19:16:24.68ID:uTvXTdo20104デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/17(木) 20:01:56.20ID:lbVsnXnA0105デフォルトの名無しさん (スップ Sd52-Qiwb)
2022/02/17(木) 20:37:40.67ID:oZh0IyxXd 配列に値を保存しておいて、別シートの特定セル範囲に値を入れたいんだけど、
Worksheets("シート名").Range("A1:A10").Value =配列
だとエラーが出ます。
仕方なく、シート移動してから
Range("A1:A10").Value =配列
で値を入れてから元シートに戻る処理をしてるんですが、他にいい方法ありませんか?
Worksheets("シート名").Range("A1:A10").Value =配列
だとエラーが出ます。
仕方なく、シート移動してから
Range("A1:A10").Value =配列
で値を入れてから元シートに戻る処理をしてるんですが、他にいい方法ありませんか?
106デフォルトの名無しさん (ワッチョイ 03fd-j2zp)
2022/02/17(木) 20:39:35.05ID:rEGDS72/0 何てエラーが出る?
107デフォルトの名無しさん (ワッチョイ 335f-VJpi)
2022/02/17(木) 20:43:06.54ID:od7uaDdG0 なんのエラーか分からんから手っ取り早いのは
先にWorksheets("シート名").activateしておけば
先にWorksheets("シート名").activateしておけば
108デフォルトの名無しさん (スップ Sd52-Qiwb)
2022/02/17(木) 20:52:49.10ID:oZh0IyxXd 曖昧な情報ですみませんでした。
WorkSheets(”シート名”).Range(cell(変数,1),cell(変数,20)).Value =配列
だと
実行時エラー'1004':
アプリケーション定義またはオブジェクト定義のエラーです。
となります。
Worksheets("シート名").activate
Range以下同じ
だと正常に動作します。
数百のデータ取得転記なので、可能であればシート移動は減らしたいと考えています。
WorkSheets(”シート名”).Range(cell(変数,1),cell(変数,20)).Value =配列
だと
実行時エラー'1004':
アプリケーション定義またはオブジェクト定義のエラーです。
となります。
Worksheets("シート名").activate
Range以下同じ
だと正常に動作します。
数百のデータ取得転記なので、可能であればシート移動は減らしたいと考えています。
109デフォルトの名無しさん (テテンテンテン MMde-FK1Z)
2022/02/17(木) 20:56:15.04ID:4vzfA+8GM Rangeの後のCellsにもシート指定が必要
110デフォルトの名無しさん (ワッチョイ 9242-YeJ5)
2022/02/17(木) 21:03:41.49ID:lNAQUSmM0 それ案外忘れやすいよな
111デフォルトの名無しさん (ワッチョイ 1201-iAv0)
2022/02/17(木) 21:06:37.67ID:Lj9EVaDX0112デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/17(木) 21:19:48.40ID:lbVsnXnA0113デフォルトの名無しさん (スップ Sd52-Qiwb)
2022/02/17(木) 21:56:36.84ID:bEhlAQ9Hd114デフォルトの名無しさん (ワッチョイ 1201-iAv0)
2022/02/17(木) 22:14:24.38ID:Lj9EVaDX0 >>113
シートへの読み書きはかなり遅いからデータが大量にある時は配列に一気に読出して配列上で処理して一気にシートに書出すのは定番の高速化手法
シートへの読み書きはかなり遅いからデータが大量にある時は配列に一気に読出して配列上で処理して一気にシートに書出すのは定番の高速化手法
115デフォルトの名無しさん (スップ Sd52-Qiwb)
2022/02/17(木) 22:24:21.56ID:bEhlAQ9Hd 1人30項目×数百人だったので、まずは1人分を配列に入れて転記するようにしただけで数倍早くなりました。
このようなケースだと、さらに30×人数全てまとめて配列に入れて転記するものなんでしょうか?
このようなケースだと、さらに30×人数全てまとめて配列に入れて転記するものなんでしょうか?
116デフォルトの名無しさん (ワッチョイ 1201-iAv0)
2022/02/17(木) 22:29:04.03ID:Lj9EVaDX0 ケースバイケースだけど30列×数百行程度なら全体を一気に読み書きしてもいいと思う
117デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/17(木) 23:14:43.35ID:lbVsnXnA0 >>115
数倍といっても、1秒が0.1秒になっても、実質何も変わってないのと同じ
そのためになれない配列を使ってコードを書く時間が5分長くなるようなら、そんな最適化はせんでいいってことになる
30分が3分になるなら、やったほうが良いだろう
要は総合的に見て、全体的な時間が減るなら最適化したほうが良い
死ぬほど暇なら、暇なときにどんどんやっておけば、忙しくなったときに余裕が出る
数倍といっても、1秒が0.1秒になっても、実質何も変わってないのと同じ
そのためになれない配列を使ってコードを書く時間が5分長くなるようなら、そんな最適化はせんでいいってことになる
30分が3分になるなら、やったほうが良いだろう
要は総合的に見て、全体的な時間が減るなら最適化したほうが良い
死ぬほど暇なら、暇なときにどんどんやっておけば、忙しくなったときに余裕が出る
118デフォルトの名無しさん (ワッチョイ 9242-YeJ5)
2022/02/18(金) 00:01:31.11ID:kIxJDUOP0 1秒と0.1秒の体感時間の差は意外とでかいぞ
短くできるならしたほうがいいわ
短くできるならしたほうがいいわ
119デフォルトの名無しさん (ワッチョイ ebce-B80Q)
2022/02/18(金) 03:42:39.82ID:E/I/ujWM0 >>115
プログラムを大幅に書き換えなくても、再描画と再計算とイベントを止めるだけで速くなることもあるんでいっぺん試してみ
プログラムを大幅に書き換えなくても、再描画と再計算とイベントを止めるだけで速くなることもあるんでいっぺん試してみ
120デフォルトの名無しさん (ワッチョイ 124f-OO4B)
2022/02/18(金) 06:33:19.64ID:uvosISh90 >>104
Withはそういうもんだと割り切るしかない。
VB系以外で見たことないからVB系特有なもんだと思う。
昔、旧VB6のスレでWith NewってやるとC#のUsingみたいにEnd Withで勝手にObjectの開放してくれるので、
そういう使い方をするコードが書かれたとき賛否両論だったのを覚えてる。
Withも、もしVB系の言語が将来生き続けることになっていたら負の遺産みたいに言われていたかも知れないけど、
Visual Studio CoreでマイクロソフトもVB.Netはもう発展させないことを明言しているから
そっちの開発している人は適当なところで別言語やるようになるだろうね。
Withはそういうもんだと割り切るしかない。
VB系以外で見たことないからVB系特有なもんだと思う。
昔、旧VB6のスレでWith NewってやるとC#のUsingみたいにEnd Withで勝手にObjectの開放してくれるので、
そういう使い方をするコードが書かれたとき賛否両論だったのを覚えてる。
Withも、もしVB系の言語が将来生き続けることになっていたら負の遺産みたいに言われていたかも知れないけど、
Visual Studio CoreでマイクロソフトもVB.Netはもう発展させないことを明言しているから
そっちの開発している人は適当なところで別言語やるようになるだろうね。
121デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/18(金) 08:19:03.35ID:v2iRKHri0122デフォルトの名無しさん (ワッチョイ 1201-iAv0)
2022/02/18(金) 09:18:41.84ID:k4bZDTy80123デフォルトの名無しさん (スッップ Sd32-OUII)
2022/02/18(金) 15:45:36.50ID:Sc8nOBZDd >>99>>100
すっきりしました。ありがとうございました
すっきりしました。ありがとうございました
124デフォルトの名無しさん (ラクッペペ MMde-HxmU)
2022/02/18(金) 16:04:07.81ID:+5TWcNgJM C++系でクラスメンバーに _ 付けたりするよりは . 強制のVB のがわかりやすい
125デフォルトの名無しさん (ワッチョイ 47da-gYPf)
2022/02/18(金) 16:12:26.42ID:mnS8isni0 VBとVBAを混同してしまう
126デフォルトの名無しさん (ワッチョイ 1610-0LUY)
2022/02/18(金) 17:12:34.16ID:9dJRbxWs0 VB更新止めるならビジュべー7作ったらVBAからの乗り換えで大人気になるかも
本職の人は発狂しそうだけど
本職の人は発狂しそうだけど
127デフォルトの名無しさん (ワッチョイ 6368-B80Q)
2022/02/18(金) 17:40:13.70ID:v2iRKHri0 ならんよ
128デフォルトの名無しさん (ワッチョイ 1610-0LUY)
2022/02/18(金) 18:34:46.08ID:9dJRbxWs0 >>127
4文字で撃破 笑
4文字で撃破 笑
129デフォルトの名無しさん (ワッチョイ 335f-VJpi)
2022/02/18(金) 21:31:15.96ID:/GJYcSex0 イベントでメッセージボックス起動するだけじゃ
進む戻るの履歴は消えないんだな
良かった良かった
進む戻るの履歴は消えないんだな
良かった良かった
130デフォルトの名無しさん (テテンテンテン MM7f-x/Go)
2022/02/19(土) 00:17:14.09ID:mx39evoXM RelaxTools AddinからTortoiseSVNに繋げる方法が
バージョン管理の手法としての最善策ですか?
バージョン管理の手法としての最善策ですか?
131デフォルトの名無しさん (ワッチョイ 7368-9yE7)
2022/02/19(土) 01:15:29.08ID:1GYJVttN0 そういやvbaでバージョン管理っていい方法あるのかな
ドロップボックスに丸投げしてるからよく知らないや
ドロップボックスに丸投げしてるからよく知らないや
132デフォルトの名無しさん (ワッチョイ 732f-mvUX)
2022/02/19(土) 02:51:28.34ID:evvGZLor0 昔はOFFICE DEVELOPERとかいうのがあって、たしかVSSだったと思うがバージョン管理できた
ACCESSとか2007ぐらいまではTFSにつなぐアドインもあった
この辺の仕組みって、基本的にはソース管理プロパイダで差し替えできるようになってたはずなんだがなぁ
あんまり情報もないんだよな
ACCESSとか2007ぐらいまではTFSにつなぐアドインもあった
この辺の仕組みって、基本的にはソース管理プロパイダで差し替えできるようになってたはずなんだがなぁ
あんまり情報もないんだよな
133デフォルトの名無しさん (ワッチョイ cfda-+91V)
2022/02/19(土) 05:57:33.40ID:GK0tMJPG0 Microsoft製バージョン管理システム
VSS(ソース管理はVSS)
↓
TFS(ソース管理はTFSまたはVSS)
↓
AzureDevOps(ソース管理はGitまたはTFS)
VSS(ソース管理はVSS)
↓
TFS(ソース管理はTFSまたはVSS)
↓
AzureDevOps(ソース管理はGitまたはTFS)
134デフォルトの名無しさん (ラクッペペ MM7f-xerH)
2022/02/19(土) 07:12:39.37ID:sDFYuIo+M TFS(TeamFoundationServer)は製品名
ソース管理はTFVC(TeamFoundationVersionControl)
ソース管理はTFVC(TeamFoundationVersionControl)
135デフォルトの名無しさん (ワッチョイ cfda-+91V)
2022/02/19(土) 07:37:52.31ID:GK0tMJPG0 >>134
間違った理解で適当なこと書き込んですまなかった
確かにTFVCと呼ぶ方が正しいな
https://i.imgur.com/m6FXGvC.png
https://docs.microsoft.com/ja-jp/azure/devops/repos/tfvc/comparison-git-tfvc?view=azure-devops-2020
間違った理解で適当なこと書き込んですまなかった
確かにTFVCと呼ぶ方が正しいな
https://i.imgur.com/m6FXGvC.png
https://docs.microsoft.com/ja-jp/azure/devops/repos/tfvc/comparison-git-tfvc?view=azure-devops-2020
136デフォルトの名無しさん (ワッチョイ 8363-W9j5)
2022/02/19(土) 09:03:14.67ID:5qKPM2PV0 SVNで間に合ってる
137デフォルトの名無しさん (ブーイモ MM7f-D0iV)
2022/02/19(土) 09:23:14.09ID:VKF1jqEnM 時々のマクロファイル保存で間に合ってる
138デフォルトの名無しさん (ワッチョイ 7368-9yE7)
2022/02/19(土) 10:11:08.00ID:1GYJVttN0 vbaでそんな巨大プロジェクト作らないから、ドロップボックスでいいかな・・・
139デフォルトの名無しさん (ワッチョイ cf10-E9Rx)
2022/02/19(土) 10:47:12.21ID:1AFURcFW0 マイクロソフト製品なんだから
One Driveでいいだろ
One Driveでいいだろ
140デフォルトの名無しさん (ワッチョイ cfda-mA98)
2022/02/19(土) 11:07:16.61ID:gdvHyp150 ちゃんとやるのは最初だけ
141デフォルトの名無しさん (ワッチョイ 7368-9yE7)
2022/02/19(土) 11:11:58.36ID:1GYJVttN0 One Driveはバグが多すぎるから絶対に無理w
142デフォルトの名無しさん (ワッチョイ 035f-790q)
2022/02/19(土) 11:33:30.74ID:7kiLsofr0 バージョン管理なんてエクセルファイル名にver1.0とか含めておけばいいんじゃないの?
143デフォルトの名無しさん (ワッチョイ 7368-9yE7)
2022/02/19(土) 11:37:15.90ID:1GYJVttN0 売上報告_最新_最終版コピー(2)_old決定版.xlsm
144デフォルトの名無しさん (ワッチョイ ff01-bFjU)
2022/02/19(土) 11:54:53.81ID:x/upE6G90 >>141
どんなバグがあるの?
どんなバグがあるの?
145デフォルトの名無しさん (ワッチョイ 7368-9yE7)
2022/02/19(土) 12:05:18.04ID:1GYJVttN0146デフォルトの名無しさん (ワッチョイ a323-x/Go)
2022/02/19(土) 14:20:31.32ID:4xnJtOkW0 回答を待たずに見切り発車でTortoiseSVNを導入しようとして
サーバーエラーの解決ができずに数時間のたうち回っている
バージョン管理なんておいらには高等技術過ぎたかもしれねぇ…
サーバーエラーの解決ができずに数時間のたうち回っている
バージョン管理なんておいらには高等技術過ぎたかもしれねぇ…
147デフォルトの名無しさん (ワッチョイ ff01-bFjU)
2022/02/19(土) 14:35:17.05ID:x/upE6G90 >>145
同期関連か、まあそれを信用するのは時期尚早やな
同期関連か、まあそれを信用するのは時期尚早やな
148デフォルトの名無しさん (ワッチョイ 7368-9yE7)
2022/02/19(土) 15:26:08.63ID:1GYJVttN0 >>146
TortoiseSVNは割とガチ環境。導入のハードル高いからマジでやめたほうがいいぞ
ドロップボックスか、googleドライブに同期させておくぐらいがちょうど良い
バージョン管理って大層なものを導入しなくても、
コードの中に「xxまで実装した。残りyy」みたいに書いておけば
それなりに使いやすいバックアップになる
どうせVBAなんてブランチ切るとかそんなことしないから一本道でヘーキヘーキ
TortoiseSVNは割とガチ環境。導入のハードル高いからマジでやめたほうがいいぞ
ドロップボックスか、googleドライブに同期させておくぐらいがちょうど良い
バージョン管理って大層なものを導入しなくても、
コードの中に「xxまで実装した。残りyy」みたいに書いておけば
それなりに使いやすいバックアップになる
どうせVBAなんてブランチ切るとかそんなことしないから一本道でヘーキヘーキ
149デフォルトの名無しさん (ワッチョイ 7368-9yE7)
2022/02/19(土) 15:26:52.07ID:1GYJVttN0 なお俺もTortoiseSVN挑戦して挫折した一人
かなり癖あった気がする
かなり癖あった気がする
150デフォルトの名無しさん (ワッチョイ 732f-hSEA)
2022/02/19(土) 15:41:34.88ID:evvGZLor0 まあいまどきならgitが楽でいいんじゃね
サーバ側でなにもしないならファイル共有さえすればバージョン管理サーバとして使える
VBAはエクスポートしてバージョン管理だな。そこまでする必要があるものは少ないけど
>>142
エクセル丸ごとで管理するだけならな
ソースの修正箇所の履歴とか差分とかとるときにバージョン管理が必要なんだよ
サーバ側でなにもしないならファイル共有さえすればバージョン管理サーバとして使える
VBAはエクスポートしてバージョン管理だな。そこまでする必要があるものは少ないけど
>>142
エクセル丸ごとで管理するだけならな
ソースの修正箇所の履歴とか差分とかとるときにバージョン管理が必要なんだよ
151デフォルトの名無しさん (ワッチョイ ff01-bFjU)
2022/02/19(土) 16:13:02.46ID:x/upE6G90 >>146
自分一人で使うならサーバーなんて要らんよ
リポジトリをローカルファイルシステムに作ればいいだけ
外部参照とかの一部の機能が使えなくなるけど
具体的な操作は流石にスレチだから聞きたいならこちらで
バージョン管理システムについて語るスレ10
https://mevius.5ch.net/test/read.cgi/tech/1393147031/
自分一人で使うならサーバーなんて要らんよ
リポジトリをローカルファイルシステムに作ればいいだけ
外部参照とかの一部の機能が使えなくなるけど
具体的な操作は流石にスレチだから聞きたいならこちらで
バージョン管理システムについて語るスレ10
https://mevius.5ch.net/test/read.cgi/tech/1393147031/
152デフォルトの名無しさん (ワッチョイ 8363-W9j5)
2022/02/19(土) 16:22:07.18ID:5qKPM2PV0 TortoiseSVNはクライアントだよぉ
サーバーわかんないならgit hub使えば良いんでない?
サーバーわかんないならgit hub使えば良いんでない?
153デフォルトの名無しさん (ワッチョイ 6fda-ZHzO)
2022/02/19(土) 16:40:13.61ID:71RYd9t40 gitとsvnはなんか概念違うから最初にsvnから入るとgitが分かりにくくなるって聞くな
154デフォルトの名無しさん (ドコグロ MMff-bFjU)
2022/02/19(土) 16:57:02.53ID:V3h8uUoVM 概念というかポリシーが違うから馴染めないというのはあると思う
Linux みたいな巨大なアプリでなきゃ SVN の速度でもたいして困らんし
Linux みたいな巨大なアプリでなきゃ SVN の速度でもたいして困らんし
155デフォルトの名無しさん (ワッチョイ c3da-le4M)
2022/02/19(土) 17:18:28.82ID:PJU9YEhh0 Excel板覗いてきたけど、関数を入力するときに=+って入力している人がいた。それはマニアな人だよね?
156デフォルトの名無しさん (ワッチョイ 7368-9yE7)
2022/02/19(土) 17:37:22.02ID:1GYJVttN0 >>155
それ俺なんだけど、
・「=」の売り間違えが嫌い
・「+」は絶対に打ち間違えない
ので、
数式は
+A1-B1
と入力してる
excelの仕様上、+で始まっている数式には更に=が追加される模様
それ俺なんだけど、
・「=」の売り間違えが嫌い
・「+」は絶対に打ち間違えない
ので、
数式は
+A1-B1
と入力してる
excelの仕様上、+で始まっている数式には更に=が追加される模様
157デフォルトの名無しさん (ワッチョイ ffda-mA98)
2022/02/19(土) 17:56:27.92ID:sU8KQZKj0 世の中に絶対など無い・ある どっち?
158デフォルトの名無しさん (ワッチョイ 7310-WrmN)
2022/02/19(土) 17:59:47.25ID:8XK4gjnm0 ない
159デフォルトの名無しさん (ワッチョイ c3da-le4M)
2022/02/19(土) 18:11:04.25ID:PJU9YEhh0 たまに+で入力している人見るから。ちょっと思い出して
160ハノン ◆QZaw55cn4c (ワッチョイ 6f66-864q)
2022/02/19(土) 18:48:24.57ID:wlwakG6U0 >>148
私はドロップボックスに RCS のレポジトリを置いていたのですがユーザー認証が厳しくなったときにレポジトリ全部がおじゃんになってしまいました、これは痛い、痛すぎる…
もう懲りてバージョン管理システムを使わなくなってしまった…
そろそろ git をはじめようかと思案中です
私はドロップボックスに RCS のレポジトリを置いていたのですがユーザー認証が厳しくなったときにレポジトリ全部がおじゃんになってしまいました、これは痛い、痛すぎる…
もう懲りてバージョン管理システムを使わなくなってしまった…
そろそろ git をはじめようかと思案中です
161デフォルトの名無しさん (ワッチョイ a301-Xmkg)
2022/02/19(土) 18:58:23.53ID:lALNUlVh0 絶対など絶対にない!
162デフォルトの名無しさん (ワッチョイ cfda-fLiC)
2022/02/19(土) 21:45:46.48ID:gdvHyp150 絶体絶命でも死なない
163デフォルトの名無しさん (ワッチョイ ff7c-MlWD)
2022/02/21(月) 01:45:01.56ID:OrVm1a1F0 絶対領域ならある
164デフォルトの名無しさん (ワッチョイ 13ce-9yE7)
2022/02/21(月) 02:37:10.15ID:i+Nk/hZw0 絶対可憐
165デフォルトの名無しさん (ワッチョイ cfda-le4M)
2022/02/21(月) 02:52:14.84ID:OIlsWcuQ0 絶対音感の自分が通りますよ
166デフォルトの名無しさん (ワッチョイ a301-Xmkg)
2022/02/21(月) 06:15:17.92ID:9b7axwXE0 絶対運命黙示録
167デフォルトの名無しさん (ワッチョイ ff42-eCV9)
2022/02/21(月) 08:43:58.11ID:uSPFSI8K0 絶体絶命
168デフォルトの名無しさん (ワッチョイ 6f14-F7/t)
2022/02/21(月) 09:01:35.23ID:n81sYxUz0 絶対なんて言葉、VBA上では絶対値くらいちゃうの?
複数Shape並べる時とかの座標を絶対値にするかLoop中の計算追い寸にするかいつも迷う
複数Shape並べる時とかの座標を絶対値にするかLoop中の計算追い寸にするかいつも迷う
169デフォルトの名無しさん (ワッチョイ 13ce-9yE7)
2022/02/21(月) 10:12:19.05ID:i+Nk/hZw0 絶対参照⇔相対参照ってのもあるぞ
現実に「絶対」はないとされてるけど、コンピューターの世界では割とよく出てくる言葉の一つ
現実に「絶対」はないとされてるけど、コンピューターの世界では割とよく出てくる言葉の一つ
170デフォルトの名無しさん (ブーイモ MMa7-MlWD)
2022/02/21(月) 13:18:00.34ID:zel+kn1IM >>169
その絶対は意味合いが違うと思うぞ
その絶対は意味合いが違うと思うぞ
171デフォルトの名無しさん (ラクッペペ MM7f-bsm9)
2022/02/21(月) 13:31:12.92ID:2STuN7VvM 絶対零度を超えると時間が巻き戻るからな
172デフォルトの名無しさん (ブーイモ MMff-9yE7)
2022/02/21(月) 13:49:17.52ID:V2QoZaN/M 絶対値、絶対音感、絶対領域は形容詞
絶対参照、絶体絶命は形容動詞
区別する方法は、後半が動詞になるかどうか、つまり「参照する」「絶命する」はあるけど「音感する」「領域する」とは言わない
絶対参照、絶体絶命は形容動詞
区別する方法は、後半が動詞になるかどうか、つまり「参照する」「絶命する」はあるけど「音感する」「領域する」とは言わない
173デフォルトの名無しさん (アウアウウー Sae7-gFzl)
2022/02/21(月) 14:04:18.08ID:4epPW0O6a >>169
言葉や概念としての「絶対」があるかといえばある
言葉や概念としての「絶対」があるかといえばある
174デフォルトの名無しさん (ブーイモ MMa7-MlWD)
2022/02/21(月) 14:40:29.16ID:zel+kn1IM >>172
なぜ有能がここに迷い込んできたのか
なぜ有能がここに迷い込んできたのか
175デフォルトの名無しさん (ワッチョイ 7368-9yE7)
2022/02/21(月) 14:41:00.68ID:IVAAebPQ0 >>172
すごい(語彙)
すごい(語彙)
176デフォルトの名無しさん (ワッチョイ cf56-W5tZ)
2022/02/21(月) 16:13:18.73ID:kWGdoALl0 全部名詞やん
177デフォルトの名無しさん (ワッチョイ cfda-mA98)
2022/02/21(月) 20:31:11.80ID:8rVxF2Gw0 絶対に負けられない戦いに負けたらどうなる?
178デフォルトの名無しさん (ワッチョイ a301-Xmkg)
2022/02/22(火) 00:40:55.58ID:OzXpMxHE0 それが今の日本です
179デフォルトの名無しさん (ワッチョイ cfda-le4M)
2022/02/22(火) 16:24:40.19ID:0TsP51M+0 Excelコンテストで勝つ!
180デフォルトの名無しさん (ワッチョイ ffda-mA98)
2022/02/22(火) 16:51:35.21ID:9f6q+kU90 なんぞ? と思ったら一昔以上も前のぢゃねーか!
https://xtech.nikkei.com/it/pc/article/knowhow/20090109/1011183/
こういうことやり続けてきたから間違ったExcelerが繁殖しちまったんぢゃねーのか?
なあにが 営業成績表彰システム ぱ か ぱ か だっつーの 遊んでんぢゃねぇよ!
https://xtech.nikkei.com/it/pc/article/knowhow/20090109/1011183/
こういうことやり続けてきたから間違ったExcelerが繁殖しちまったんぢゃねーのか?
なあにが 営業成績表彰システム ぱ か ぱ か だっつーの 遊んでんぢゃねぇよ!
181デフォルトの名無しさん (ワッチョイ bf3d-89vH)
2022/02/24(木) 14:20:26.28ID:PuX8FwU40 同じpcに開かれている別のエクセルのプロシージャを実行することてできる?
182デフォルトの名無しさん (ラクッペペ MM7f-bsm9)
2022/02/24(木) 14:23:40.68ID:pVKiKajRM 同じプロセスなら普通にできるだろ
183デフォルトの名無しさん (アウアウアー Saff-pEKv)
2022/02/24(木) 18:15:16.40ID:iej9QTZYa 普通のExcelの質問していいですか?
184デフォルトの名無しさん (ワッチョイ 7368-9yE7)
2022/02/24(木) 18:16:27.79ID:ozL7dLyM0 どうぞ
185デフォルトの名無しさん (アウアウアー Saff-pEKv)
2022/02/24(木) 18:33:03.41ID:iej9QTZYa ありがとうございます!
日付だけを縦にずっと入力していくのですが、じょうごマークで絞り込みを開くと
「2022年」「1月 2月…」とあり、「1月」の「+」マークを開くと更に日付が「1日 2日 3日…」と
入力したものがでてきますよね。その「+」マークを開かなくても2022年と同じ左詰めで「1月3日」というのがあって
1/3だけ半角で何度入れ直しても「2022年」「1月」の中に入らないんです。
しかも「1月」の「+」マークを開いても「3日」があり、絞り込むと左詰めの「1月3日」と同じ項目が出てきます。
意味が分からなかったらすみません。分かる方いらっしゃったら教えてください。
日付だけを縦にずっと入力していくのですが、じょうごマークで絞り込みを開くと
「2022年」「1月 2月…」とあり、「1月」の「+」マークを開くと更に日付が「1日 2日 3日…」と
入力したものがでてきますよね。その「+」マークを開かなくても2022年と同じ左詰めで「1月3日」というのがあって
1/3だけ半角で何度入れ直しても「2022年」「1月」の中に入らないんです。
しかも「1月」の「+」マークを開いても「3日」があり、絞り込むと左詰めの「1月3日」と同じ項目が出てきます。
意味が分からなかったらすみません。分かる方いらっしゃったら教えてください。
186デフォルトの名無しさん (ワッチョイ 7368-9yE7)
2022/02/24(木) 18:48:46.05ID:ozL7dLyM0187デフォルトの名無しさん (ワッチョイ cf8e-vY7U)
2022/02/24(木) 20:31:45.10ID:exGzm3wL0188デフォルトの名無しさん (ワッチョイ ffda-mA98)
2022/02/24(木) 20:51:03.24ID:N8+11+jZ0 うーわ! 余裕無えー よっぽどストレス溜まってんだなあ 追い詰められてんだろうなあ、社内で
189デフォルトの名無しさん (アウアウクー MM07-pEKv)
2022/02/24(木) 21:02:21.44ID:K0Kp1JdiM190デフォルトの名無しさん (ワッチョイ ff7c-MlWD)
2022/02/24(木) 21:22:25.12ID:OIkOwNi30 >>187
おまえなんか話題振れよ
おまえなんか話題振れよ
191デフォルトの名無しさん (ブーイモ MMe7-9yE7)
2022/02/24(木) 22:13:31.53ID:Nlim82gmM さっき電車の中で向かいに若い女性の二人組が座っててさあ
192デフォルトの名無しさん (ワッチョイ 93da-XB9Q)
2022/02/24(木) 23:52:39.32ID:CvXfU24U0 >>188
リアルすぎて草
リアルすぎて草
193デフォルトの名無しさん (ワッチョイ cfda-le4M)
2022/02/25(金) 03:22:55.08ID:hDgiDFze0 それで2人の会話を盗み聞きしたらさー
「職場にExcelマニアいるけどキッショいよねーwww」って言っていたよ〜
「職場にExcelマニアいるけどキッショいよねーwww」って言っていたよ〜
194デフォルトの名無しさん (バットンキン MM87-XB9Q)
2022/02/25(金) 14:17:15.60ID:QcxlogpXM そして、Excelマニアが退職したあと、Excelが壊れたとマニアに鬼電するまでがテンプレ
195デフォルトの名無しさん (ワッチョイ 9330-Xmkg)
2022/02/25(金) 17:06:35.52ID:vXWN6Ngg0 Excelマニアってなんぞ
196デフォルトの名無しさん (ワッチョイ f3fd-giql)
2022/02/25(金) 21:30:18.25ID:Wier9kYf0 関数式でif文書くだけでExcel詳しい人扱いされる国
197デフォルトの名無しさん (ワッチョイ ff89-iDSx)
2022/02/25(金) 22:44:14.64ID:DoxyywZF0 シートに写真をおいて,そこにマクロを登録するのですが,
クリックしている間は処理を継続させるようにするにはどうしたら良いでしょうか?
クリックしている間は処理を継続させるようにするにはどうしたら良いでしょうか?
198デフォルトの名無しさん (ワッチョイ ff02-9L8B)
2022/02/25(金) 22:51:14.84ID:a/ksSb5+0 アルミ箔とリード線使うといいんじゃないか?
199デフォルトの名無しさん (ワッチョイ ffda-mA98)
2022/02/25(金) 23:08:55.89ID:sygyzO5g0 イベント時で MouseOver とかか クリックし続けって無かったような MouseMove だっけ なんかその辺
200デフォルトの名無しさん (ワッチョイ ff4f-xxU1)
2022/02/25(金) 23:33:04.48ID:O9IDWaUh0 Excelはマニアで済むけれど
Rubyなんて宗教だもんな
Rubyなんて宗教だもんな
201デフォルトの名無しさん (アウアウウー Sa2f-B9J1)
2022/02/26(土) 00:20:17.83ID:SY5M7+S/a 単なるあだ名だろw
202デフォルトの名無しさん (ワッチョイ 9eda-8W3/)
2022/02/26(土) 03:20:22.62ID:T7kJgkW90 お前はカルメンか
203デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/26(土) 07:13:12.65ID:S41FQOKr0204デフォルトの名無しさん (ワッチョイ ca89-ei6B)
2022/02/26(土) 10:24:59.15ID:jtqt4mXJ0 >>199
ありがとうございます!
ありがとうございます!
205デフォルトの名無しさん (ワッチョイ 9eda-A+PI)
2022/02/26(土) 18:17:50.12ID:duMrqy+m0 Excelマニアとデータ分析マニアは違うみたいね
206デフォルトの名無しさん (ワッチョイ deda-g6h8)
2022/02/26(土) 18:30:22.44ID:ZAxvZ+Mc0207デフォルトの名無しさん (ワッチョイ 9eda-A+PI)
2022/02/26(土) 19:53:05.77ID:duMrqy+m0 それでも昔からみんなExcelで無理してきた感
208デフォルトの名無しさん (アウアウウー Sa2f-B9J1)
2022/02/26(土) 20:05:05.05ID:JqjjL3aFa そこでPython
209デフォルトの名無しさん (ワッチョイ 9eda-y1EW)
2022/02/26(土) 20:10:28.10ID:bGmpH7iw0 言語ならRやPython
パッケージならSPSSやSAS
パッケージならSPSSやSAS
210デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/26(土) 20:19:26.32ID:S41FQOKr0 今思えば256列の60000行でよくやってこれたなと思う
211デフォルトの名無しさん (ワッチョイ ca01-Byf/)
2022/02/26(土) 20:43:17.30ID:joT9B4PU0 今でも256列や60,000行を超える処理ならDBMSにするわ
212デフォルトの名無しさん (ワッチョイ deda-g6h8)
2022/02/26(土) 21:51:16.00ID:ZAxvZ+Mc0 ワークシートに読込ませず、
Power Queryの「接続」(他所からクエリー)だけにしておくと
行数最大:1,048,576行
列数最大:16,384列
まで扱えるみたいだけど、なんか別の入れ物は必要・・・
Accessを入れ物にしようとすると
テーブルはフィールド数最大255、
行数はファイル全体で2GBまでということか。
Power Queryの「接続」(他所からクエリー)だけにしておくと
行数最大:1,048,576行
列数最大:16,384列
まで扱えるみたいだけど、なんか別の入れ物は必要・・・
Accessを入れ物にしようとすると
テーブルはフィールド数最大255、
行数はファイル全体で2GBまでということか。
213デフォルトの名無しさん (ワッチョイ ca4f-/r70)
2022/02/26(土) 22:05:30.45ID:8Bo34rLG0 Pythonは途中から
数学で出てくる数式が分からないとキツくなるからちょっと保留してRust
数学で出てくる数式が分からないとキツくなるからちょっと保留してRust
214デフォルトの名無しさん (ワッチョイ 9eda-A+PI)
2022/02/26(土) 22:10:39.56ID:duMrqy+m0 理系向きなのね?
215デフォルトの名無しさん (ワッチョイ deda-g6h8)
2022/02/26(土) 22:16:53.94ID:ZAxvZ+Mc0 営業でも重回帰分析だの相関係数だのやってるところもあるから・・・
統計に使う数学は
もはや文系/理系に関係ない時代の模様
統計に使う数学は
もはや文系/理系に関係ない時代の模様
216デフォルトの名無しさん (ワッチョイ de8e-BsgF)
2022/02/26(土) 22:23:53.97ID:XZXEjFci0 ID:ZAxvZ+Mc0
また知ったか馬鹿か
また知ったか馬鹿か
217デフォルトの名無しさん (ワッチョイ ca02-Y5l0)
2022/02/26(土) 22:31:17.36ID:e5W/1zqv0 平均とグラフが作れればうちの所は余裕だ…
218デフォルトの名無しさん (ワッチョイ deda-g6h8)
2022/02/26(土) 22:35:46.73ID:ZAxvZ+Mc0219デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/26(土) 23:12:20.49ID:S41FQOKr0 ダントツで扱い易いのは偏差値かな
相対的な指標としては良く使う
相対的な指標としては良く使う
220デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/26(土) 23:12:53.14ID:S41FQOKr0 って営業は作らんやろ
さすがにそこは営業事務が作ってあげると思う
さすがにそこは営業事務が作ってあげると思う
221デフォルトの名無しさん (ワッチョイ de8e-BsgF)
2022/02/26(土) 23:51:35.28ID:XZXEjFci0 >>218
言い訳すればするほど馬鹿さらけ出し
言い訳すればするほど馬鹿さらけ出し
222デフォルトの名無しさん (ワッチョイ 6334-wQOV)
2022/02/27(日) 00:09:08.97ID:XQfZTF0E0 うちの営業はExcelの使い方すら知らん
Excelなんて使わないよなー、Wordの方が使うわって会話聞いて戦慄した
Excelなんて使わないよなー、Wordの方が使うわって会話聞いて戦慄した
223デフォルトの名無しさん (ワッチョイ 6bda-kkQl)
2022/02/27(日) 03:40:18.89ID:vE3gjDOr0 Executeexcel4macroでwindowsapiを使う場合、
戻りがオブジェクトだったらどうするの?
戻りがオブジェクトだったらどうするの?
224デフォルトの名無しさん (ワッチョイ 6f5f-f7LE)
2022/02/27(日) 03:54:20.37ID:eD286Vb90 祈る
225デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/27(日) 06:03:46.97ID:So6tXBwD0226デフォルトの名無しさん (ワッチョイ 4a7c-o0i4)
2022/02/27(日) 06:07:27.75ID:a0+qdDh70 >>223
おまえが作ったコードは見たくないな
おまえが作ったコードは見たくないな
227デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/27(日) 06:10:51.70ID:So6tXBwD0228デフォルトの名無しさん (ワッチョイ 6bda-kkQl)
2022/02/27(日) 07:03:43.76ID:vE3gjDOr0 そうじゃなくて2JNとか指定するやつ。
オブジェクトが無くて絶望的なんだけど。
オブジェクトが無くて絶望的なんだけど。
229デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/27(日) 07:22:28.14ID:So6tXBwD0230デフォルトの名無しさん (テテンテンテン MM86-jC74)
2022/02/27(日) 11:02:51.91ID:F9ScTckVM すみません。 半日つぶしてもできない。ダメ男です
なんとか協力してもらえませんか?
単純に「特定文字」のある行を削除したい(その行をその下の行の二行削除したい)
'まず、獲得ポイントを削除
Dim row_po As Long
row_po = Range("A14:D150").Find("[ 獲得ポイント ]").Row
Range(Rows(row_po), Rows(row_po + 1)).Delete
この書き方でとりあえず消えるのですが、[ 獲得ポイント ]が無かった時にエラーになり止まってしまいます。
で、スルーしてほしいのですが、なにをやってもスルーしてもらえません。
なにもしないことがこんなに難しいとは思いませんでした。
ほっといて欲しいだけなのに
どうするとアホでもわかりますかね?
なんとか協力してもらえませんか?
単純に「特定文字」のある行を削除したい(その行をその下の行の二行削除したい)
'まず、獲得ポイントを削除
Dim row_po As Long
row_po = Range("A14:D150").Find("[ 獲得ポイント ]").Row
Range(Rows(row_po), Rows(row_po + 1)).Delete
この書き方でとりあえず消えるのですが、[ 獲得ポイント ]が無かった時にエラーになり止まってしまいます。
で、スルーしてほしいのですが、なにをやってもスルーしてもらえません。
なにもしないことがこんなに難しいとは思いませんでした。
ほっといて欲しいだけなのに
どうするとアホでもわかりますかね?
231デフォルトの名無しさん (テテンテンテン MM86-JUvV)
2022/02/27(日) 11:09:42.41ID:amhd0I0YM On Error Resume Nextを頭に入れるだけ
232デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/27(日) 11:27:49.32ID:So6tXBwD0 >>230
Sub foo()
'先に見つけておく
Set p = Range("A14:D150").Find("獲得ポイント")
If Not (p Is Nothing) Then
'見つかったときの処理
row_po = p.Row
Rows(row_po & ":" & row_po + 1).Delete Shift:=xlUp
Else
'ここに見つからんかったときの処理
MsgBox "見つからんかった"
End If
End Sub
>231
それやると今度はrow_po でエラーが起きる可能性絶大
Sub foo()
'先に見つけておく
Set p = Range("A14:D150").Find("獲得ポイント")
If Not (p Is Nothing) Then
'見つかったときの処理
row_po = p.Row
Rows(row_po & ":" & row_po + 1).Delete Shift:=xlUp
Else
'ここに見つからんかったときの処理
MsgBox "見つからんかった"
End If
End Sub
>231
それやると今度はrow_po でエラーが起きる可能性絶大
233デフォルトの名無しさん (テテンテンテン MM86-jC74)
2022/02/27(日) 11:30:41.33ID:F9ScTckVM >>231
おおお神よ
なぜあなたは神なのか
私は知恵熱っぽくまでなったのに
ちなみに検索するとエラーが全部キャンセルされるみたいなんですが、一応範囲を決めるとして
'まず、獲得ポイントを削除
On Error Resume Next
Dim row_po As Long
row_po = Range("A14:D150").Find("[ 獲得ポイント ]").Row
Range(Rows(row_po), Rows(row_po + 1)).Delete
On Error GoTo 0
で大丈夫な感じですか
動作はしました。(他の命令のエラーはちゃんと出るかな?と)
おおお神よ
なぜあなたは神なのか
私は知恵熱っぽくまでなったのに
ちなみに検索するとエラーが全部キャンセルされるみたいなんですが、一応範囲を決めるとして
'まず、獲得ポイントを削除
On Error Resume Next
Dim row_po As Long
row_po = Range("A14:D150").Find("[ 獲得ポイント ]").Row
Range(Rows(row_po), Rows(row_po + 1)).Delete
On Error GoTo 0
で大丈夫な感じですか
動作はしました。(他の命令のエラーはちゃんと出るかな?と)
234デフォルトの名無しさん (テテンテンテン MM86-jC74)
2022/02/27(日) 11:31:51.84ID:F9ScTckVM235デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/27(日) 11:40:19.04ID:So6tXBwD0236デフォルトの名無しさん (テテンテンテン MM86-JUvV)
2022/02/27(日) 11:42:39.74ID:amhd0I0YM237デフォルトの名無しさん (テテンテンテン MM86-jC74)
2022/02/27(日) 11:53:19.82ID:F9ScTckVM どうもありがとう
ただ、なんかわからないのだが、ほかの所がエラー吐いてしまっています。
ちょっと死にそうですが、悩んでみます。
多分、また来ますw
ただ、なんかわからないのだが、ほかの所がエラー吐いてしまっています。
ちょっと死にそうですが、悩んでみます。
多分、また来ますw
238デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/27(日) 12:19:45.80ID:So6tXBwD0 どうぞ〜がんばって〜
239デフォルトの名無しさん (テテンテンテン MM86-jC74)
2022/02/27(日) 14:32:58.22ID:F9ScTckVM >>235
おま、これすごい
これにしてみたら他に出たエラーもピシっと消えた
On Error は動いたけど、イレギュラーなパターンだとなぜか他でエラーになった
これも試したらイレギュラーでもバッチり
つーか、俺が昨日の夜中からずううとやっていてもこんなの作れないありがとう
ホント君らすげーよ
これ作るのに寿命を迎えるレベルだわ
おま、これすごい
これにしてみたら他に出たエラーもピシっと消えた
On Error は動いたけど、イレギュラーなパターンだとなぜか他でエラーになった
これも試したらイレギュラーでもバッチり
つーか、俺が昨日の夜中からずううとやっていてもこんなの作れないありがとう
ホント君らすげーよ
これ作るのに寿命を迎えるレベルだわ
240デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/27(日) 14:49:32.88ID:So6tXBwD0241デフォルトの名無しさん (ワッチョイ 9eda-A+PI)
2022/02/27(日) 17:57:55.85ID:JWEArlQD0 関数て約500種類弱あるけど、全部マスターする必要あるのかな??
知人が、「Excelができる人材の定義は関数を全部マスターしているヤツの事だ!」とか言い出しているから
知人が、「Excelができる人材の定義は関数を全部マスターしているヤツの事だ!」とか言い出しているから
242デフォルトの名無しさん (ワッチョイ cbda-ibFl)
2022/02/27(日) 18:04:55.19ID:ZPGXXCGc0 VBAなら関数って自作が基本じゃないの?知らんけど
243デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/27(日) 18:06:25.05ID:So6tXBwD0244デフォルトの名無しさん (ラクッペペ MM86-IC5F)
2022/02/27(日) 18:28:40.28ID:CUu39Gd8M245デフォルトの名無しさん (ワッチョイ 4a7c-o0i4)
2022/02/27(日) 18:34:38.78ID:a0+qdDh70 そら作れば無限に出来るわいな
246デフォルトの名無しさん (ワッチョイ 9eda-8W3/)
2022/02/27(日) 18:39:37.90ID:tDC5899T0 >>241
EXCELが(凄く)できる人かEXCELが(初心者だけど)できる人では違うんじゃね
EXCELが(凄く)できる人かEXCELが(初心者だけど)できる人では違うんじゃね
247デフォルトの名無しさん (ワッチョイ db68-g6h8)
2022/02/27(日) 18:47:42.24ID:NFpbXNxz0248デフォルトの名無しさん (ワッチョイ 03b1-HUXN)
2022/02/27(日) 18:50:42.59ID:AJPusFVK0 知ってる関数の数なんて誇る奴がいたら失笑もんだわ
249デフォルトの名無しさん (ワッチョイ 4a7c-o0i4)
2022/02/27(日) 18:55:10.53ID:a0+qdDh70 標準の関数は少ないよな
俺はSUM CONCATENATE IFくらいしか覚えてない(ヘルプが必要)がその知人よりは多分出来ると思う
俺はSUM CONCATENATE IFくらいしか覚えてない(ヘルプが必要)がその知人よりは多分出来ると思う
250デフォルトの名無しさん (ブーイモ MM86-jjUs)
2022/02/27(日) 18:58:34.59ID:WwuIS/YcM >>247
多分合ってるんだろうけどメッチャ理解し難いぐちゃぐちゃ関数式の様な日本語
多分合ってるんだろうけどメッチャ理解し難いぐちゃぐちゃ関数式の様な日本語
251デフォルトの名無しさん (ワッチョイ de8e-BsgF)
2022/02/27(日) 19:18:55.52ID:Jrkr8SKF0 >>241
その知人が馬鹿なだけだぞ
その知人が馬鹿なだけだぞ
252デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/27(日) 19:50:11.71ID:So6tXBwD0 知人ぼろかすで草
253デフォルトの名無しさん (スッップ Sdea-8W3/)
2022/02/27(日) 19:54:03.00ID:XX45AiX5d Excelにどんな機能がある=関数
ってしかいえない人の戯言では
ってしかいえない人の戯言では
254デフォルトの名無しさん (ワッチョイ 9e56-JP5l)
2022/02/27(日) 20:40:55.89ID:D3HmGJ+n0 >>241
If 友人が「Excelができる人材の定義は関数を全部マスターしているヤツの事だ!」と言った then
throw 友人 どこか
End If
以下正常処理
If 友人が「Excelができる人材の定義は関数を全部マスターしているヤツの事だ!」と言った then
throw 友人 どこか
End If
以下正常処理
255デフォルトの名無しさん (ワッチョイ ca02-Y5l0)
2022/02/27(日) 20:51:03.99ID:nGlHhzSe0 If 友人が Then
Yo! Yo! チェケラYO!
Go To YoYo
End If
YoYo:
Oh! Oh! 皆で楽しくチェケラYo!
Yo! Yo! チェケラYO!
Go To YoYo
End If
YoYo:
Oh! Oh! 皆で楽しくチェケラYo!
256デフォルトの名無しさん (アウアウウー Sa2f-HUXN)
2022/02/27(日) 21:11:45.66ID:JrRqc3Naa If 友人.Count > 0 Then
のチェックをしておかないと例外が発生しかねんぞ
のチェックをしておかないと例外が発生しかねんぞ
257デフォルトの名無しさん (ワッチョイ ca01-Byf/)
2022/02/27(日) 21:18:59.32ID:f8g0XzTm0 >>254
そこはRaiseだろ
そこはRaiseだろ
258デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/27(日) 21:27:51.88ID:So6tXBwD0 ?友人 is nothing
true
true
259デフォルトの名無しさん (ワッチョイ ca02-Y5l0)
2022/02/27(日) 21:34:07.20ID:nGlHhzSe0 確認事項
・友人はいますか
・親友はいますか
・彼女はいますか
・配偶者はいますか
・家族はいますか
・老後の心配はありませんか
・友人はいますか
・親友はいますか
・彼女はいますか
・配偶者はいますか
・家族はいますか
・老後の心配はありませんか
260デフォルトの名無しさん (ワッチョイ db68-g6h8)
2022/02/27(日) 21:42:34.72ID:NFpbXNxz0261デフォルトの名無しさん (ワッチョイ 635f-m/AS)
2022/02/27(日) 21:46:20.69ID:pkdB1ort0 人生の大抵の困難はon erorr resume nextで解決可能である
262デフォルトの名無しさん (ワッチョイ ca02-Y5l0)
2022/02/27(日) 21:52:09.54ID:nGlHhzSe0 On Error Shutdown And Reboot With Next Life
263デフォルトの名無しさん (テテンテンテン MM86-JUvV)
2022/02/27(日) 22:13:39.17ID:amhd0I0YM >>262
例外処理が抜けてる
If You = カーズ Then
Do Until 地球からの距離 = 0
地球からの距離 = 地球からの距離 + 1
Loop
Elseif You = ディアブロ Then
死ぬ前:
死にそう
Goto:死ぬ前
死んだ
End if
例外処理が抜けてる
If You = カーズ Then
Do Until 地球からの距離 = 0
地球からの距離 = 地球からの距離 + 1
Loop
Elseif You = ディアブロ Then
死ぬ前:
死にそう
Goto:死ぬ前
死んだ
End if
264デフォルトの名無しさん (ワッチョイ cada-8W3/)
2022/02/27(日) 22:37:19.46ID:oWne56vR0 Dim tmp As String
tmp = "どんまい"
MsgBox tmp
tmp = "どんまい"
MsgBox tmp
265デフォルトの名無しさん (ワッチョイ 9eda-A+PI)
2022/02/27(日) 23:16:15.15ID:JWEArlQD0 関数そこまで必要かな?
マクロできるなら全部マクロでやれば良いじゃんね
マクロできるなら全部マクロでやれば良いじゃんね
266デフォルトの名無しさん (ワッチョイ de8e-BsgF)
2022/02/27(日) 23:42:12.81ID:Jrkr8SKF0267デフォルトの名無しさん (ワッチョイ 9eda-A+PI)
2022/02/28(月) 03:06:37.96ID:kykjWS4h0 いやだなぁ〜先輩、冗談すよ冗談
職場になんでもVBA、VBAといってマジでVBAで片付けていた偉い人がいたもんでw
職場になんでもVBA、VBAといってマジでVBAで片付けていた偉い人がいたもんでw
268デフォルトの名無しさん (ワッチョイ db68-g6h8)
2022/02/28(月) 08:14:19.86ID:9UyyIrQV0 知人が、偉い人が、全て他人の話
ほんとうは・・・?
ほんとうは・・・?
269デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/28(月) 08:33:28.33ID:o5ZgQ4pV0 >>268
これ以上はやめて差し上げろ
これ以上はやめて差し上げろ
270デフォルトの名無しさん (テテンテンテン MM86-jC74)
2022/02/28(月) 18:59:30.44ID:h1aqAX/2M すいません。 こういうのはできますか?
セルの中に改行を見つけてから止める(修正)するVBAをつくりました。
改行が見つかったら、マクロを止めて手修正をして又マクロを走らせてを繰り返します。
ここで、問題なのが改行ならいいのですが、文字が多くて折り返しになっているのがたまにあります。
それも見つけたいのですが、知恵がみつかりません。
折り返し判定みたいなのはあまりなさそうです。 それとも行の高さを判定できるなら高さ22以上とか方法があるのかな?と
すいませんが、こんなのは?ってありましたら、お願いします。
Sub test()
Dim Ws As Worksheet
For Each Ws In Worksheets
Ws.Activate
Dim row_shou As Long
row_shou = Range("A14:D150").Find("小 計").Row
Dim Target As Range
Set Target = Range(Rows(14), Rows(row_shou - 1)).Find(What:=vbLf)
If Not Target Is Nothing Then
End
End If
Next Ws
End Sub
セルの中に改行を見つけてから止める(修正)するVBAをつくりました。
改行が見つかったら、マクロを止めて手修正をして又マクロを走らせてを繰り返します。
ここで、問題なのが改行ならいいのですが、文字が多くて折り返しになっているのがたまにあります。
それも見つけたいのですが、知恵がみつかりません。
折り返し判定みたいなのはあまりなさそうです。 それとも行の高さを判定できるなら高さ22以上とか方法があるのかな?と
すいませんが、こんなのは?ってありましたら、お願いします。
Sub test()
Dim Ws As Worksheet
For Each Ws In Worksheets
Ws.Activate
Dim row_shou As Long
row_shou = Range("A14:D150").Find("小 計").Row
Dim Target As Range
Set Target = Range(Rows(14), Rows(row_shou - 1)).Find(What:=vbLf)
If Not Target Is Nothing Then
End
End If
Next Ws
End Sub
271デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/02/28(月) 19:29:28.20ID:o5ZgQ4pV0 >>270
一行以外を全て検出したいなら、行の高さを検出するだけで終わると思う
改行は調べなくてもいいような
Sub foo()
最終行 = Cells(Rows.Count, 1).End(xlUp).Row
基本の行の高さ = Cells(1, 1).RowHeight
For i = 1 To 最終行
If Cells(i, 1).RowHeight <> 基本の行の高さ Then
MsgBox i & "行目の高さがおかしいので、終了します。修正お願いします"
Exit Sub
End If
Next
End Sub
一行以外を全て検出したいなら、行の高さを検出するだけで終わると思う
改行は調べなくてもいいような
Sub foo()
最終行 = Cells(Rows.Count, 1).End(xlUp).Row
基本の行の高さ = Cells(1, 1).RowHeight
For i = 1 To 最終行
If Cells(i, 1).RowHeight <> 基本の行の高さ Then
MsgBox i & "行目の高さがおかしいので、終了します。修正お願いします"
Exit Sub
End If
Next
End Sub
272デフォルトの名無しさん (テテンテンテン MM86-jC74)
2022/02/28(月) 20:20:02.79ID:h1aqAX/2M >>271
あ、あ、ありがとう
正直解読するのに一時間くらいかかって自分のに書き直せました。
一応動いていけそうです! 高さチェックでいけますね
こんなチンケな感じになりました。
神々に感謝します。
Sub test()
Dim Ws As Worksheet
For Each Ws In Worksheets
Ws.Activate
Dim row_shou As Long
row_shou = Range("A14:D150").Find("小 計").Row
'行の高さ15以上を検索
h = 15
For i = 14 To row_shou - 1
If Cells(i, 1).RowHeight > h Then
Exit Sub
End If
Next
Next Ws
End Sub
あ、あ、ありがとう
正直解読するのに一時間くらいかかって自分のに書き直せました。
一応動いていけそうです! 高さチェックでいけますね
こんなチンケな感じになりました。
神々に感謝します。
Sub test()
Dim Ws As Worksheet
For Each Ws In Worksheets
Ws.Activate
Dim row_shou As Long
row_shou = Range("A14:D150").Find("小 計").Row
'行の高さ15以上を検索
h = 15
For i = 14 To row_shou - 1
If Cells(i, 1).RowHeight > h Then
Exit Sub
End If
Next
Next Ws
End Sub
273デフォルトの名無しさん (スプッッ Sd8a-SZxA)
2022/02/28(月) 21:56:13.38ID:1x7bPtTEd ぶっちゃけFindは滅多やたら使わん方が良いけどまあ良かったじゃん
274デフォルトの名無しさん (ワッチョイ b301-hvk0)
2022/03/01(火) 18:55:07.17ID:gFYHZAxx0 なんでもスレだと更新が少なく答えがもらえなさそうなので、こちらにも書き込んですみません。
Excel VBAで質問です。
現在開いているシートにマクロボタンを作り、実行させると…
現在シートのB列に検索値
別のシート(ABC)のB列の5行目〜400行目までを検索して一致したセル番号が欲しいのですが
For cnt=1 To 10 samsu(cnt)=WorksheetFunction.Match(Cells(cnt,1),Worksheets(”ABC”).Range(Cells(5,1),Cells(400,1)),0)
…
next
このMatch関数の正しい書き方を教えてもらいたいのですが。
Excel VBAで質問です。
現在開いているシートにマクロボタンを作り、実行させると…
現在シートのB列に検索値
別のシート(ABC)のB列の5行目〜400行目までを検索して一致したセル番号が欲しいのですが
For cnt=1 To 10 samsu(cnt)=WorksheetFunction.Match(Cells(cnt,1),Worksheets(”ABC”).Range(Cells(5,1),Cells(400,1)),0)
…
next
このMatch関数の正しい書き方を教えてもらいたいのですが。
275デフォルトの名無しさん (スフッ Sdea-SZxA)
2022/03/01(火) 22:29:13.54ID:Nv0Sds8Bd ちゃんと見ていないが、とりあえず.cellsの前にも全部ワークシートを指定しよう
276デフォルトの名無しさん (スップ Sdea-8W3/)
2022/03/02(水) 07:23:43.88ID:bacADaAbd どっちでも好きな方をどうぞ
samsu(cnt) = WorksheetFunction.Match(Cells(cnt, 1), Worksheets("ABC").Range(Worksheets("ABC").Cells(5, 2), Worksheets("ABC").Cells(400, 2)), 0)
samsu(cnt) = WorksheetFunction.Match(Cells(cnt, 1), Worksheets("ABC").Range("B5:B400"), 0)
samsu(cnt) = WorksheetFunction.Match(Cells(cnt, 1), Worksheets("ABC").Range(Worksheets("ABC").Cells(5, 2), Worksheets("ABC").Cells(400, 2)), 0)
samsu(cnt) = WorksheetFunction.Match(Cells(cnt, 1), Worksheets("ABC").Range("B5:B400"), 0)
277デフォルトの名無しさん (ワッチョイ cb01-DMF9)
2022/03/02(水) 18:02:30.94ID:Dpz5qFA70 質問です
社員毎に月々の残業時間の合計プログラムを作っています
合計した数値に対して、30分で切り上げ切り捨てしています(会社の残業規定に則り)
(例えば、月4:10の残業であれば4:00として出力、月4:35であるば5:00として出力)
合計した数値に対してFloor関数を使って切り上げ切り捨てをしているのですが、
月23:30の残業をした社員がいた場合、出力された値が0になってしまいます
表示形式を[h]にしてみましたが、結果は変わりません
デバックでFloor関数の中の変数の値を確認しましたら、23:30のシリアル値はきちんと入っています
そうするとFloor関数で切り上げしているのが原因なのでしょうか?
どなたかご教示いただきたいです…
社員毎に月々の残業時間の合計プログラムを作っています
合計した数値に対して、30分で切り上げ切り捨てしています(会社の残業規定に則り)
(例えば、月4:10の残業であれば4:00として出力、月4:35であるば5:00として出力)
合計した数値に対してFloor関数を使って切り上げ切り捨てをしているのですが、
月23:30の残業をした社員がいた場合、出力された値が0になってしまいます
表示形式を[h]にしてみましたが、結果は変わりません
デバックでFloor関数の中の変数の値を確認しましたら、23:30のシリアル値はきちんと入っています
そうするとFloor関数で切り上げしているのが原因なのでしょうか?
どなたかご教示いただきたいです…
278デフォルトの名無しさん (ワッチョイ cb01-DMF9)
2022/03/02(水) 18:09:09.52ID:Dpz5qFA70 簡潔ですが、以下のようなコードで書いています
.cells(1,1).NumberFormatLocal = "[h]"
a = "23:30"
.cells(1,1) = Application.Floor(a + TimeValue("0:30"),TimeValue("1:00"))
.cells(1,1).NumberFormatLocal = "[h]"
a = "23:30"
.cells(1,1) = Application.Floor(a + TimeValue("0:30"),TimeValue("1:00"))
279デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/03/02(水) 18:13:22.97ID:ydQ1ic0a0 >>277
mroundで1:00単位でいいんじゃない
https://i.imgur.com/igLdP9C.png
>>278
24と表示されたよ。そのままだとエラーになるので、2行目はtimevalueにいれた
https://i.imgur.com/a54wsnQ.png
mroundで1:00単位でいいんじゃない
https://i.imgur.com/igLdP9C.png
>>278
24と表示されたよ。そのままだとエラーになるので、2行目はtimevalueにいれた
https://i.imgur.com/a54wsnQ.png
280デフォルトの名無しさん (ワッチョイ cb01-DMF9)
2022/03/02(水) 18:43:03.81ID:Dpz5qFA70 >>279
MRoundにしてみたらできました!
ありがとうございます!
TimeValueについて書き損じ失礼しました
本来は"23:30"ではなく変数が入っていて、変数には23:30のシリアル値が入っています
なぜ0になってしまうのか謎ですが解決してよかったです
MRoundにしてみたらできました!
ありがとうございます!
TimeValueについて書き損じ失礼しました
本来は"23:30"ではなく変数が入っていて、変数には23:30のシリアル値が入っています
なぜ0になってしまうのか謎ですが解決してよかったです
281デフォルトの名無しさん (アウアウウー Sa2f-B9J1)
2022/03/02(水) 19:19:22.93ID:n7HPCvTSa 23時の次は24時ではなく0時だからだわな
282デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/03/02(水) 19:25:50.55ID:ydQ1ic0a0 >>281
いや、書式設定が[h]なら24と表示されるはず
いや、書式設定が[h]なら24と表示されるはず
283デフォルトの名無しさん (オッペケ Sr03-+p5u)
2022/03/03(木) 07:42:09.33ID:LvEeINitr284デフォルトの名無しさん (テテンテンテン MM86-65e0)
2022/03/03(木) 13:47:21.71ID:KJVc8U50M 質問をさせていただきます。 理解ができないことがあります。
まず、加工BOOK と マクロ保存BOOK の二種類を使用しています。
加工BOOKにある複数のシートを連続して加工するときにネット情報で下記書き方を拾いました。
Dim Ws As Worksheet
For Each Ws In Worksheets
Ws.Activate
〜色々な動作〜
Next Ws
この「色々な動作」の中で
ThisWorkbook.Activate ’マクロ保存BOOKをアクティブ(シート指定セル指定してコピーを取ってます)
その後、Ws.Activate と書き 上記保存した文字を指定したセルにペースト
これは問題なくペーストできています。
ただ、なぜうまくペーストできるのか理解ができていません。
理由はではこれをシート毎に連続ではなく一枚だけペーストにした場合
最初の For Each Ws In Worksheets と Next Ws を削除すればいいか?と思いやってみたのですが、エラーしか出ません。
てっきりWSという関数に加工BOOKの場所データが格納されていてWs.Activateを書けば加工BOOKに戻ってきていると思ったのですが、エラーとなると違っていたのか?と理解ができなくなりました。
加工BOOKのBOOK名とかが書ければいいのでしょうが、BOOK名(ファイル名)は不特定でやりたい。他人に渡すので環境が読めない。
最初にアクティブになっていたブックシート情報を関数に入れておけばよいと想像しているのですが、どうすればいいかとかわかっていません。
グダグダな質問でわかりにくいと思いますが、二つのBOOKを行き来して片方はマクロを作動させた時にアクティブだったシートって条件にしたいのです。
まず、加工BOOK と マクロ保存BOOK の二種類を使用しています。
加工BOOKにある複数のシートを連続して加工するときにネット情報で下記書き方を拾いました。
Dim Ws As Worksheet
For Each Ws In Worksheets
Ws.Activate
〜色々な動作〜
Next Ws
この「色々な動作」の中で
ThisWorkbook.Activate ’マクロ保存BOOKをアクティブ(シート指定セル指定してコピーを取ってます)
その後、Ws.Activate と書き 上記保存した文字を指定したセルにペースト
これは問題なくペーストできています。
ただ、なぜうまくペーストできるのか理解ができていません。
理由はではこれをシート毎に連続ではなく一枚だけペーストにした場合
最初の For Each Ws In Worksheets と Next Ws を削除すればいいか?と思いやってみたのですが、エラーしか出ません。
てっきりWSという関数に加工BOOKの場所データが格納されていてWs.Activateを書けば加工BOOKに戻ってきていると思ったのですが、エラーとなると違っていたのか?と理解ができなくなりました。
加工BOOKのBOOK名とかが書ければいいのでしょうが、BOOK名(ファイル名)は不特定でやりたい。他人に渡すので環境が読めない。
最初にアクティブになっていたブックシート情報を関数に入れておけばよいと想像しているのですが、どうすればいいかとかわかっていません。
グダグダな質問でわかりにくいと思いますが、二つのBOOKを行き来して片方はマクロを作動させた時にアクティブだったシートって条件にしたいのです。
285デフォルトの名無しさん (ワッチョイ 67e5-/OcY)
2022/03/03(木) 14:00:06.45ID:rCo9Fm7Z0 AvtIVeやらしてる時点で作者も大した事なさそう
286デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/03/03(木) 14:13:34.66ID:9O05M6/x0287デフォルトの名無しさん (テテンテンテン MM86-65e0)
2022/03/03(木) 14:19:57.38ID:KJVc8U50M >>286
ありがとうございます。
この”ワークシート名”が分からなくても動かしたいのです。
つまり、hogehoge.xlsx だったり zukozuko.xlsxだったりするので
最初にアクティブだったファイル(シート)に戻ってくる汎用性がほしい。
ありがとうございます。
この”ワークシート名”が分からなくても動かしたいのです。
つまり、hogehoge.xlsx だったり zukozuko.xlsxだったりするので
最初にアクティブだったファイル(シート)に戻ってくる汎用性がほしい。
288デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/03/03(木) 14:22:48.58ID:9O05M6/x0289デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/03/03(木) 14:24:24.97ID:9O05M6/x0 そういやブックを指定する時はopenでいいけど、
シート名が不定な時、シートを指定する方法ってないのか
一旦開いてinputboxにインデックスかシート名入れるぐらいしかないのだろうか
シート名が不定な時、シートを指定する方法ってないのか
一旦開いてinputboxにインデックスかシート名入れるぐらいしかないのだろうか
290デフォルトの名無しさん (スップ Sdea-8W3/)
2022/03/03(木) 14:32:22.98ID:jSBR5AQpd まずワークシートもワークブックもわかってない事から勉強したほうがよいのではないか
それとよくわからず何となく動いたものを他人に渡して大丈夫なのかと不安になるわ
それとよくわからず何となく動いたものを他人に渡して大丈夫なのかと不安になるわ
291デフォルトの名無しさん (ワッチョイ 5f68-g6h8)
2022/03/03(木) 14:43:43.44ID:9O05M6/x0 あんまり大丈夫じゃないけど、そこまで言うのもねぇ
292デフォルトの名無しさん (テテンテンテン MM86-65e0)
2022/03/03(木) 15:56:08.71ID:KJVc8U50M 心配かけます
とりあえず、データは何回でもダウンロードできるのでいくら壊れても大丈夫です。
内輪の事務ですし
やはり、どんなファイル名(シート名)でもOKとなると難しいですかね
当然フルパスみたいに書くのが良いのはわかります。
とりあえず、データは何回でもダウンロードできるのでいくら壊れても大丈夫です。
内輪の事務ですし
やはり、どんなファイル名(シート名)でもOKとなると難しいですかね
当然フルパスみたいに書くのが良いのはわかります。
293デフォルトの名無しさん (スップ Sdea-8W3/)
2022/03/03(木) 16:16:41.04ID:jSBR5AQpd 加工されるワークブックにはワークシートは複数なの?それとも1つなの?
仮に先頭にあるワークシートであれば
Set Ws = Worksheets(1)
のような指定をすればいいだけだぞ
ワークシート名が決まった名前であれば
Set Ws = Worksheets("○○")
のような指定でもOK
どのシートが加工していいのかを判断できるなら当初のFor文で回しながらシートを特定してもいいかと思うが
ある程度のルールが決まった質問じゃないと漠然としすぎて回答する側もとまどうと思うぞ
仮に先頭にあるワークシートであれば
Set Ws = Worksheets(1)
のような指定をすればいいだけだぞ
ワークシート名が決まった名前であれば
Set Ws = Worksheets("○○")
のような指定でもOK
どのシートが加工していいのかを判断できるなら当初のFor文で回しながらシートを特定してもいいかと思うが
ある程度のルールが決まった質問じゃないと漠然としすぎて回答する側もとまどうと思うぞ
294デフォルトの名無しさん (ワッチョイ ff2f-65e0)
2022/03/03(木) 17:11:57.48ID:AMDtBRAN0 >>284
>てっきりWSという関数に加工BOOKの場所データが格納されていて
Wsは関数じゃなくて変数
その変数に値をセットしていたのがFor文
>最初にアクティブになっていたブックシート情報を関数に入れておけばよいと想像しているのですが、どうすればいいかとかわかっていません。
Set Ws=ActiveSheet
かな。試してないけど
とりあえずForの代わりにこれで動くんじゃね
あまりにも基本がわかってない感があるなぁ
>てっきりWSという関数に加工BOOKの場所データが格納されていて
Wsは関数じゃなくて変数
その変数に値をセットしていたのがFor文
>最初にアクティブになっていたブックシート情報を関数に入れておけばよいと想像しているのですが、どうすればいいかとかわかっていません。
Set Ws=ActiveSheet
かな。試してないけど
とりあえずForの代わりにこれで動くんじゃね
あまりにも基本がわかってない感があるなぁ
295デフォルトの名無しさん (スッップ Sdea-BsgF)
2022/03/03(木) 17:21:03.63ID:Vn+IwdQAd コピペしかしない人なんでしょ
296デフォルトの名無しさん (テテンテンテン MM86-65e0)
2022/03/03(木) 18:46:16.06ID:KJVc8U50M >>294
はいすいません
関数は書き間違いです。変数ですよねw
ちょっと、脳が
Set Ws=ActiveSheet
で辻褄があいました。
最初の For Nextで全シートした場合も1シートだけやった場合もエラーが出ずに自分の脳みそも合致がいきました。
これを書いていないのに Forで動かしたときに問題なかったので???状態になっておりました。
ありがとうございます。
はいすいません
関数は書き間違いです。変数ですよねw
ちょっと、脳が
Set Ws=ActiveSheet
で辻褄があいました。
最初の For Nextで全シートした場合も1シートだけやった場合もエラーが出ずに自分の脳みそも合致がいきました。
これを書いていないのに Forで動かしたときに問題なかったので???状態になっておりました。
ありがとうございます。
297デフォルトの名無しさん (スフッ Sdea-SZxA)
2022/03/03(木) 19:43:39.19ID:5R1CCyAZd 何ていうかVBAの言語より先にちゃんとした構文の日本語を学ぶ事をおすすめします
298デフォルトの名無しさん (ワッチョイ 9eda-q1UJ)
2022/03/03(木) 21:25:56.68ID:pVJYfbHP0 いやでも回答者さんの言うとおりだと思う。理屈や仕組み分からないまま使ったりしていたらいつかは大事故に繋がる。
過去にそういう事が身近であった。
過去にそういう事が身近であった。
299デフォルトの名無しさん (スップ Sdea-8W3/)
2022/03/03(木) 21:46:06.24ID:jSBR5AQpd 何がきっかけで作ることになったか知らないけど
どうして動いてるかもわからずに作って少ししておかしいことに気づいてもすぐ直せなかったら評価悪くなると思うんだよね
自分の周りの出来事でなければ知ったことではないんだけどその辺は踏まえて作った方がいいよ
どうして動いてるかもわからずに作って少ししておかしいことに気づいてもすぐ直せなかったら評価悪くなると思うんだよね
自分の周りの出来事でなければ知ったことではないんだけどその辺は踏まえて作った方がいいよ
300デフォルトの名無しさん (テテンテンテン MM86-JUvV)
2022/03/03(木) 22:33:01.31ID:yer8R1MmM ID:KJVc8U50M の言い回しが技術サイトでありがちな英語かロシア語の機械翻訳文に似てて草
301デフォルトの名無しさん (スプッッ Sdbf-cdvC)
2022/03/05(土) 11:35:29.63ID:lcqTf7BDd !!Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
For i =1 to 5
cells(i,4)=DateValue(Cells(i,1)&" 年"&" 月"&Cells(i,2)&Cells(i,3)&"日")
Next i
End Sub
上記記述して実際にシートに数字を入力すると型が一致しませんとエラーになってしまいます
どうしていいのかわからずご教授していただければと
素人みたいな質問すいません
Dim i As Long
For i =1 to 5
cells(i,4)=DateValue(Cells(i,1)&" 年"&" 月"&Cells(i,2)&Cells(i,3)&"日")
Next i
End Sub
上記記述して実際にシートに数字を入力すると型が一致しませんとエラーになってしまいます
どうしていいのかわからずご教授していただければと
素人みたいな質問すいません
302デフォルトの名無しさん (アウアウウー Sa0f-3vQF)
2022/03/05(土) 12:01:15.53ID:tG3yIb4ia 月の位置がおかしいから?w
303デフォルトの名無しさん (スップ Sdbf-Djfv)
2022/03/05(土) 12:21:43.22ID:RMBcHsBod こういうひとってデバッグの仕方とか知らないのかね?
Debug.Print(Cells(i,1)&" 年"&" 月"&Cells(i,2)&Cells(i,3)&"日")
のようなことをすればどんな値が指定されているかわかるんだからみればいいのに
>素人みたいな質問すいません
素人でもこんな質問するかなという内容
Debug.Print(Cells(i,1)&" 年"&" 月"&Cells(i,2)&Cells(i,3)&"日")
のようなことをすればどんな値が指定されているかわかるんだからみればいいのに
>素人みたいな質問すいません
素人でもこんな質問するかなという内容
304デフォルトの名無しさん (ドコグロ MM7f-5gj/)
2022/03/05(土) 12:21:43.61ID:6K6JgexZM305デフォルトの名無しさん (ドコグロ MM7f-5gj/)
2022/03/05(土) 12:22:36.15ID:6K6JgexZM 被ったわ…
306デフォルトの名無しさん (ワッチョイ 0fb0-pp7o)
2022/03/05(土) 12:39:47.23ID:/JtJWIIA0 そもそもVBAにする必要あるのかこれ?
307デフォルトの名無しさん (スプッッ Sdbf-cdvC)
2022/03/05(土) 12:51:19.12ID:lcqTf7BDd >>301
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
For i =1 to 5
cells(i,4)=DateValue(Cells(i,1)&" 年"& Cells(i,2)&"月"&Cells(i,3)&"日")
Next i
End Sub
すいません!
月の位置が違いました
上記の記述でも型が一致しませんとエラーになってしまいます
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
For i =1 to 5
cells(i,4)=DateValue(Cells(i,1)&" 年"& Cells(i,2)&"月"&Cells(i,3)&"日")
Next i
End Sub
すいません!
月の位置が違いました
上記の記述でも型が一致しませんとエラーになってしまいます
308デフォルトの名無しさん (ワッチョイ 9f02-6Pw1)
2022/03/05(土) 13:08:57.00ID:GCjMsc400 =Date(A2, B2, ... え?それ以上はやめとけって? はーい
309デフォルトの名無しさん (スップ Sdbf-Djfv)
2022/03/05(土) 13:15:31.27ID:RMBcHsBod その書き方だと少なくとも変更された際のイベントでDateValueを正しく動作させるには
1から5行目までの1から3列目までにそれぞれ年月日の値が保証されないと型が一致しないとでるけど
そういう状態が担保できてるの?
1行目の入力中でもその書き方だと2行目以降が空欄だと単なる「年月日」という値でDateValue実行してしまいますよ
1から5行目までの1から3列目までにそれぞれ年月日の値が保証されないと型が一致しないとでるけど
そういう状態が担保できてるの?
1行目の入力中でもその書き方だと2行目以降が空欄だと単なる「年月日」という値でDateValue実行してしまいますよ
310デフォルトの名無しさん (スフッ Sdbf-OYGG)
2022/03/05(土) 13:43:03.37ID:9H2YJJUDd セルの中身が実はシリアル値でしたに一票
311デフォルトの名無しさん (スプッッ Sdbf-cdvC)
2022/03/05(土) 14:24:04.55ID:lcqTf7BDd312デフォルトの名無しさん (スップ Sdbf-Djfv)
2022/03/05(土) 14:46:06.75ID:RMBcHsBod >>311
いずれかのセルが空欄や数字以外だったら4列目に空を設定
それ以外の場合のみDateValueとかでいいんじゃないの
ただ結果的に月日が不正な値(99月など)ならどうするとかそういうのも含めて自分で考えないとこの先やっていけないのでは
いずれかのセルが空欄や数字以外だったら4列目に空を設定
それ以外の場合のみDateValueとかでいいんじゃないの
ただ結果的に月日が不正な値(99月など)ならどうするとかそういうのも含めて自分で考えないとこの先やっていけないのでは
313デフォルトの名無しさん (スプッッ Sdbf-cdvC)
2022/03/05(土) 14:57:28.77ID:lcqTf7BDd314デフォルトの名無しさん (ワッチョイ 0f10-yG/L)
2022/03/08(火) 11:28:41.82ID:VCo1qiqP0 すみません、質問です!
例えばA1セルに関数が入っていたとします
A1セルが空白かどうか(関数は入っています)をVBAのIF文で分岐したいですがうまく行きません
VBAでは空白を取得できているはずなんですが何故なんでしょう…
どなたか対応方法を教えてください
例えばA1セルに関数が入っていたとします
A1セルが空白かどうか(関数は入っています)をVBAのIF文で分岐したいですがうまく行きません
VBAでは空白を取得できているはずなんですが何故なんでしょう…
どなたか対応方法を教えてください
315デフォルトの名無しさん (ブーイモ MM7f-2VcS)
2022/03/08(火) 11:33:03.86ID:e+QnjkryM If Range("A1").Fomula = "" Then
316デフォルトの名無しさん (ブーイモ MM7f-2VcS)
2022/03/08(火) 11:33:45.29ID:e+QnjkryM あ、嘘。ごめん。間違えた。忘れて。
317デフォルトの名無しさん (ワッチョイ 0f10-yG/L)
2022/03/08(火) 11:39:20.91ID:VCo1qiqP0318デフォルトの名無しさん (ワッチョイ 0f10-yG/L)
2022/03/08(火) 11:41:01.62ID:VCo1qiqP0 大丈夫です!
ありがとうございますm(_ _)m
ご存じの方いらっしゃいましたらよろしくお願いします
ありがとうございますm(_ _)m
ご存じの方いらっしゃいましたらよろしくお願いします
319デフォルトの名無しさん (ワッチョイ 9f01-sVLR)
2022/03/08(火) 12:20:48.22ID:vjLwCjzB0 普通にセルのValueなりTextなりを見ればいいんじゃないの?
320デフォルトの名無しさん (ワッチョイ 3b68-6iqn)
2022/03/08(火) 12:37:16.79ID:YxxaCHXb0321デフォルトの名無しさん (アウアウウー Sa0f-3vQF)
2022/03/08(火) 13:18:52.50ID:+eE97yRCa 空なのか空白なのか
322デフォルトの名無しさん (スフッ Sdbf-6iqn)
2022/03/08(火) 13:28:01.68ID:ez1E04nZd323デフォルトの名無しさん (ワッチョイ 9f01-sVLR)
2022/03/08(火) 14:12:30.12ID:vjLwCjzB0 Empty と空文字列と空白は違うって話かと
324デフォルトの名無しさん (ワッチョイ fb5f-8vjq)
2022/03/08(火) 19:12:34.37ID:IBMOg+Z/0 前任者のシートで0を書式で空白にしてるのには参ったね
textプロパティを覚えるきっかけにはなったけど
textプロパティを覚えるきっかけにはなったけど
325デフォルトの名無しさん (ワッチョイ 3be6-XzgJ)
2022/03/08(火) 19:25:23.65ID:fxoU/Jgx0 文字列枠だけど 書式は #
よくやるw
よくやるw
326デフォルトの名無しさん (ワッチョイ 9f4f-7JAY)
2022/03/11(金) 06:05:40.07ID:a7Y3SJRd0 すみません、質問させてください。
VBAで自作したクラスのメソッドやプロパティの一覧を列挙するにはどうすれば宜しいでしょうか?
どのような自作したクラスでも使える汎用的なものを作成したいです。
VBAで自作したクラスのメソッドやプロパティの一覧を列挙するにはどうすれば宜しいでしょうか?
どのような自作したクラスでも使える汎用的なものを作成したいです。
327デフォルトの名無しさん (アウアウウー Sa0f-Ua9o)
2022/03/11(金) 07:32:33.79ID:mh6S44cma すみません。
特定のセル内に有るリンクを抽出する方法は有りますか?
特定のセル内に有るリンクを抽出する方法は有りますか?
328デフォルトの名無しさん (スフッ Sdbf-6iqn)
2022/03/11(金) 08:32:32.67ID:vHBnGMWOd329デフォルトの名無しさん (スフッ Sdbf-6iqn)
2022/03/11(金) 08:33:31.79ID:vHBnGMWOd >>327
Hyperlink
Hyperlink
330デフォルトの名無しさん (ワッチョイ 824f-QC5K)
2022/03/12(土) 01:24:13.27ID:7NvJtuE10 >>328
なるほど、VBAでは無理なんですね。
以前、VB.Netの命令をVBAで走らせることが出来る場合があることをこのスレで聞いたことがあるような気がしましたので、
そちらとAPIで実装出来ないかを模索してみます。ありがとうございました。
なるほど、VBAでは無理なんですね。
以前、VB.Netの命令をVBAで走らせることが出来る場合があることをこのスレで聞いたことがあるような気がしましたので、
そちらとAPIで実装出来ないかを模索してみます。ありがとうございました。
331デフォルトの名無しさん (ワッチョイ ed2f-VrXP)
2022/03/12(土) 03:38:02.55ID:pgjQzAZm0 オブジェクトブラウザがやってるけど、どうやってるんだろうな
>>328
エクスポートとかしなくても、VBEオブジェクト使えばコードのスキャンはできる
プロシジャ名の列挙だけでよければここの実行結果3がそうじゃね
https://excelwork.info/excel/codemoduleproperty/
>>328
エクスポートとかしなくても、VBEオブジェクト使えばコードのスキャンはできる
プロシジャ名の列挙だけでよければここの実行結果3がそうじゃね
https://excelwork.info/excel/codemoduleproperty/
332デフォルトの名無しさん (ワッチョイ 824f-QC5K)
2022/03/12(土) 08:17:43.49ID:7NvJtuE10 >>331
後出しになってしまい申し訳ありません。
実は、実際にやりたかったことは
自作したEntityクラスのプロパティを
片っ端からGetして配列に入れ込み、
それをシートに展開すると言うことでした。
名前の列挙さえ取得できれば
後はリフレクションで呼び出せば可能と
考えていました。
おかげで実装の目処がつきました。
ありがとうございます。
後出しになってしまい申し訳ありません。
実は、実際にやりたかったことは
自作したEntityクラスのプロパティを
片っ端からGetして配列に入れ込み、
それをシートに展開すると言うことでした。
名前の列挙さえ取得できれば
後はリフレクションで呼び出せば可能と
考えていました。
おかげで実装の目処がつきました。
ありがとうございます。
333デフォルトの名無しさん (ワッチョイ 01da-2kLS)
2022/03/13(日) 02:21:31.96ID:YEneWsYd0 どういう状況で使うんだろう
自分で作ったのに数が多すぎて覚えてないとか?
自分で作ったのに数が多すぎて覚えてないとか?
334デフォルトの名無しさん (ワッチョイ a97c-0GCz)
2022/03/13(日) 02:43:05.91ID:B1jPEMw70 素人ですが質問させて下さい。
画像のような、1つのシートに20行単位の表で、連番と日付を上の表から取得するようなブックを作成しています。
表の順番を変えても、常に1つ上の表の番号+1、同じ日付としたいため、直接セルを参照せずこのような関数を使用しています。
式は、↓としています。
=INDIRECT(ADDRESS(ROW()-20,COLUMN()))
起動中は問題なく動作するのですが、ブックを閉じて再起動すると、起動時に必ず落ちてしまいます。(手動計算にすると開ける)
コピーを作成して、上記の式の部分だけ消すと問題なく起動します。
この場合、何が悪いのでしょうか。或いは代替手段があれば教えて頂けると助かります。
https://i.imgur.com/cVZnwnZ.jpg
画像のような、1つのシートに20行単位の表で、連番と日付を上の表から取得するようなブックを作成しています。
表の順番を変えても、常に1つ上の表の番号+1、同じ日付としたいため、直接セルを参照せずこのような関数を使用しています。
式は、↓としています。
=INDIRECT(ADDRESS(ROW()-20,COLUMN()))
起動中は問題なく動作するのですが、ブックを閉じて再起動すると、起動時に必ず落ちてしまいます。(手動計算にすると開ける)
コピーを作成して、上記の式の部分だけ消すと問題なく起動します。
この場合、何が悪いのでしょうか。或いは代替手段があれば教えて頂けると助かります。
https://i.imgur.com/cVZnwnZ.jpg
335デフォルトの名無しさん (ワッチョイ a97c-0GCz)
2022/03/13(日) 02:49:45.62ID:B1jPEMw70 普段VBAを触っているためVBAスレで質問してしまいました。
スレ違いであればスルーして下さい。
スレ違いであればスルーして下さい。
336デフォルトの名無しさん (ワッチョイ 02da-GArk)
2022/03/13(日) 03:12:17.58ID:JfJkUCau0 >>335
多分Excel板なら親切な人が回答してくれすよ
多分Excel板なら親切な人が回答してくれすよ
337デフォルトの名無しさん (ワッチョイ 8d68-9pEf)
2022/03/13(日) 05:18:44.42ID:JG4Baegn0338デフォルトの名無しさん (ワッチョイ a97c-0GCz)
2022/03/13(日) 11:02:15.36ID:B1jPEMw70 レスありがとうございます。
こいつ自体難のあるものなんですね。
offsetで狙った動きができました。ありがとうございます。
こいつ自体難のあるものなんですね。
offsetで狙った動きができました。ありがとうございます。
339デフォルトの名無しさん (スップ Sda2-WCXV)
2022/03/13(日) 14:32:38.85ID:UXs3pJFgd 普通に「=R[-20]C+1」じゃダメなのかね(R1C1形式
340デフォルトの名無しさん (ベーイモ MM96-0GCz)
2022/03/14(月) 05:49:07.49ID:3S2IFgLOM >>339
これだと移動させたとき式の値も変動してしまいました。
これだと移動させたとき式の値も変動してしまいました。
341デフォルトの名無しさん (スップ Sda2-WCXV)
2022/03/14(月) 07:57:10.59ID:727wXMaZd >>340
失礼、移動後も保証しないとだめだからこれではだめですね
失礼、移動後も保証しないとだめだからこれではだめですね
342デフォルトの名無しさん (ベーイモ MM96-0GCz)
2022/03/14(月) 17:48:06.77ID:yx1wpkrnM >>334ですが、当初安定していたもののまた同じ現象になりました。
端末を変えるなり新しいブックにして作り直したり色々試すも改善せず、T列の参照だけがこの現象を引き起こしている(参照先が文字列だと発生しないが数値は発生)ことが分かったため他の列を経由して参照する形で概ね落ち着きました。
エクセル自体のバグなのか分かりませんが同種の状況の方の参考まで。
端末を変えるなり新しいブックにして作り直したり色々試すも改善せず、T列の参照だけがこの現象を引き起こしている(参照先が文字列だと発生しないが数値は発生)ことが分かったため他の列を経由して参照する形で概ね落ち着きました。
エクセル自体のバグなのか分かりませんが同種の状況の方の参考まで。
343デフォルトの名無しさん (ワッチョイ 8d68-9pEf)
2022/03/15(火) 13:19:58.65ID:cMhtDWKy0344デフォルトの名無しさん (ワッチョイ 2eda-9pEf)
2022/03/16(水) 04:32:35.42ID:3pfuXf5y0 ブックがブックわれている
345デフォルトの名無しさん (スフッ Sda2-eKgF)
2022/03/16(水) 07:48:40.55ID:/fL7/vIcd セル「 ちくしょーちくしょー! 完全体に…… 完全体にさえなればー! 」
346デフォルトの名無しさん (ワッチョイ 8d68-9pEf)
2022/03/16(水) 07:55:37.71ID:tVfnjSl40 エクセル「私の行数は 1048576です」
347デフォルトの名無しさん (ワッチョイ 824f-QC5K)
2022/03/16(水) 10:32:53.21ID:EfOqqAli0 質問させて下さい。
EXCELの自ブックのシートにVBAにてADO接続でSQLを投げてRecordSetに値を取得していますが、
あまりに遅いのでINDEXを対象のシートに設定したいのですが、可能でしょうか?
可能であれば実装方法を教えて頂けるとありがたいです。
CREATE INDEXのSQLを投げると
「この操作は、このタイプのオブジェクトには実行できません。」というエラーが返って来ます。
EXCEL VBA上でのADO接続だったのでこちらのスレで質問させて頂きました。
もしスレ違いで有れば誘導して頂けるとありがたいです。
EXCELの自ブックのシートにVBAにてADO接続でSQLを投げてRecordSetに値を取得していますが、
あまりに遅いのでINDEXを対象のシートに設定したいのですが、可能でしょうか?
可能であれば実装方法を教えて頂けるとありがたいです。
CREATE INDEXのSQLを投げると
「この操作は、このタイプのオブジェクトには実行できません。」というエラーが返って来ます。
EXCEL VBA上でのADO接続だったのでこちらのスレで質問させて頂きました。
もしスレ違いで有れば誘導して頂けるとありがたいです。
348デフォルトの名無しさん (ワッチョイ 012d-42Eo)
2022/03/16(水) 20:05:55.54ID:E9jeVJ9d0 エクセルの開発、挿入、フォームコントロールでリストボックスを作って操作するのですが
sheet.ListBoxes("List").AddItem "A" だったかな?で追加できるんですが
sheet.ListBoxes("List").Clear で全て消去したくてもエラーになります。
sheet.ListBoxes("List").RemoveItem 1 で消せるので .ListCountが0になるまで
消していくとやりたいことはできるのですがClearのような1行で消す方法が知りたいです。
あと選択している内容を取得したいのですが.Valueだと内容ではなくインデックス番号?が返ってきます
選択している内容を文字列で取得できないのでしょうか。検索してもユーザーフォームのページばかり
出てきてわかりません。どなたか知っていたら教えてください。
sheet.ListBoxes("List").AddItem "A" だったかな?で追加できるんですが
sheet.ListBoxes("List").Clear で全て消去したくてもエラーになります。
sheet.ListBoxes("List").RemoveItem 1 で消せるので .ListCountが0になるまで
消していくとやりたいことはできるのですがClearのような1行で消す方法が知りたいです。
あと選択している内容を取得したいのですが.Valueだと内容ではなくインデックス番号?が返ってきます
選択している内容を文字列で取得できないのでしょうか。検索してもユーザーフォームのページばかり
出てきてわかりません。どなたか知っていたら教えてください。
349デフォルトの名無しさん (ワッチョイ e5ce-9pEf)
2022/03/17(木) 04:53:04.06ID:2UkhCjLQ0350デフォルトの名無しさん (ワッチョイ 4de6-AsxV)
2022/03/17(木) 05:57:03.26ID:RdQIwXxN0 最近のExcelってヘルプもついていないの?
351デフォルトの名無しさん (ワッチョイ 8d68-9pEf)
2022/03/17(木) 06:07:57.47ID:UlLj9IGM0 ネットがあるからねぇ
352デフォルトの名無しさん (ワッチョイ 2eda-9pEf)
2022/03/17(木) 11:46:40.93ID:mL7eqXCg0 それでなくなったのか、知らんかった
353デフォルトの名無しさん (ワッチョイ a101-hMcI)
2022/03/17(木) 12:31:38.84ID:9VjLQzax0 F1押すだけでヘルプ出てくるの便利だったのにね
354デフォルトの名無しさん (ワッチョイ 6963-kZ2d)
2022/03/17(木) 12:35:28.43ID:++LfIShu0 F1ヘルプ起動大嫌い
起動遅いから誤爆した時ストレス
起動遅いから誤爆した時ストレス
355デフォルトの名無しさん (ワッチョイ 8549-hyR6)
2022/03/17(木) 12:48:39.33ID:Rh0i5fdo0 まあ市販ソフトとかゲームとかおしゃんな小物とかもネット参照多くなったしね
356デフォルトの名無しさん (ワッチョイ e5ce-9pEf)
2022/03/17(木) 15:59:04.45ID:2UkhCjLQ0 2010のあたりでヘルプがオンラインになって、旧バージョンのヘルプファイルを無理矢理インストールして使ってた記憶がある
あれってどのバージョンの話だっけ
あれってどのバージョンの話だっけ
357デフォルトの名無しさん (ワッチョイ e5ce-9pEf)
2022/03/17(木) 16:00:36.21ID:2UkhCjLQ0358デフォルトの名無しさん (ブーイモ MMa5-qlT7)
2022/03/17(木) 18:51:23.33ID:NNC6CjWiM やたら重かった無能なイルカよりはマシだろう
359デフォルトの名無しさん (ワッチョイ 0242-qEgK)
2022/03/17(木) 19:51:28.31ID:hQEb7r5k0 お前を消す方法なつい
360デフォルトの名無しさん (ワッチョイ 82da-WCXV)
2022/03/17(木) 20:00:50.39ID:+xJma3Ej0361デフォルトの名無しさん (ワッチョイ 012d-42Eo)
2022/03/17(木) 22:15:36.31ID:UYkpbTrn0362デフォルトの名無しさん (ワッチョイ 82da-oXSz)
2022/03/18(金) 09:26:17.20ID:yuFF0zGe0363デフォルトの名無しさん (スッップ Sda2-WCXV)
2022/03/18(金) 10:46:32.32ID:GvFVeYD4d364デフォルトの名無しさん (ワッチョイ 82ad-WCXV)
2022/03/18(金) 19:57:18.31ID:hw4UnylL0 シート上で任意に選択した範囲を set myRange = 選択範囲 のように代入した後、
For Each buf In myRange.Value
処理A
Next
という処理をしようとすると、
・選択範囲が複数ある場合:正常に動作する
・選択範囲が1つの場合:「型が一致しません」のエラーになる
「For each ○ IN ●」の●には複数セルが指定されていないといけないということでしょうか?
For Each buf In myRange.Value
処理A
Next
という処理をしようとすると、
・選択範囲が複数ある場合:正常に動作する
・選択範囲が1つの場合:「型が一致しません」のエラーになる
「For each ○ IN ●」の●には複数セルが指定されていないといけないということでしょうか?
365デフォルトの名無しさん (ワッチョイ 068c-9CcT)
2022/03/18(金) 23:38:51.84ID:q1DQLrxB0366デフォルトの名無しさん (ワッチョイ 068c-9CcT)
2022/03/18(金) 23:53:01.28ID:q1DQLrxB0 おっと間違えた
dim buf as range
For Each buf In myRange
debug.print buf.value
Next
dim buf as range
For Each buf In myRange
debug.print buf.value
Next
367デフォルトの名無しさん (ワッチョイ 13ad-bSSa)
2022/03/19(土) 00:50:36.99ID:OOddD3UI0 myRange.Value の Value がおかしかったのか。
ありがとうございます。
ありがとうございます。
368デフォルトの名無しさん (ワッチョイ 81da-yD8a)
2022/03/19(土) 02:03:56.48ID:yYNieGSo0 >>364
myRangeの何をbufとしてとりたいの?各セル、連続した複数のセル、myRange全体によつて正しいこーどは異なる
myRangeの何をbufとしてとりたいの?各セル、連続した複数のセル、myRange全体によつて正しいこーどは異なる
369364 (ワッチョイ 13ad-bSSa)
2022/03/19(土) 10:45:02.08ID:OOddD3UI0 >368
任意のドラッグ操作で選択したセルと同じ行のL列(左から12番目)に入っている文字列を結合して表示させようとしました。
Dim cnt As Integer
Dim myRange As Range
Dim buf As Range
Dim target As String
cnt = Selection.Rows.Count
Set myRange = Range(Cells(Selection.Rows(1).Row, 12), Cells(Selection.Rows(1).Row + cnt - 1, 12))
For Each buf In myRange
target = target & buf & vbCrLf
Next
Debug.Print target
任意のドラッグ操作で選択したセルと同じ行のL列(左から12番目)に入っている文字列を結合して表示させようとしました。
Dim cnt As Integer
Dim myRange As Range
Dim buf As Range
Dim target As String
cnt = Selection.Rows.Count
Set myRange = Range(Cells(Selection.Rows(1).Row, 12), Cells(Selection.Rows(1).Row + cnt - 1, 12))
For Each buf In myRange
target = target & buf & vbCrLf
Next
Debug.Print target
370デフォルトの名無しさん (ワッチョイ 8b10-QoK8)
2022/03/19(土) 10:48:26.22ID:kJy21FG50 >>347で質問させて頂いたものです。
色々調べましたがシートにINDEXを設定するのは実現可能か分からなかったのと、
出来ない場合、代替案を考えたいのですが、
ひとつのシートに20万行、100列の一覧が有ったとして
そのとき、ひとつの項目(項目1とします)はある値とイコール、更に別の項目(項目2とします)は
項目1で抽出したレコードの内の最大値を求めたいです。
どのような方法が一番速く処理出来ると思いますか?
色々調べましたがシートにINDEXを設定するのは実現可能か分からなかったのと、
出来ない場合、代替案を考えたいのですが、
ひとつのシートに20万行、100列の一覧が有ったとして
そのとき、ひとつの項目(項目1とします)はある値とイコール、更に別の項目(項目2とします)は
項目1で抽出したレコードの内の最大値を求めたいです。
どのような方法が一番速く処理出来ると思いますか?
371364 (ワッチョイ 13ad-bSSa)
2022/03/19(土) 10:48:43.76ID:OOddD3UI0 >>369は正常に動作したコードです。
最初は下記のようなコードでエラーとなっていました。
Dim buf As Variant ←Variant型にしていた。
For Each buf In myRange.Value ←.Valueを付けていた。
target = target & buf & vbCrLf
Next
Debug.Print target
最初は下記のようなコードでエラーとなっていました。
Dim buf As Variant ←Variant型にしていた。
For Each buf In myRange.Value ←.Valueを付けていた。
target = target & buf & vbCrLf
Next
Debug.Print target
372デフォルトの名無しさん (ブーイモ MMeb-J1hb)
2022/03/19(土) 10:51:21.24ID:CvJNM5+IM 範囲検索するのにfindとworksheetfunction.matchとではどちらが速いですか?
373デフォルトの名無しさん (ブーイモ MMeb-J1hb)
2022/03/19(土) 10:52:04.86ID:CvJNM5+IM ちなみに完全一致の場合です
374デフォルトの名無しさん (アウアウウー Sa5d-1noo)
2022/03/19(土) 11:51:46.09ID:/t3SgnSXa 自分で試せばいいだろw
375デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/19(土) 11:51:57.89ID:i9OMIEsk0 試したほうが早いよ
376デフォルトの名無しさん (ワッチョイ 1302-dhUW)
2022/03/19(土) 12:52:21.15ID:UXt2lmR80 は?試してたらこんな所で聞きませんけど?
377デフォルトの名無しさん (ワッチョイ fb8c-ef3C)
2022/03/19(土) 12:52:58.71ID:4DGoWoBi0 >>369
>cnt = Selection.Rows.Count
>Set myRange = Range(Cells(Selection.Rows(1).Row, 12), Cells(Selection.Rows(1).Row + cnt - 1, 12))
Set myRange = Cells(Selection.Row, "L").Resize(Selection.Rows.Count)
もっと簡単に書けそうな気もするがこんなもんかな
>cnt = Selection.Rows.Count
>Set myRange = Range(Cells(Selection.Rows(1).Row, 12), Cells(Selection.Rows(1).Row + cnt - 1, 12))
Set myRange = Cells(Selection.Row, "L").Resize(Selection.Rows.Count)
もっと簡単に書けそうな気もするがこんなもんかな
378デフォルトの名無しさん (アウアウウー Sa5d-1noo)
2022/03/19(土) 13:47:10.61ID:zEPprvQva >>376
試してなくても、こんなところで聞かないでくださいw
試してなくても、こんなところで聞かないでくださいw
379デフォルトの名無しさん (ワッチョイ b15f-UimK)
2022/03/19(土) 14:44:42.82ID:qNoriQBK0380デフォルトの名無しさん (ワッチョイ 13ad-bSSa)
2022/03/19(土) 15:12:32.83ID:OOddD3UI0 >>377
ありがとうございます。.Resizeを使うとスマートに書けるんですね。使ってみます。
ありがとうございます。.Resizeを使うとスマートに書けるんですね。使ってみます。
381デフォルトの名無しさん (スップ Sd33-yRs7)
2022/03/19(土) 15:57:19.25ID:rhR/rlzyd autofilterで表示されたものだけで、列をautofitすることは出来ますか?
382デフォルトの名無しさん (ワッチョイ fb8c-ef3C)
2022/03/19(土) 16:36:01.13ID:4DGoWoBi0 SpecialCells(xlCellTypeVisible)でできんじゃねーかな
383デフォルトの名無しさん (ワッチョイ 092b-8yjF)
2022/03/19(土) 16:40:58.85ID:AuBNrAzT0 コードはスマートなのに…って言われろ
384デフォルトの名無しさん (ワッチョイ fb8c-ef3C)
2022/03/19(土) 18:04:38.19ID:4DGoWoBi0 Range("テーブル1[項目A]").SpecialCells(xlCellTypeVisible).Columns.AutoFit
出来ないのかと思ったらできるじゃん
出来ないのかと思ったらできるじゃん
385デフォルトの名無しさん (アウアウウー Sa5d-WKyQ)
2022/03/19(土) 18:22:46.82ID:qn2+ggVDa VBA素人にご教示ください
PowerQueryで整形したテーブルのデータを
別ブックのVBAに引っ張ってきたい場合
・列データをユーザー定義型にまとめる
・ListObjectを使う
どちらがベターでしょうか?
PowerQueryで整形したテーブルのデータを
別ブックのVBAに引っ張ってきたい場合
・列データをユーザー定義型にまとめる
・ListObjectを使う
どちらがベターでしょうか?
386デフォルトの名無しさん (ブーイモ MM33-J1hb)
2022/03/19(土) 18:48:13.74ID:XaCRBAWQM 引っ張ってきたい側でpowerquery使って整形したテーブルをソースに指定する
387デフォルトの名無しさん (アウアウウー Sa5d-WKyQ)
2022/03/19(土) 19:07:47.91ID:qn2+ggVDa すいません、うまく説明できてませんでした
PowerQueryとVBAは別ブックでも同じブックでもいいです
やりたいことは
巨大なテーブルを参照してVBAで検索フォームを作りたい
です
その場合、テーブルデータを
・ユーザー定義型にまとめる
・ListObjectを使う
どちらがいいのか?が質問の意図です
改めてお願いします
PowerQueryとVBAは別ブックでも同じブックでもいいです
やりたいことは
巨大なテーブルを参照してVBAで検索フォームを作りたい
です
その場合、テーブルデータを
・ユーザー定義型にまとめる
・ListObjectを使う
どちらがいいのか?が質問の意図です
改めてお願いします
388デフォルトの名無しさん (ワッチョイ 695f-a5Bw)
2022/03/19(土) 20:45:24.46ID:ecCVM1RA0 全くの素人で申し訳ないんですけど、やりたい事
❶:B10からスタートしてボタンを押したら次の行に指定された文字を入力していく。
❷:Ifを使って、もしB29行まで埋まった状態でボタンを押したら
B2からB29までコピーしてB1からB28にペースト
→B29に指定された文字を入力
色々頑張ったけど自分で❶は出来たけど❷ハードルが高かった・・・
❶:B10からスタートしてボタンを押したら次の行に指定された文字を入力していく。
❷:Ifを使って、もしB29行まで埋まった状態でボタンを押したら
B2からB29までコピーしてB1からB28にペースト
→B29に指定された文字を入力
色々頑張ったけど自分で❶は出来たけど❷ハードルが高かった・・・
389デフォルトの名無しさん (アウアウウー Sa5d-1noo)
2022/03/19(土) 21:21:42.73ID:titlKmjCa 2のどの部分ができないのか
390デフォルトの名無しさん (ワッチョイ b15f-UimK)
2022/03/19(土) 21:33:07.78ID:qNoriQBK0 If Range("B29")<>"" then Range("B1:B28").value = Range("B2:B29").value
こんな感じか?
こんな感じか?
391デフォルトの名無しさん (スププ Sd33-a5Bw)
2022/03/19(土) 22:17:04.40ID:hVJQeY+Td >>389
IFで範囲内空白があった場合を出そうとしてたんだけどうまくいかなかったんや・・・
IFで範囲内空白があった場合を出そうとしてたんだけどうまくいかなかったんや・・・
392デフォルトの名無しさん (スププ Sd33-a5Bw)
2022/03/19(土) 22:17:58.96ID:hVJQeY+Td 因みに入れたいのは勝利か負け。2つボタン作れば別々に行けるかな
393デフォルトの名無しさん (スププ Sd33-a5Bw)
2022/03/19(土) 22:56:32.21ID:hVJQeY+Td >>389
ありがとう。認識できた。そしてなんとか検索して思うような結果になった!
ありがとう。認識できた。そしてなんとか検索して思うような結果になった!
394デフォルトの名無しさん (テテンテンテン MM73-yRs7)
2022/03/20(日) 00:13:30.21ID:ZUsPYd03M395デフォルトの名無しさん (ワッチョイ 99da-uN0U)
2022/03/20(日) 01:49:20.37ID:CEJcVsO40396デフォルトの名無しさん (ワッチョイ 1117-MEft)
2022/03/20(日) 06:37:24.28ID:Md+DYeh30 >>372
ちゃんとタイマー走らせて確認してるわけではないけど体感的には大して変わらない
でも完全一致で検索をかける場合matchは検索対象が存在しないとエラー停止するのに対してfindはset range変数=対象範囲.find(ryで検索をかけてやればrange変数がnothingか否かで判別可能だから個人的にはfindの方が好きかなぁ
ちゃんとタイマー走らせて確認してるわけではないけど体感的には大して変わらない
でも完全一致で検索をかける場合matchは検索対象が存在しないとエラー停止するのに対してfindはset range変数=対象範囲.find(ryで検索をかけてやればrange変数がnothingか否かで判別可能だから個人的にはfindの方が好きかなぁ
397デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/20(日) 08:33:55.10ID:Zh6y5r970 >>370
同じようなことを前考えたけど、恐らくEXCELのシートにインデックスを貼るのは無理っぽい。
ADOどころか拡張機能であるADOXでも無理だったはず。
代替案としてはSQLが使えないので、都度個別で考えるしかないけど、とある項目の最大値や最小値が入っているレコードの内容が欲しいなら基本、MATCH関数での検索となると思う。
同じようなことを前考えたけど、恐らくEXCELのシートにインデックスを貼るのは無理っぽい。
ADOどころか拡張機能であるADOXでも無理だったはず。
代替案としてはSQLが使えないので、都度個別で考えるしかないけど、とある項目の最大値や最小値が入っているレコードの内容が欲しいなら基本、MATCH関数での検索となると思う。
398デフォルトの名無しさん (ドコグロ MMbd-zKmY)
2022/03/20(日) 10:22:27.56ID:HKRI5d8YM399デフォルトの名無しさん (スップ Sd33-yRs7)
2022/03/20(日) 13:33:44.21ID:NjSblaend400デフォルトの名無しさん (ラクッペペ MMeb-yD8a)
2022/03/20(日) 15:42:40.21ID:IQ9r07oYM >>369
すまん、368だけどコード見てもやりたいことがまるでわからんので、回答書けない
すまん、368だけどコード見てもやりたいことがまるでわからんので、回答書けない
401デフォルトの名無しさん (ワッチョイ 3190-bSSa)
2022/03/20(日) 19:07:32.87ID:fXpRWn260 初心者のため、ご存じでしたらご教授お願い致します。
エクセルから印刷する際、プリンタをカラー、モノクロをそれぞれ
自動印刷できませんでしょうか?
PageSetup.BlackAndWhite = True/Flase
以外で方法がありましたら、ご教授をお願い致します。
エクセルから印刷する際、プリンタをカラー、モノクロをそれぞれ
自動印刷できませんでしょうか?
PageSetup.BlackAndWhite = True/Flase
以外で方法がありましたら、ご教授をお願い致します。
402デフォルトの名無しさん (ワッチョイ fb8c-ef3C)
2022/03/20(日) 19:41:51.49ID:V5Xg0/PX0 >>401
その方法では成功しないのですか?
その方法では成功しないのですか?
403デフォルトの名無しさん (ワッチョイ 1318-xc4H)
2022/03/20(日) 19:51:58.85ID:aHWtYUUu0 素人にご指導願います。
生年月日や所属等を含めた社員のリストを作ってまして、氏名等で検索できるようオートフィルターをvbaで作るところまではできました。
「チェックボックスにチェックを入れたら、指定した日付と同じ生年月日でフィルターをかける」という操作は可能でしょうか。
例えば、セルに1990/3/1を入れてるとして、チェックボックスにチェックを入れたらフィルターがかかって1990/3/1の生年月日だけ出てくる(それ以外は消える)というものです。
チェックボックスにチェックを入れるかどうかで指定した日でフィルターをかけるかどうかを判断したいです。
もし可能でしたら、ご教示いただけると幸いです。
よろしくお願いします。
生年月日や所属等を含めた社員のリストを作ってまして、氏名等で検索できるようオートフィルターをvbaで作るところまではできました。
「チェックボックスにチェックを入れたら、指定した日付と同じ生年月日でフィルターをかける」という操作は可能でしょうか。
例えば、セルに1990/3/1を入れてるとして、チェックボックスにチェックを入れたらフィルターがかかって1990/3/1の生年月日だけ出てくる(それ以外は消える)というものです。
チェックボックスにチェックを入れるかどうかで指定した日でフィルターをかけるかどうかを判断したいです。
もし可能でしたら、ご教示いただけると幸いです。
よろしくお願いします。
404デフォルトの名無しさん (ワッチョイ 3190-bSSa)
2022/03/20(日) 19:56:19.87ID:fXpRWn260 >>402
PageSetup.BlackAndWhite = Falseで白黒印刷設定したのですが、
塗りつぶしの背景が白で印刷されてしまいます。
また、カラーの図が白黒で印刷できませんでした。
プリンタのプロパティにある印刷設定(両面、集約、カラー等)はVBAでは制御できないでしょうか?
PageSetup.BlackAndWhite = Falseで白黒印刷設定したのですが、
塗りつぶしの背景が白で印刷されてしまいます。
また、カラーの図が白黒で印刷できませんでした。
プリンタのプロパティにある印刷設定(両面、集約、カラー等)はVBAでは制御できないでしょうか?
405デフォルトの名無しさん (ドコグロ MMbd-zKmY)
2022/03/20(日) 20:02:50.72ID:0CQh90gjM406デフォルトの名無しさん (ドコグロ MMbd-zKmY)
2022/03/20(日) 20:15:26.37ID:KxZjhn5zM >>404
すまん、リロードしてなかった
っていうか最初から書けよ…
> PageSetup.BlackAndWhite = Falseで白黒印刷設定したのですが
白黒設定は True じゃね?
> プリンタのプロパティにある印刷設定(両面、集約、カラー等)はVBAでは制御できないでしょうか?
無理、
Application.Dialogs(xlDialogPrinterSetup).Show
で、ダイアログを表示させるのが精一杯
すまん、リロードしてなかった
っていうか最初から書けよ…
> PageSetup.BlackAndWhite = Falseで白黒印刷設定したのですが
白黒設定は True じゃね?
> プリンタのプロパティにある印刷設定(両面、集約、カラー等)はVBAでは制御できないでしょうか?
無理、
Application.Dialogs(xlDialogPrinterSetup).Show
で、ダイアログを表示させるのが精一杯
407デフォルトの名無しくん (ワッチョイ fb8c-ef3C)
2022/03/20(日) 20:21:02.46ID:V5Xg0/PX0 >>404
プリンタドライバをもう一つ入れて、そのドライバの初期設定を白黒にして「白黒印刷専用」とする。
このプリンタ(ドライバ)をVBAで選択して印刷する。
過去にやったことがあるけどちょっとめんどくさかった記憶
他にいい方法あるのかな
プリンタドライバをもう一つ入れて、そのドライバの初期設定を白黒にして「白黒印刷専用」とする。
このプリンタ(ドライバ)をVBAで選択して印刷する。
過去にやったことがあるけどちょっとめんどくさかった記憶
他にいい方法あるのかな
408デフォルトの名無しさん (ワッチョイ 1117-MEft)
2022/03/20(日) 20:23:50.61ID:Md+DYeh30409デフォルトの名無しさん (ワッチョイ 3190-bSSa)
2022/03/20(日) 20:36:02.96ID:fXpRWn260 >>406
ご回答ありがとうございます。
理由も一緒に書けばよかったですね。大変失礼致しました。
以後気を付けます。
やはり無理なんですね。
他のかたがご指摘のように、白黒専用プリンタドライバを増やして
プリンタを切り替えてトライしてみます。
ご指摘の通り、PageSetup.BlackAndWhite = Trueが白黒です。失礼致しました。
ご回答ありがとうございます。
理由も一緒に書けばよかったですね。大変失礼致しました。
以後気を付けます。
やはり無理なんですね。
他のかたがご指摘のように、白黒専用プリンタドライバを増やして
プリンタを切り替えてトライしてみます。
ご指摘の通り、PageSetup.BlackAndWhite = Trueが白黒です。失礼致しました。
410デフォルトの名無しさん (ワッチョイ 3190-bSSa)
2022/03/20(日) 20:41:31.10ID:fXpRWn260 >>407
ご回答ありがとうございます。
プリンタドライバを増やす方法、ご提案ありがとうございます。
早速トライしてみます。
ドライバーを入れた後、プリンタの基本設定で白黒を初期設定にすれば白黒専用でいけますね。
ご回答ありがとうございます。
プリンタドライバを増やす方法、ご提案ありがとうございます。
早速トライしてみます。
ドライバーを入れた後、プリンタの基本設定で白黒を初期設定にすれば白黒専用でいけますね。
411デフォルトの名無しさん (スプッッ Sd73-noLJ)
2022/03/20(日) 21:09:18.42ID:j6YhEUF6d412デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/21(月) 02:46:04.32ID:HoitaytG0 スライサやタイムライン知らない人多いらしいね
マイナーなのかな?
マイナーなのかな?
413デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 06:08:07.49ID:8sRo6eoq0 マイナーはマイナーだと思う
MOS受けて初めて知ったわ
MOS受けて初めて知ったわ
414デフォルトの名無しさん (ワッチョイ 11da-noGs)
2022/03/21(月) 07:21:11.67ID:K7MjVs2M0 テーブルからしてまだマイナーだからかしら?
415デフォルトの名無しさん (ブーイモ MMcb-J1hb)
2022/03/21(月) 07:27:35.78ID:Od0FfcRPM ブックの共有するとテーブルが使えない
共有機能とテーブルどちらを選ぶとしたら会社では共有を選ぶ
糞共有機能は早く廃止してほしいな
共有機能とテーブルどちらを選ぶとしたら会社では共有を選ぶ
糞共有機能は早く廃止してほしいな
416デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 08:06:13.98ID:S9+WMeZFH 誰か教えてください
各営業所から毎月送られてくる実績ファイルを一つのブックに集計するマクロを作りたい
一つのフォルダに全てのブックを入れてループ処理するマクロ自体はできたんだけど肝心の転記の仕方がわからない
具体的には各ファイルの指定のセルから集計表ファイルの指定のセルに営業所名ごとに転記したい
営業所ファイルには4〜3月まで縦に月毎に実績が並んでいて集計表のファイルは横に月毎になってるって感じ
どうしてもわからなくてどなたか助けてください
各営業所から毎月送られてくる実績ファイルを一つのブックに集計するマクロを作りたい
一つのフォルダに全てのブックを入れてループ処理するマクロ自体はできたんだけど肝心の転記の仕方がわからない
具体的には各ファイルの指定のセルから集計表ファイルの指定のセルに営業所名ごとに転記したい
営業所ファイルには4〜3月まで縦に月毎に実績が並んでいて集計表のファイルは横に月毎になってるって感じ
どうしてもわからなくてどなたか助けてください
417デフォルトの名無しさん (ブーイモ MMcb-J1hb)
2022/03/21(月) 08:19:15.34ID:/kHY2rERM powerqueryだな
418デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 08:24:32.18ID:S9+WMeZFH419デフォルトの名無しさん (ワッチョイ 11da-noGs)
2022/03/21(月) 08:52:49.57ID:K7MjVs2M0 >>418
ようつべのライブラリに放り込んでた中から
役に立ちそうなもの見繕ってみた。
PLをフォルダに放り込むだけで科目ごとの数値を比較できる【エクセル パワークエリ PowerQuery】
https://youtu.be/xxc5sCl6U3w
大量のエクセルファイルを1つにまとめる方法【ファイル名活用】
https://youtu.be/XMwbj7x4Q0Y
【マクロ無しで】大量ファイルを1つに統合。簡単にクリック操作で可能(Power Query、取得と変換)
https://youtu.be/RCmoho3jU8Q
PowerQuery 複数のExcelファイルからデータを結合する方法
https://youtu.be/VxKoqBJWgRo
ようつべのライブラリに放り込んでた中から
役に立ちそうなもの見繕ってみた。
PLをフォルダに放り込むだけで科目ごとの数値を比較できる【エクセル パワークエリ PowerQuery】
https://youtu.be/xxc5sCl6U3w
大量のエクセルファイルを1つにまとめる方法【ファイル名活用】
https://youtu.be/XMwbj7x4Q0Y
【マクロ無しで】大量ファイルを1つに統合。簡単にクリック操作で可能(Power Query、取得と変換)
https://youtu.be/RCmoho3jU8Q
PowerQuery 複数のExcelファイルからデータを結合する方法
https://youtu.be/VxKoqBJWgRo
420デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 09:00:07.15ID:8sRo6eoq0 >>416
Sub foo()
'開いてset
Set 転記先ブック = ThisWorkbook
Set 営業所ブック = Workbooks.Open( _
"C:\Users\81909\Desktop\eigyosyo.xlsx")
'転記
転記先ブック.Sheets("sheet1").Range("b2:d3").Value = _
営業所ブック.Sheets("sheet1").Range("b2:d3").Value
End Sub
保存ファイルのパスと転記セルの範囲変えたら使えると思う
Sub foo()
'開いてset
Set 転記先ブック = ThisWorkbook
Set 営業所ブック = Workbooks.Open( _
"C:\Users\81909\Desktop\eigyosyo.xlsx")
'転記
転記先ブック.Sheets("sheet1").Range("b2:d3").Value = _
営業所ブック.Sheets("sheet1").Range("b2:d3").Value
End Sub
保存ファイルのパスと転記セルの範囲変えたら使えると思う
421デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/21(月) 09:06:14.38ID:Yo31hjL10422デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 09:14:48.04ID:8sRo6eoq0 >>421
そもそもフィルター掛ける必要があるのかどうかってのもあるけど・・・
ぱっとおもいつくのは
・forで回して別シートに転記。量が少なければそこまでかからんはず。量が多いとかなり大変
・別シートにfilter関数。かなり軽いけど、その量に対してはやったことないな
・スプレッドシートでquery関数。軽さならこれが最強で、めちゃくちゃ軽い
そもそもフィルター掛ける必要があるのかどうかってのもあるけど・・・
ぱっとおもいつくのは
・forで回して別シートに転記。量が少なければそこまでかからんはず。量が多いとかなり大変
・別シートにfilter関数。かなり軽いけど、その量に対してはやったことないな
・スプレッドシートでquery関数。軽さならこれが最強で、めちゃくちゃ軽い
423デフォルトの名無しさん (アウアウエー Sae3-Sjl/)
2022/03/21(月) 16:06:54.19ID:YtFKrPKNa424デフォルトの名無しさん (アウアウエー Sae3-Sjl/)
2022/03/21(月) 16:10:10.41ID:YtFKrPKNa425デフォルトの名無しさん (ブーイモ MMcb-J1hb)
2022/03/21(月) 16:14:49.98ID:ombAFbaLM >>420は要点をコンパクトに上手に説明してる
これが理解できないなら自分で最終回答に辿り着くのは無理だよ
これが理解できないなら自分で最終回答に辿り着くのは無理だよ
426デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 16:21:01.88ID:8sRo6eoq0 >424
転記の部分は値でコピーペーストだよ
試しに動かしてみたほうが早いと思う
転記の部分は値でコピーペーストだよ
試しに動かしてみたほうが早いと思う
427デフォルトの名無しさん (アウアウエー Sae3-Sjl/)
2022/03/21(月) 16:38:45.50ID:YtFKrPKNa428デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/21(月) 16:43:02.21ID:HoitaytG0 テーブルってまだ普及していないねかな?
429デフォルトの名無しさん (ブーイモ MM9d-KKNZ)
2022/03/21(月) 16:50:26.11ID:DBpwCepOM 永遠に普及しないでしょうね
列島猿はセル結合したり自分で色塗ったり線引いたりするのが大好きで、お仕着せのDBにデータだけ放り込むみたいなのは苦手なので
列島猿はセル結合したり自分で色塗ったり線引いたりするのが大好きで、お仕着せのDBにデータだけ放り込むみたいなのは苦手なので
430デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 16:56:11.28ID:8sRo6eoq0 全面的に同意
テーブルで表作ったらテーブルを解除しろって言われるレベル
テーブルで表作ったらテーブルを解除しろって言われるレベル
431デフォルトの名無しさん (ワッチョイ 4901-vHb9)
2022/03/21(月) 17:19:32.38ID:fDbYf0xJ0432デフォルトの名無しさん (ワッチョイ 4901-vHb9)
2022/03/21(月) 17:21:13.79ID:fDbYf0xJ0 テーブルでも椅子でもいいからさっさとやれと言われるわしら下っ端
433デフォルトの名無しさん (ドコグロ MM63-zKmY)
2022/03/21(月) 17:57:58.00ID:bPJRBgFUM >>416
マクロ記録開始してその転記の操作してみればいいかと
マクロ記録開始してその転記の操作してみればいいかと
434デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 19:13:04.04ID:S9+WMeZFH435デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/21(月) 19:37:57.87ID:HoitaytG0 いつも思うのだけど、これだけExcel情報が世の中に溢れているのにセルご法度の結合だの色塗りまくるだの改行だのする人ばかりなのは何故なんだろうね??
パソコン雑誌とか読んで勉強していないのかなと?
パソコン雑誌とか読んで勉強していないのかなと?
436デフォルトの名無しさん (US 0H45-9bVs)
2022/03/21(月) 19:43:19.70ID:zSyDDKWUH437デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 19:53:51.30ID:8sRo6eoq0438デフォルトの名無しさん (ドコグロ MM63-zKmY)
2022/03/21(月) 20:06:38.09ID:7hRN3rZ2M439デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 20:11:42.48ID:S9+WMeZFH >>433
それも思ったんですけどそれだと恐らく一つの営業所の実績を一つのセルにコピーする操作になってしまいそうで…
それも思ったんですけどそれだと恐らく一つの営業所の実績を一つのセルにコピーする操作になってしまいそうで…
440デフォルトの名無しさん (ワッチョイ fb8c-ef3C)
2022/03/21(月) 20:23:41.52ID:2j3OjuAE0441デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 20:42:56.54ID:S9+WMeZFH442デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 20:43:57.15ID:8sRo6eoq0 >>439
転記部分は好きなように変えたり増やしたりスレば良い
b2をd3に、a1をe5に、など、なんとでもなる。
'転記
転記先ブック.Sheets("sheet1").Range("b2").Value = _
営業所ブック.Sheets("sheet1").Range("d3").Value
転記先ブック.Sheets("sheet1").Range("a1").Value = _
営業所ブック.Sheets("sheet1").Range("e5").Value
転記部分は好きなように変えたり増やしたりスレば良い
b2をd3に、a1をe5に、など、なんとでもなる。
'転記
転記先ブック.Sheets("sheet1").Range("b2").Value = _
営業所ブック.Sheets("sheet1").Range("d3").Value
転記先ブック.Sheets("sheet1").Range("a1").Value = _
営業所ブック.Sheets("sheet1").Range("e5").Value
443デフォルトの名無しさん (ドコグロ MM63-zKmY)
2022/03/21(月) 21:18:25.50ID:8fSFwG7JM444デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 21:20:10.88ID:S9+WMeZFH445デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 21:21:07.73ID:S9+WMeZFH446デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/21(月) 21:49:42.78ID:HoitaytG0 日本のExcelのレベルが低いからExcel講師やパソコン教室が潤うと。
447デフォルトの名無しさん (スプッッ Sd73-noLJ)
2022/03/21(月) 22:13:13.78ID:NuDNOSQMd ループ文とか条件文とかユーザーフォームとかクラスとか使ってごちゃごちゃやってるけど結局のところファイルの開閉と転記作業しかしてない事に気づいた
転記があれば何でも出来る
転記があれば何でも出来る
448デフォルトの名無しさん (ワッチョイ 41ce-noGs)
2022/03/21(月) 23:00:27.32ID:Rbd9piL90 転記の子
449デフォルトの名無しさん (ワッチョイ d901-Z03/)
2022/03/22(火) 00:36:53.70ID:000FKf5P0 始めたてのド素人ですがご教示頂けると幸いです。
表の列ごとにランダムに入っている異なるフォントの色で正負を判断して最終行に和と差の合計値を出力したいのですが可能でしょうか?
詳しく言うと赤色が負として、黒色が正としてセルに数値が手打ちされてます。
列の最終行を取得しsum関数を挿入することはできるのですが、フォントの色で正負を判断して合計値が出せるのか教えていただけないでしょうか。
表の列ごとにランダムに入っている異なるフォントの色で正負を判断して最終行に和と差の合計値を出力したいのですが可能でしょうか?
詳しく言うと赤色が負として、黒色が正としてセルに数値が手打ちされてます。
列の最終行を取得しsum関数を挿入することはできるのですが、フォントの色で正負を判断して合計値が出せるのか教えていただけないでしょうか。
450デフォルトの名無しさん (ワッチョイ 41ce-noGs)
2022/03/22(火) 00:49:54.42ID:kEBDDtio0451デフォルトの名無しさん (ワッチョイ 1302-dhUW)
2022/03/22(火) 01:08:13.62ID:TibwPpTv0 書式に辿り着ければ
自ずと答えが見つかろうぞ
自ずと答えが見つかろうぞ
452デフォルトの名無しさん (スプッッ Sd73-noLJ)
2022/03/22(火) 01:19:04.08ID:KVIRUNm3d そもそもVBA不要
sumif関数で出来る
sumif関数で出来る
453デフォルトの名無しくん (ワッチョイ fb8c-ef3C)
2022/03/22(火) 02:43:58.13ID:d3YPRjya0 きっとこれは黒色の負とか青色の正とかあって
あえて色で集計したいんだろうな
と、深読み
あえて色で集計したいんだろうな
と、深読み
454デフォルトの名無しさん (ワッチョイ d901-Z03/)
2022/03/22(火) 12:14:00.76ID:000FKf5P0 ご返信ありがとうございます。
表のシートが種類ごとにあって量が千を超えているので自動化したい所存です。
前任が手書きの台帳をエクセルに落してくれたまでは良かったのですが、他の社員が手書きのときと変わらず正の値で色のみ変えて入力するため、毎年年度末になると延々と手作業で何時間も単純作業を強いられるのでなんとかならないかと思案しておりました。
表のシートが種類ごとにあって量が千を超えているので自動化したい所存です。
前任が手書きの台帳をエクセルに落してくれたまでは良かったのですが、他の社員が手書きのときと変わらず正の値で色のみ変えて入力するため、毎年年度末になると延々と手作業で何時間も単純作業を強いられるのでなんとかならないかと思案しておりました。
455デフォルトの名無しさん (ワッチョイ 1117-MEft)
2022/03/22(火) 12:33:30.37ID:jGZXGfWV0 条件書式でゼロ以上は赤字にするとかでもダメなんか?
逆にVBA使った方が遅かったり不便にかりそうな案件だと思うんだが
逆にVBA使った方が遅かったり不便にかりそうな案件だと思うんだが
456デフォルトの名無しさん (ドコグロ MM63-zKmY)
2022/03/22(火) 13:33:25.27ID:MYdjPEb1M >>421
> 残念ながら20万件100項目という量のせいか、
> フィルターを掛けるとそのまま固まってしまい、いつ返ってくるか、そもそも返ってくるのかすら分からない状況になりました。
PC買い替えろ
30万行x300列に数値データを埋めてやってみたけどフィルター処理なんてほぼ瞬時に終わるぞ
> 残念ながら20万件100項目という量のせいか、
> フィルターを掛けるとそのまま固まってしまい、いつ返ってくるか、そもそも返ってくるのかすら分からない状況になりました。
PC買い替えろ
30万行x300列に数値データを埋めてやってみたけどフィルター処理なんてほぼ瞬時に終わるぞ
457デフォルトの名無しさん (ワッチョイ 1342-7ZW8)
2022/03/22(火) 13:38:08.96ID:mA7AOTDM0 他の社員が入力してるものだからなあ
集計よりも入力用のシートを何とかできたら手っ取り早いんだがそれは無理なんかな
集計よりも入力用のシートを何とかできたら手っ取り早いんだがそれは無理なんかな
458デフォルトの名無しさん (ラクッペペ MMeb-7wAP)
2022/03/22(火) 13:43:49.21ID:R4HxgmoiM 色付けるよりマイナス記号打つ方が速いだろうに……
ご苦労さまでした
ご苦労さまでした
459デフォルトの名無しさん (スッップ Sd33-qAFj)
2022/03/22(火) 13:48:33.03ID:C94PEu1/d >>454
はっきり言えばこんなこともできないお前は手を出すな
はっきり言えばこんなこともできないお前は手を出すな
460デフォルトの名無しさん (ドコグロ MM63-zKmY)
2022/03/22(火) 14:03:10.79ID:l3SAD7eYM >>455
元のデータが 1, -2 ってなってるところを 1, 2 (←赤文字) で入力されてるんだろ
>>454
if Cells(行,列).Font.Color = RGB(255,0,0) Then ...
で判断できるよ
データ書き換えていいなら(てか、個人的にはそうすべきと思うが)
For C In ActiveSheet.UsedRange
If C.Font.Color = XlRgbColor.rgbRed And IsNumeric(C.Value) Then
C.Value = -C.Value
C.Font.Color = XlRgbColor.rgbBlack
End If
Next
として、一気に書き換えちゃうのがいいかも
元のデータが 1, -2 ってなってるところを 1, 2 (←赤文字) で入力されてるんだろ
>>454
if Cells(行,列).Font.Color = RGB(255,0,0) Then ...
で判断できるよ
データ書き換えていいなら(てか、個人的にはそうすべきと思うが)
For C In ActiveSheet.UsedRange
If C.Font.Color = XlRgbColor.rgbRed And IsNumeric(C.Value) Then
C.Value = -C.Value
C.Font.Color = XlRgbColor.rgbBlack
End If
Next
として、一気に書き換えちゃうのがいいかも
461デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/22(火) 19:08:50.48ID:Gjrul4fP0 >>456
流石に仕事場のPCを勝手に買い替えるのは私には出来ませんし、
最終的にフィルター等の処理は使用せずにかなりの高速化をはかることが出来ました。
この方式が最速ではないかも知れませんが、
今までADO接続でSQLを実施して
2〜3分掛かっていた処理が一瞬で終わるようになったので満足しています。
今まで質問に答えて頂いた方、色々参考にさせていたきました。
ありがとうございました。
流石に仕事場のPCを勝手に買い替えるのは私には出来ませんし、
最終的にフィルター等の処理は使用せずにかなりの高速化をはかることが出来ました。
この方式が最速ではないかも知れませんが、
今までADO接続でSQLを実施して
2〜3分掛かっていた処理が一瞬で終わるようになったので満足しています。
今まで質問に答えて頂いた方、色々参考にさせていたきました。
ありがとうございました。
462デフォルトの名無しさん (スプッッ Sd73-noLJ)
2022/03/22(火) 20:15:28.30ID:WUXZwGEtd463デフォルトの名無しさん (ワッチョイ b9aa-7ZW8)
2022/03/22(火) 23:22:39.90ID:VOPCLAbN0 本当にド素人なのでお許し下さい
ここに3枚の請求書(Excelデータ形式)があり、それぞれsheet1、sheet2、sheet3にあります
フォーマットはバラバラで文字や配置が異なります
これをsheet4で「支払日」「取引先名」「取引内容」「税込金額」を一覧表にしたいのです
こういうことはVBAでは可能でしょうか?
可能であれば、難易度はどの程度でしょうか?
*実際には請求書は数百枚あります
ここに3枚の請求書(Excelデータ形式)があり、それぞれsheet1、sheet2、sheet3にあります
フォーマットはバラバラで文字や配置が異なります
これをsheet4で「支払日」「取引先名」「取引内容」「税込金額」を一覧表にしたいのです
こういうことはVBAでは可能でしょうか?
可能であれば、難易度はどの程度でしょうか?
*実際には請求書は数百枚あります
464デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/22(火) 23:26:23.97ID:b3mXLXMM0465デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/22(火) 23:26:42.94ID:b3mXLXMM0 かわらん、と言ったけど手作業でコピペする方が早いわ
466デフォルトの名無しさん (ワッチョイ 292c-kNuw)
2022/03/22(火) 23:43:05.71ID:6kcI/g5C0 >>461
そのフィルターが処理するために、
全データをメモリに載せようとするから、メモリ不足でフリーズする
20万件 * 100項目 = 2千万項目, 20,000,000
仮に、1つの項目が1KB とすると、
20,000,000 KB = 20,000 MB = 20 GB
メモリに載せられないから、フリーズする
ファイルの読み込みと同じ。
20GBのファイルを一度に全部読み込めない
部分的な読み込みにしないと無理
例えば、1MBずつ読み込んで処理して、そのデータを捨てるとか。
これなら、1MBしかメモリを使わない
でも、この方法では、全データをソートしたりできない。
自分で実装できないから、結局、データベースを使うしかない
そのフィルターが処理するために、
全データをメモリに載せようとするから、メモリ不足でフリーズする
20万件 * 100項目 = 2千万項目, 20,000,000
仮に、1つの項目が1KB とすると、
20,000,000 KB = 20,000 MB = 20 GB
メモリに載せられないから、フリーズする
ファイルの読み込みと同じ。
20GBのファイルを一度に全部読み込めない
部分的な読み込みにしないと無理
例えば、1MBずつ読み込んで処理して、そのデータを捨てるとか。
これなら、1MBしかメモリを使わない
でも、この方法では、全データをソートしたりできない。
自分で実装できないから、結局、データベースを使うしかない
467デフォルトの名無しさん (ワッチョイ 112f-kNuw)
2022/03/23(水) 00:15:35.00ID:HTP/aspP0468デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/23(水) 00:34:00.08ID:3vbjDh2k0 。。同志達は例の追加された新しい関数の情報つかんでいるよね?
なんだか凄そうな予感
なんだか凄そうな予感
469デフォルトの名無しさん (ワッチョイ 41ce-noGs)
2022/03/23(水) 01:05:25.56ID:MTKAae3e0 ワークシート関数の追加のニュースなら見たけどVBAにも何か追加されるん?
https://forest.watch.impress.co.jp/docs/news/1395929.html
https://forest.watch.impress.co.jp/docs/news/1395929.html
470デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/23(水) 05:27:44.59ID:kSdTSG5d0 >>466
なるほど、一度メモリに全て載せるようにするからフリーズするかのごとく重くなるのですね。
EXCELに割り当てられるメモリがどのくらいなのかは分かりませんが、納得です。
ありがとうございます。
なるほど、一度メモリに全て載せるようにするからフリーズするかのごとく重くなるのですね。
EXCELに割り当てられるメモリがどのくらいなのかは分かりませんが、納得です。
ありがとうございます。
471デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/23(水) 05:59:20.73ID:kSdTSG5d0 >>467
最終的にはその重いシートを使用する場合にはADOを使用するのをやめました。
代わりに、>>397の人が教えてくれたような技法を使うようにしました。
正確には本来、プライマリキーが設定されるような最も検索後の件数が少なくなるような項目の列をFindで検索して、
その際に検索された値が入っている行の、別項目で最も値の大きい行を取得し、その行にある情報を取得するようにしました。
ADO接続ではSQLを投げられるのでかなり便利で、作成して扱う部品も統一化し易いのですが、
大量なデータを持つシートを扱う場合、或いは後に大量なデータを持つ可能性があると思われるシートを扱う場合は
都度個別にロジックを作成する必要があるという結論になりました。
最終的にはその重いシートを使用する場合にはADOを使用するのをやめました。
代わりに、>>397の人が教えてくれたような技法を使うようにしました。
正確には本来、プライマリキーが設定されるような最も検索後の件数が少なくなるような項目の列をFindで検索して、
その際に検索された値が入っている行の、別項目で最も値の大きい行を取得し、その行にある情報を取得するようにしました。
ADO接続ではSQLを投げられるのでかなり便利で、作成して扱う部品も統一化し易いのですが、
大量なデータを持つシートを扱う場合、或いは後に大量なデータを持つ可能性があると思われるシートを扱う場合は
都度個別にロジックを作成する必要があるという結論になりました。
472デフォルトの名無しさん (アウアウウー Sa5d-zKmY)
2022/03/23(水) 06:08:26.57ID:+yWQsdmla473デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/23(水) 06:19:06.78ID:kSdTSG5d0 今は完全に個別の処理としてロジックを作成していますが、Findで一番検索後の件数が少なくなる場所を検索する部分は共通部品化出来そうですね。
その内その中で更にどのように抽出するかの部分においては別関数化してリフレクションで呼び出すようにすればその部分だけ個別で行えるような気もするので、
当面の目標はそれになります。
その内その中で更にどのように抽出するかの部分においては別関数化してリフレクションで呼び出すようにすればその部分だけ個別で行えるような気もするので、
当面の目標はそれになります。
474466 (ワッチョイ 292c-kNuw)
2022/03/23(水) 09:27:45.30ID:znQ4kzdw0 >>466
>仮に、1つの項目が1KB とすると、
>20,000,000 KB = 20,000 MB = 20 GB
1つの項目が100バイトなら、2GB。
これでも、メモリ不足になる
1つのアプリは普通、100MB ぐらいまででしょ?
数百MBも使えるアプリは無いでしょ?
使用メモリの制限を外さないと無理じゃないの?
>仮に、1つの項目が1KB とすると、
>20,000,000 KB = 20,000 MB = 20 GB
1つの項目が100バイトなら、2GB。
これでも、メモリ不足になる
1つのアプリは普通、100MB ぐらいまででしょ?
数百MBも使えるアプリは無いでしょ?
使用メモリの制限を外さないと無理じゃないの?
475デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/23(水) 09:46:29.99ID:KFrQJBSS0 メモリの制限に達するとストレージ、仮想メモリ使うよ・・・何を言ってるんだ・・・
476デフォルトの名無しさん (ワッチョイ 0b68-noGs)
2022/03/23(水) 09:50:01.23ID:MR2jKSYA0 >>474は後で恥ずかしい思いするぞ
それとも過去の人か
それとも過去の人か
477466 (ワッチョイ 292c-kNuw)
2022/03/23(水) 11:39:32.08ID:znQ4kzdw0 Java とか、VM のメモリ不足で落ちるとか?
デフォルトのメモリ割り当て設定が少ないからとか、聞いたけど
各アプリには、そういう設定があるのでは?
デフォルトのメモリ割り当て設定が少ないからとか、聞いたけど
各アプリには、そういう設定があるのでは?
478デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/23(水) 11:43:25.55ID:KFrQJBSS0 テキトーすぎでは
479466 (ワッチョイ 292c-kNuw)
2022/03/23(水) 11:45:19.28ID:znQ4kzdw0 例えば、2GB のメモリに、Windows 10 をインストールしたら、
1クリックの動作に、1分掛かるので、全く使えない
仮想メモリとか、ほぼ意味ない。
遅すぎる
ドンキの格安PC とかも、そう
1クリックの動作に、1分掛かるので、全く使えない
仮想メモリとか、ほぼ意味ない。
遅すぎる
ドンキの格安PC とかも、そう
480デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/23(水) 11:49:59.54ID:KFrQJBSS0 質問者のPCの中身が分からないのになんでどうでもいい豆知識披露してるんだw
481デフォルトの名無しさん (ワッチョイ fb66-iJS8)
2022/03/23(水) 11:50:45.45ID:nUwfSeaH0 2Gでも1クリックに1分とかはかからないのでは?
win10とそっくりなwin 2019 serverが
2core メモリ1Gでも、
ああもっさりだけどまぁ普通にマウス操作できるなぁ、
ぐらいには動くし。
win10とそっくりなwin 2019 serverが
2core メモリ1Gでも、
ああもっさりだけどまぁ普通にマウス操作できるなぁ、
ぐらいには動くし。
482デフォルトの名無しさん (オッペケ Sr85-MdQT)
2022/03/23(水) 12:06:56.65ID:jxCik/Tkr 句読点の使い方とかからして関わっちゃいけない人だとわかる
483466 (ワッチョイ 292c-kNuw)
2022/03/23(水) 12:22:53.98ID:znQ4kzdw0 CPU がセロリンだからかも
メモリ2GBぐらいのPC は、CPUも安物だから、1クリック1分ぐらい掛かる
メモリ2GBぐらいのPC は、CPUも安物だから、1クリック1分ぐらい掛かる
484デフォルトの名無しさん (アウアウウー Sa5d-MEft)
2022/03/23(水) 12:52:02.64ID:bsuIYc5Za >>474
よくわからないのでExcelでの検証方法と結果を出してくれないか?
よくわからないのでExcelでの検証方法と結果を出してくれないか?
485デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/23(水) 14:41:23.04ID:3vbjDh2k0 同志達はケッコー上等なパソコン使っているイメージだがどうなの??
486デフォルトの名無しさん (ラクッペペ MMeb-7wAP)
2022/03/23(水) 15:29:25.74ID:TpwnHNL9M パフォーマンスが必要ならDB使えばいいのよ
487デフォルトの名無しさん (ブーイモ MM4d-MEft)
2022/03/23(水) 18:26:48.33ID:PWl/OlCpM 社用PCってのは基本10万未満に抑えないと固定資産化して面倒だからそこまでスペックが高くないんよ
それこそ自社でPC作ってる会社でも未だにメモリ4GB以下だのCore i3だのが当たり前なぐらい
それこそ自社でPC作ってる会社でも未だにメモリ4GB以下だのCore i3だのが当たり前なぐらい
488デフォルトの名無しさん (ラクッペペ MMeb-7wAP)
2022/03/23(水) 18:30:41.97ID:TpwnHNL9M i3なんて贅沢な
489421 (ワッチョイ 134f-QoK8)
2022/03/23(水) 19:13:52.79ID:kSdTSG5d0 今更i5の1.6Gでメモリ8Gなんて言えない・・・ー
490デフォルトの名無しさん (ワッチョイ 1117-MEft)
2022/03/23(水) 19:39:45.28ID:Jy3nut2I0 そのスペックでその程度のデータ処理でそんなに時間がかかるのは明らかに何かがおかしい
確実に変なことをしている
確実に変なことをしている
491デフォルトの名無しさん (ラクッペペ MMeb-7wAP)
2022/03/23(水) 20:00:19.51ID:TpwnHNL9M ADOのExcel Driverなんておもちゃに決まってんでしょ
上っ面の体裁整えただけ
上っ面の体裁整えただけ
492デフォルトの名無しさん (ワッチョイ fb66-iJS8)
2022/03/23(水) 21:28:40.17ID:nUwfSeaH0 今のPC平均てi8700 or Ryzen2600くらいじゃないんかいな?
2.4から3.5Ghz の6-12コアあたりが多いやろ。
3-4年前のマシン。
ややいいと4Ghz の12-16コアくらいでしょ。
2.4から3.5Ghz の6-12コアあたりが多いやろ。
3-4年前のマシン。
ややいいと4Ghz の12-16コアくらいでしょ。
493デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/23(水) 22:55:53.13ID:KFrQJBSS0 SSDかHDDか
問題はここだけだ
変なエクセルファイル作る人は、どれだけPC性能よくてもいずれ詰む
問題はここだけだ
変なエクセルファイル作る人は、どれだけPC性能よくてもいずれ詰む
494デフォルトの名無しさん (ワッチョイ fb66-iJS8)
2022/03/24(木) 01:29:04.78ID:y95b8UUh0 つかアーカイブドライブが大きな1-2T程度のSATASSDで、CやDの2つくらいが500-1TのNVMeなんじゃないの
HDDなんかは半年に一度みるかもなデータでもない限り使わないと思うけどな。
内蔵にHDDなんかあったら存在だけで使ってなくてもめっちゃ遅くなるし。
HDDなんかは半年に一度みるかもなデータでもない限り使わないと思うけどな。
内蔵にHDDなんかあったら存在だけで使ってなくてもめっちゃ遅くなるし。
495デフォルトの名無しさん (ワッチョイ 8b8e-qAFj)
2022/03/24(木) 02:30:52.55ID:Rmqc3Mmn0 >>494
馬鹿は黙っていればいいのに
馬鹿は黙っていればいいのに
496デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/24(木) 03:16:35.71ID:ECMUHWnp0 ゲーミングPCの恩恵受けたいです。
派でなキーボードで
派でなキーボードで
497デフォルトの名無しさん (ワッチョイ 09a5-noGs)
2022/03/24(木) 12:17:51.66ID:vEIStuKr0 20万x100の中から最大値求めたいなら
1万x100ずつ読みだして最大値20個比較するのが一番早いんでねーの?
1万x100ずつ読みだして最大値20個比較するのが一番早いんでねーの?
498デフォルトの名無しさん (アウアウウー Sa5d-zKmY)
2022/03/24(木) 13:05:59.63ID:5Ha8a+Lla >>497
なぜそれで速くなると思った?
なぜそれで速くなると思った?
499デフォルトの名無しくん (ワッチョイ fb8c-ef3C)
2022/03/24(木) 14:49:33.59ID:MIQ/3HwW0 分割処理は面倒なようで低スペックには限界を回避し優しい
500デフォルトの名無しさん (ワッチョイ 4901-vHb9)
2022/03/24(木) 15:52:30.97ID:Z1gVjOVJ0501デフォルトの名無しさん (アウアウウー Sa5d-1noo)
2022/03/24(木) 16:05:22.00ID:0iDW3zlua 数年前、外出時にexcelを使うため
windowsタブレット(atom)を、最適化してた
そこそこ使えるんだけど、
たまにすごく遅くなるから原因探ったらmdbにアクセスしてるときだった
windowsタブレット(atom)を、最適化してた
そこそこ使えるんだけど、
たまにすごく遅くなるから原因探ったらmdbにアクセスしてるときだった
502デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/24(木) 20:19:51.61ID:ECMUHWnp0 会社はケチだから高級スペッコのパソコンを購入してくれない。
職場の古いデスクよか私物のノーパソの方がサクサク(Ryzen積んだヤツ)
職場の古いデスクよか私物のノーパソの方がサクサク(Ryzen積んだヤツ)
503デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/24(木) 20:23:26.56ID:/oHcKJ7o0 うちは全部SSDに変えたよ
i5 2400もサクサク
1万投資するだけでPCが復活するというのに、なんでみんなやらないんだろうな
i5 2400もサクサク
1万投資するだけでPCが復活するというのに、なんでみんなやらないんだろうな
504デフォルトの名無しさん (ワッチョイ 0bda-noGs)
2022/03/24(木) 21:32:40.98ID:XNeV8CRo0 儲かっている会社だけじゃないことくらい想像つくだろ
505デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/24(木) 23:51:54.91ID:3J8f/LKg0 7年前に買ったi7のLavie。
何かメチャクチャ重いので中見てみたら
メモリが4G。そして当たり前のようにHDD。
メモリは買い換えて16G積んだけど
それでも立ち上げはなぜか遅い。
それ以来もうYAMADA電気では絶対PCを
買わないことを心に誓った。
何かメチャクチャ重いので中見てみたら
メモリが4G。そして当たり前のようにHDD。
メモリは買い換えて16G積んだけど
それでも立ち上げはなぜか遅い。
それ以来もうYAMADA電気では絶対PCを
買わないことを心に誓った。
506デフォルトの名無しさん (ワッチョイ 292c-kNuw)
2022/03/25(金) 01:16:28.60ID:XVe+E9v/0 さすがに、HDD は遅いでしょ
507デフォルトの名無しさん (ワッチョイ 298e-qAFj)
2022/03/25(金) 01:24:52.38ID:x94dfbyJ0 >>505
ヤマダ電機は関係なくお前が馬鹿なだけだろ
ヤマダ電機は関係なくお前が馬鹿なだけだろ
508デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/25(金) 01:25:53.93ID:jqc8A7wc0 事務員が職場でゲーミングノートなんか使っていたらカオスだね
遊びに見られる
遊びに見られる
509デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/25(金) 01:28:11.57ID:jqc8A7wc0 つか立ち上がりってメモリよりSSDが大きく関係しているんじゃないの?
過去にウィンドウズスレで詳しい人に教えてもらった。
過去にウィンドウズスレで詳しい人に教えてもらった。
510デフォルトの名無しさん (アウアウウー Sa5d-noGs)
2022/03/25(金) 01:40:28.27ID:p3htVTGSa どうしてVBAプログラマーって、
コードの内容だけ調べて、
「はい、こうなってこうなって、こうなっています。
なぜこうなっているのか、これ以上のことに関しては、こちらではわかりません。
詳しい人に聞いてねー」
となるんだろう。
自分で何も動こうとしないで、
ただ VBE 開いて、コードを日本語訳して、終わり。
それで仕事した気になってるんだから笑っちゃうよ。
コードの内容だけ調べて、
「はい、こうなってこうなって、こうなっています。
なぜこうなっているのか、これ以上のことに関しては、こちらではわかりません。
詳しい人に聞いてねー」
となるんだろう。
自分で何も動こうとしないで、
ただ VBE 開いて、コードを日本語訳して、終わり。
それで仕事した気になってるんだから笑っちゃうよ。
511デフォルトの名無しさん (アウアウウー Sa5d-MEft)
2022/03/25(金) 01:48:43.98ID:FbSlRBsRa そういう人はプログラマーとは言わないよ
512デフォルトの名無しさん (ワッチョイ 6934-9HQ1)
2022/03/25(金) 02:37:31.54ID:F54TZ40q0 どういう状況でその回答に至ったかの前提条件がないとそれが妥当な返答である可能性を否定できない
513デフォルトの名無しさん (スププ Sd33-9oXs)
2022/03/25(金) 05:36:38.48ID:cwXcdCWcd >>510
ネットや書籍でも人に読ませる気のないコードやつぎはぎだらけでそもそもまともに動かないコード置いてはい終わり。ってのが多いし情報量は多いが質が悪いので質の悪い解釈が更に増えるという悪循環に陥ってる
ネットや書籍でも人に読ませる気のないコードやつぎはぎだらけでそもそもまともに動かないコード置いてはい終わり。ってのが多いし情報量は多いが質が悪いので質の悪い解釈が更に増えるという悪循環に陥ってる
514デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/25(金) 06:16:41.66ID:XWaROYx+0515デフォルトの名無しさん (オッペケ Sr85-MdQT)
2022/03/25(金) 08:31:08.17ID:o8BOLFr/r そら「知らん」からよ
給料の範疇じゃないんだろ
給料の範疇じゃないんだろ
516デフォルトの名無しさん (アウアウウー Sa5d-8yjF)
2022/03/25(金) 10:34:06.30ID:1zyB+7jua >>510
お前が自分で動けばいいんじゃね
お前が自分で動けばいいんじゃね
517デフォルトの名無しさん (ワッチョイ 695f-VQXv)
2022/03/25(金) 11:22:36.46ID:ieGzCLlt0518デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/25(金) 12:05:26.87ID:jqc8A7wc0 本当にできる人はネットとか何も見ないでスラスラとコード書ける人だと聞いた。
なかなかいないと思うけど。
なかなかいないと思うけど。
519デフォルトの名無しさん (オッペケ Sr85-MdQT)
2022/03/25(金) 12:13:20.83ID:gLxuAzS/r VBAは大体ググるわ
普段いじらんし構文まで覚えてないし独特な部分も多いし
普段いじらんし構文まで覚えてないし独特な部分も多いし
520デフォルトの名無しさん (アウアウウー Sa5d-8yjF)
2022/03/25(金) 12:38:22.10ID:dRfv/AP1a ググる人はできない人なのかw
521デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/25(金) 12:55:56.28ID:378bs0UD0 >>510
それはVBAに限ったことじゃないよ。
VBA使う人だってモデリングしてクラスの構成やらインターフェースとかどう使って行くか考えてから作る人もいるし、
Javaや.Net使っている人でもその場凌ぎの平べったいコード書く人もいる。
むしろ何がどうなってそのような結果となるのかは、VBAやってる年寄り連中の方が
今ある便利な部品ばかり使うことじゃなく、もっとハードよりな理屈を知ってる人(ついでにCやC++、アセンブラ等も経験している人)が多いだろうから
一概にその理屈では片付くものでもないよ。
それはVBAに限ったことじゃないよ。
VBA使う人だってモデリングしてクラスの構成やらインターフェースとかどう使って行くか考えてから作る人もいるし、
Javaや.Net使っている人でもその場凌ぎの平べったいコード書く人もいる。
むしろ何がどうなってそのような結果となるのかは、VBAやってる年寄り連中の方が
今ある便利な部品ばかり使うことじゃなく、もっとハードよりな理屈を知ってる人(ついでにCやC++、アセンブラ等も経験している人)が多いだろうから
一概にその理屈では片付くものでもないよ。
522デフォルトの名無しさん (ワッチョイ 112f-kNuw)
2022/03/25(金) 13:23:03.47ID:rDRC/qkL0523デフォルトの名無しさん (エムゾネ FF33-0C4u)
2022/03/25(金) 13:44:09.14ID:nD4Ua/6EF 会社のパソコンは底辺スペックが
多いからできるだけ配列必須
多いからできるだけ配列必須
524デフォルトの名無しさん (スッップ Sd33-OQbV)
2022/03/25(金) 14:15:40.45ID:ogVYp57ed ここで質問してくる人はプログラマと呼ぶにはどうかと思うスキルだという認識だし
>>510みたいな答え返してくる奴が自分の職場にいたらっていうかこんなやついないけどw
>>510みたいな答え返してくる奴が自分の職場にいたらっていうかこんなやついないけどw
525デフォルトの名無しさん (アウアウウー Sa5d-noGs)
2022/03/25(金) 16:09:31.18ID:dbWOzFn0a そもそもどうしてそういうプログラムになっているか、
どうしてそういう条件文になっているか、
わからなければ、
チームリーダーやマネージャーに聞けばわかるかもしれないし、
チームリーダーやマネージャーは、主査に聞けばわかるかもしれない。
主査は、わからなかったとしたら、そういう仕様でやっていると
クライアントに説明できる。
クライアントからオペレーターに問合せが入って、
オペレーターからプログラマーに問合せがきた場合は、
プログラマーとしては、チームリーダーやチームメイトに聞くのが筋。
それをめんどくさがって、コードだけ読んで、条件文を和訳して
オペレーターに回答するだけのプログラマーって、どうなの。
オペレーターからすれば、まさかの異次元回答をくらった思いになる。
そうじゃなくて、こういう場合どう対処すればよいか、
関係者に聞いてほしい、でも関係者がわからないから、
唯一わかっている身近なプログラマーに聞いている。
そういう話だと思うんだけどなあ。
絶対いいたいこと説明できてない。
さすが俺。
どうしてそういう条件文になっているか、
わからなければ、
チームリーダーやマネージャーに聞けばわかるかもしれないし、
チームリーダーやマネージャーは、主査に聞けばわかるかもしれない。
主査は、わからなかったとしたら、そういう仕様でやっていると
クライアントに説明できる。
クライアントからオペレーターに問合せが入って、
オペレーターからプログラマーに問合せがきた場合は、
プログラマーとしては、チームリーダーやチームメイトに聞くのが筋。
それをめんどくさがって、コードだけ読んで、条件文を和訳して
オペレーターに回答するだけのプログラマーって、どうなの。
オペレーターからすれば、まさかの異次元回答をくらった思いになる。
そうじゃなくて、こういう場合どう対処すればよいか、
関係者に聞いてほしい、でも関係者がわからないから、
唯一わかっている身近なプログラマーに聞いている。
そういう話だと思うんだけどなあ。
絶対いいたいこと説明できてない。
さすが俺。
526デフォルトの名無しさん (ワッチョイ 81e5-7wAP)
2022/03/25(金) 16:25:13.86ID:qqk/wS7c0 前任が作ったコードをよくわからず使っているが、変な挙動があった
VBAかけるやつに聞いてみたら……
だとオレは思うけど
VBAかけるやつに聞いてみたら……
だとオレは思うけど
527デフォルトの名無しさん (ワッチョイ 1117-MEft)
2022/03/25(金) 16:55:04.11ID:8xCVgHwf0 PGやSEを抱えていない職場で業務改善の一環としてワンオペで誰かが作ったものは仕様書すら作られてない時も少なくない
コーティング規約もないから中身が無法地帯なんてのもあるある
コーティング規約もないから中身が無法地帯なんてのもあるある
528デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/25(金) 17:11:26.32ID:378bs0UD0529デフォルトの名無しさん (ワッチョイ 112f-kNuw)
2022/03/25(金) 17:20:12.47ID:rDRC/qkL0 >>525
それはオペレーターが直接プログラマーに聞いてるのがおかしい
つか関係者わからんオペレーターがプログラマーならわかるってどんな異次元組織だよ
関係者がわからんからってプログラマーにきいてもわかるわけないだろ
ちゃんとした組織でのプログラマーの仕事と、事務員が片手間にプログラム作ったのと同じ次元で話されてもなぁ
それはオペレーターが直接プログラマーに聞いてるのがおかしい
つか関係者わからんオペレーターがプログラマーならわかるってどんな異次元組織だよ
関係者がわからんからってプログラマーにきいてもわかるわけないだろ
ちゃんとした組織でのプログラマーの仕事と、事務員が片手間にプログラム作ったのと同じ次元で話されてもなぁ
530デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/25(金) 17:30:04.98ID:jqc8A7wc0 ググってもおkなのか良かったわ
必死でヘルプ見て暗記していたのは非効率だよね
必死でヘルプ見て暗記していたのは非効率だよね
531デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/25(金) 17:36:57.23ID:378bs0UD0532デフォルトの名無しさん (ワッチョイ 112f-kNuw)
2022/03/25(金) 18:03:42.37ID:rDRC/qkL0 ググり方というより、公式ヘルプでの確認が大事だと思うんだが
いま公式ヘルプでさえオンラインとかいう時代だからなぁ
まあVBAの文法ていどなら暗記できるけど
エクセルのオブジェクト全部なんて暗記できる奴がいるとは思えん
いま公式ヘルプでさえオンラインとかいう時代だからなぁ
まあVBAの文法ていどなら暗記できるけど
エクセルのオブジェクト全部なんて暗記できる奴がいるとは思えん
533デフォルトの名無しさん (スッップ Sd33-OQbV)
2022/03/25(金) 18:39:02.37ID:ogVYp57ed オペレータがプログラマに聞くって何を?w
知ってる言葉ならべてるだけなのかな
知ってる言葉ならべてるだけなのかな
534デフォルトの名無しさん (ワッチョイ 0bda-oZI4)
2022/03/25(金) 19:43:12.04ID:RqRNte220 要求通りの動作をするコードが書ければできるやつだろ
検索しようが、他人に聞こうが何も見ないで作ろうが関係ないよ
検索しようが、他人に聞こうが何も見ないで作ろうが関係ないよ
535デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/25(金) 20:11:44.87ID:XWaROYx+0536デフォルトの名無しさん (ワッチョイ 41ce-noGs)
2022/03/25(金) 20:12:25.07ID:/GQ4L54F0 納期を守ってちゃんと動く
結果がすべて
検索だろうがコピペだろうが関係ない
結果がすべて
検索だろうがコピペだろうが関係ない
537デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/25(金) 20:40:46.85ID:jqc8A7wc0 さっき会社の上司とたまたまそういう話したけど、やっぱ何も見ないでスラスラとコード書けるヤツいたら貴重だから重宝するって言っていた。
ただ、そういう人ほど初歩的なミスに気がつかないとも。
ただ、そういう人ほど初歩的なミスに気がつかないとも。
538デフォルトの名無しさん (スッップ Sd33-OQbV)
2022/03/25(金) 20:44:28.64ID:ogVYp57ed >ただ、そういう人ほど初歩的なミスに気がつかないとも。
こんな話はないわ
たまたまそういう人としか仕事してないだけ
こんな話はないわ
たまたまそういう人としか仕事してないだけ
539デフォルトの名無しさん (ワッチョイ 13ad-bSSa)
2022/03/25(金) 20:57:16.02ID:uzupo3Jn0 飯島 彩矢
いいじま よした
いいじま よした
540デフォルトの名無しさん (アウアウウー Sa5d-zKmY)
2022/03/25(金) 21:03:49.94ID:2zbf95kya541デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 21:21:49.50ID:UnnJynAs0 エクセルのクエリで、一つのファイルにある複数のシートから、たとえば1つ目から4つ目のデータ(1000行くらい)を1枚目を1から4、2枚目を5から8に転記していくにはどのような設定でやればいいでしょうか
542デフォルトの名無しさん (ワッチョイ 1302-dhUW)
2022/03/25(金) 21:22:42.56ID:8eXyKRPB0 どうしよう、>>541の言っている意味が分からない…
543デフォルトの名無しさん (ワッチョイ 11da-noGs)
2022/03/25(金) 21:26:08.92ID:4vyR1Miw0 おらも分からん
544デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/25(金) 21:26:33.02ID:378bs0UD0 >>537
まぁちっこいツールとかならそうかもね
ある程度大きくなったら後々のメンテナンスのし易さとか、テストの工数をどうやれば減らせるかとか
最初の内に構成練り込んで考えて作るから、いくらスラスラ組めてもその辺がすっぽ抜けてると
後々手を加えるごとに分岐だらけのスパゲッティコードになって行くことが多いんだよね
まぁちっこいツールとかならそうかもね
ある程度大きくなったら後々のメンテナンスのし易さとか、テストの工数をどうやれば減らせるかとか
最初の内に構成練り込んで考えて作るから、いくらスラスラ組めてもその辺がすっぽ抜けてると
後々手を加えるごとに分岐だらけのスパゲッティコードになって行くことが多いんだよね
545デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 21:28:20.55ID:UnnJynAs0546デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/25(金) 21:32:43.40ID:378bs0UD0 >>541
スピード重視でなければこの間からここで色々言われてたADO接続使ってSQLでレコードセットに値取得してそのままシートに貼り付ければいいんじゃない?
ヘッダがいるなら最初から書いとくか、レコードセットから取得するなら別ロジックが必要だけど
スピード重視でなければこの間からここで色々言われてたADO接続使ってSQLでレコードセットに値取得してそのままシートに貼り付ければいいんじゃない?
ヘッダがいるなら最初から書いとくか、レコードセットから取得するなら別ロジックが必要だけど
547デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 21:34:59.71ID:UnnJynAs0 >>546
単発での処理なのであまりそういう複雑なのは難しいです
単発での処理なのであまりそういう複雑なのは難しいです
548デフォルトの名無しさん (ワントンキン MMd3-rXmZ)
2022/03/25(金) 21:38:14.89ID:q+5lBwTqM >>547
こんなこともわからないような馬鹿は手を出すな
こんなこともわからないような馬鹿は手を出すな
549デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 21:39:37.46ID:UnnJynAs0 クエリとかの簡単な操作でデータ整理できないですかね?
550デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/25(金) 21:45:45.83ID:378bs0UD0551デフォルトの名無しさん (ワッチョイ 1302-dhUW)
2022/03/25(金) 21:46:14.94ID:8eXyKRPB0 普通にマクロの記録使ってシート1の範囲をコピーして
シート2の開始地点で貼り付けたらいいだけじゃないの…
シート2の開始地点で貼り付けたらいいだけじゃないの…
552デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 21:47:30.56ID:UnnJynAs0 そうすると横にデータを並べていきたいので重複していきます
シート全体の数もそのときどきで変わるので
シート全体の数もそのときどきで変わるので
553デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/25(金) 21:50:02.56ID:378bs0UD0 ???
どんどん何をしたいのか分からなくなってくるね
どんどん何をしたいのか分からなくなってくるね
554デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 21:51:28.75ID:UnnJynAs0555デフォルトの名無しさん (ワッチョイ 13da-OQbV)
2022/03/25(金) 21:56:14.91ID:w2X6jrV+0 ズコーッ !
556デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/25(金) 21:56:37.17ID:378bs0UD0 >>554
本当に単純にそれだけなら
2シート目の1〜4列目をコピーして
1シート目に貼り付けたあとに、
貼り付け先の列先を+4して
シート3以降、シートがある分だけそれを
繰り返せばいいんじゃないの?
本当に単純にそれだけなら
2シート目の1〜4列目をコピーして
1シート目に貼り付けたあとに、
貼り付け先の列先を+4して
シート3以降、シートがある分だけそれを
繰り返せばいいんじゃないの?
557デフォルトの名無しさん (ブーイモ MM33-J1hb)
2022/03/25(金) 21:57:03.52ID:qxuRWoIYM ID:UnnJynAs0と一緒に仕事しなきゃいけない同僚には同情する
558デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 21:58:28.35ID:UnnJynAs0 >>556
そうなると場合によっては数百のシートを手作業でコピーしなければならないので現実出来ではありません
そうなると場合によっては数百のシートを手作業でコピーしなければならないので現実出来ではありません
559デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/25(金) 22:03:32.99ID:378bs0UD0560デフォルトの名無しさん (ワッチョイ 1302-dhUW)
2022/03/25(金) 22:03:48.41ID:8eXyKRPB0561デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 22:05:38.52ID:UnnJynAs0 >>560
どうすればそれができますか?
どうすればそれができますか?
562デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 22:06:11.03ID:UnnJynAs0 エクセルの方のクエリでは縦に連結されて出てきたのでやり方を教えて下さい
563デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/25(金) 22:08:44.67ID:378bs0UD0 >>562
いや、そもそもそれだけの処理ならクエリなんて必要ないでしょ
いや、そもそもそれだけの処理ならクエリなんて必要ないでしょ
564デフォルトの名無しさん (ワッチョイ 1302-dhUW)
2022/03/25(金) 22:12:12.99ID:8eXyKRPB0565デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 22:15:02.86ID:UnnJynAs0566デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 22:15:06.77ID:UnnJynAs0567デフォルトの名無しさん (ワッチョイ 11da-noGs)
2022/03/25(金) 22:23:46.18ID:4vyR1Miw0568デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 22:39:41.75ID:UnnJynAs0 >>567
複数シートの配列は同じで、データの内容だけがちがいます
複数シートの配列は同じで、データの内容だけがちがいます
569デフォルトの名無しさん (アウアウウー Sa5d-zKmY)
2022/03/25(金) 22:44:11.29ID:3hBoOPeGa >>565
来る板間違えてる
> ローカルルール
> この板はプログラムを作る人のための板です。
こっちへ行け
【Excel】Power Queryを語るスレ【Power BI】
https://mevius.5ch.net/test/read.cgi/bsoft/1571540368/
来る板間違えてる
> ローカルルール
> この板はプログラムを作る人のための板です。
こっちへ行け
【Excel】Power Queryを語るスレ【Power BI】
https://mevius.5ch.net/test/read.cgi/bsoft/1571540368/
570デフォルトの名無しさん (ワッチョイ 11da-noGs)
2022/03/25(金) 22:44:52.03ID:4vyR1Miw0571デフォルトの名無しさん (ワッチョイ 1110-yL30)
2022/03/25(金) 22:58:31.64ID:UnnJynAs0 >>569
ありがとうございます
ありがとうございます
572デフォルトの名無しさん (ワッチョイ 134f-kNuw)
2022/03/25(金) 22:58:38.87ID:378bs0UD0 なんだ、Power Queryか。
いい機会だからVBAも勉強してってくれ
いい機会だからVBAも勉強してってくれ
573デフォルトの名無しさん (ワッチョイ 134f-kNuw)
2022/03/25(金) 22:59:53.49ID:378bs0UD0 Sub hoge()
Dim targetSheet As Worksheet
Dim bottomRow As Long
Dim toPasteColumn As Long
Dim isFirstTime As Boolean
isFirstTime = True
toPasteColumn = 1
With ThisWorkbook
If .Sheets.Count = 1 Then
Exit Sub
End If
For Each targetSheet In .Worksheets
If Not isFirstTime Then
targetSheet.Activate
bottomRow = targetSheet.Cells(targetSheet.Rows.Count, 1).End(xlUp).Row
targetSheet.Range(targetSheet.Cells(1, 1), targetSheet.Cells(bottomRow, 4)).Copy _
Destination:=Sheets(1).Cells(1, toPasteColumn)
toPasteColumn = toPasteColumn + 4
End If
isFirstTime = False
Next
End With
End Sub
Dim targetSheet As Worksheet
Dim bottomRow As Long
Dim toPasteColumn As Long
Dim isFirstTime As Boolean
isFirstTime = True
toPasteColumn = 1
With ThisWorkbook
If .Sheets.Count = 1 Then
Exit Sub
End If
For Each targetSheet In .Worksheets
If Not isFirstTime Then
targetSheet.Activate
bottomRow = targetSheet.Cells(targetSheet.Rows.Count, 1).End(xlUp).Row
targetSheet.Range(targetSheet.Cells(1, 1), targetSheet.Cells(bottomRow, 4)).Copy _
Destination:=Sheets(1).Cells(1, toPasteColumn)
toPasteColumn = toPasteColumn + 4
End If
isFirstTime = False
Next
End With
End Sub
574デフォルトの名無しさん (ワッチョイ 134f-kNuw)
2022/03/25(金) 23:02:44.53ID:378bs0UD0 うん、やっぱりインデントつぶれたね。
これで動くはずなので良ければVBEに張り付けて実施してみて。
最初のA列がキーであることが前提だけども。
これで動くはずなので良ければVBEに張り付けて実施してみて。
最初のA列がキーであることが前提だけども。
575デフォルトの名無しさん (ワッチョイ 61da-CM16)
2022/03/26(土) 00:22:22.08ID:wN9O5mc/0 あれ?確かインデント用のツールを紹介してくれている親切な人いたような?
あれ具合良さそう。
あれ具合良さそう。
576デフォルトの名無しさん (ワッチョイ 0dce-+Ivz)
2022/03/26(土) 00:30:29.64ID:3d/IeTqK0 Sub aaa()
For bbb = 0 To 0
If ccc = 0 Then
ddd = eee
End If
Next
End Sub
For bbb = 0 To 0
If ccc = 0 Then
ddd = eee
End If
Next
End Sub
577デフォルトの名無しさん (アウアウウー Sacd-+Ivz)
2022/03/26(土) 01:25:30.54ID:x5oh4kDTa ツールの利用者から、ツールの改修担当者に問合せがいったんでしょ。
改修担当といっても、前任者から引き継いだだけだから、全ての仕様はわかっていない。
現在の業務にそぐわない仕様があって、エラーが出たから、
利用者が改修担当者に問合せ。
前任者なら「もともとこういう仕様です」と答えれば、
「ああ、それなら業務が変わったから改修が必要だな」と
改修依頼を出せる。
ツールの利用者も着任して間もない人の場合、
業務が変わったのかどうかもわからない。
そういう場合、ソースコードの条件文を日本語にして
回答するのではなくて、
昔から存続しているチームの誰かに聞くのが普通。
それをしないのは職務怠慢。
自分一人で売上を引っ張ってこれていると勘違いしているのかな。
改修担当といっても、前任者から引き継いだだけだから、全ての仕様はわかっていない。
現在の業務にそぐわない仕様があって、エラーが出たから、
利用者が改修担当者に問合せ。
前任者なら「もともとこういう仕様です」と答えれば、
「ああ、それなら業務が変わったから改修が必要だな」と
改修依頼を出せる。
ツールの利用者も着任して間もない人の場合、
業務が変わったのかどうかもわからない。
そういう場合、ソースコードの条件文を日本語にして
回答するのではなくて、
昔から存続しているチームの誰かに聞くのが普通。
それをしないのは職務怠慢。
自分一人で売上を引っ張ってこれていると勘違いしているのかな。
578デフォルトの名無しさん (ワッチョイ 552f-Yn6i)
2022/03/26(土) 06:35:02.37ID:4/mAEYCl0 >昔から存続しているチームの誰かに聞くのが普通。
>それをしないのは職務怠慢。
つまりそれをしないで改修担当者に聞いてるやつが悪いってことだな
>それをしないのは職務怠慢。
つまりそれをしないで改修担当者に聞いてるやつが悪いってことだな
579デフォルトの名無しさん (スップ Sd12-Slbg)
2022/03/26(土) 10:14:46.58ID:p8/YoqyTd ここって長文で講釈を垂れる人おおいよね
しかもVBAにはまったく無関係という
しかもVBAにはまったく無関係という
580デフォルトの名無しさん (ワッチョイ 9eda-+A59)
2022/03/26(土) 12:35:46.08ID:OVfO91qG0 自力でできないのに調べない、人に聞かない、期待されているのものがつくれないのは できない人 としか言いようがない
581デフォルトの名無しさん (ワッチョイ 61da-CM16)
2022/03/26(土) 15:44:49.86ID:wN9O5mc/0 時には長文になるのは仕方ないよ。
丁寧に説明するばそうならね?
上の方で個人名みたいの書いてるアレな人いるけど今の5ちゃんて個人名書いただけでNGじゃなかったか?
丁寧に説明するばそうならね?
上の方で個人名みたいの書いてるアレな人いるけど今の5ちゃんて個人名書いただけでNGじゃなかったか?
582デフォルトの名無しさん (アウアウウー Sacd-/MGz)
2022/03/26(土) 16:02:36.43ID:1KsbV4Zma 個人名NGの規制ってあるのか?
WindowsやLinux板とかでは機能していないように見えるけど
WindowsやLinux板とかでは機能していないように見えるけど
583デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/26(土) 17:07:43.61ID:kCwfN6Gy0 個人名というか個人情報な
通報されたら警察来るかな
通報されたら警察来るかな
584デフォルトの名無しさん (ワッチョイ 61da-CM16)
2022/03/26(土) 17:58:02.51ID:wN9O5mc/0 昔バイトしていた居酒屋のマスターが5ちゃんに実名晒されて誹謗中傷書かれていたのを思い出してさ。
585デフォルトの名無しさん (ササクッテロ Sp79-8pno)
2022/03/26(土) 18:09:02.02ID:Gn2xNTk6p586デフォルトの名無しさん (ワッチョイ 61da-CM16)
2022/03/26(土) 20:17:20.58ID:wN9O5mc/0 職務怠慢は言い過ぎでは?
何かしらの事情あるだろうし。
何かしらの事情あるだろうし。
587デフォルトの名無しさん (アウアウウー Sacd-+Ivz)
2022/03/26(土) 23:22:10.99ID:lmdSWMnfa dim ki as string
ki = "まあいろんな事情があるよね"
ki = ki & "チームメイトに嫌われていて聞きづらいとか"
dim shou as string
shou = ki
shou = shou & "「こんなことくらいしかわからなくて、すみません」と謝られても"
shou = shou & "お前がそんなことしかわからないことは、百も承知。"
shou = shou & "誰かに回してくれることも見込んでの質問なんだけど、"
shou = shou & "ってね。"
dim ten as string
ten = shou
ten = ten & "プログラマーは基本、自分ひとりで仕事完結して、周りに電話したりメールしたりチャットしたり、"
ten = ten & "という連携は面倒くさがる人が多いからね。"
ten = ten & "コーディングされていないことは、できませんが何か? みたいな"
ten = ten & "職務はここまで。これ以上はできませんが何か?みたいな"
dim ketu as string
ketu = ten & "ロボットみたいな人が多い。"
ki = "まあいろんな事情があるよね"
ki = ki & "チームメイトに嫌われていて聞きづらいとか"
dim shou as string
shou = ki
shou = shou & "「こんなことくらいしかわからなくて、すみません」と謝られても"
shou = shou & "お前がそんなことしかわからないことは、百も承知。"
shou = shou & "誰かに回してくれることも見込んでの質問なんだけど、"
shou = shou & "ってね。"
dim ten as string
ten = shou
ten = ten & "プログラマーは基本、自分ひとりで仕事完結して、周りに電話したりメールしたりチャットしたり、"
ten = ten & "という連携は面倒くさがる人が多いからね。"
ten = ten & "コーディングされていないことは、できませんが何か? みたいな"
ten = ten & "職務はここまで。これ以上はできませんが何か?みたいな"
dim ketu as string
ketu = ten & "ロボットみたいな人が多い。"
588デフォルトの名無しさん (ワッチョイ 5502-PYYx)
2022/03/26(土) 23:52:13.63ID:4I5liEUu0 何?
この気持ち悪いスレ・・・・・・
この気持ち悪いスレ・・・・・・
589デフォルトの名無しさん (ブーイモ MMad-+Ivz)
2022/03/26(土) 23:57:27.46ID:zJILPsYJM >>587
汚いコードだな、そんな代入の仕方じゃ変数を4つ用意した意味がまったくないじゃん
そういう時は最後に足すんだよ
Dim DeathStory As String
DeathStory = ki & shou & ten & ketu
汚いコードだな、そんな代入の仕方じゃ変数を4つ用意した意味がまったくないじゃん
そういう時は最後に足すんだよ
Dim DeathStory As String
DeathStory = ki & shou & ten & ketu
590デフォルトの名無しさん (ブーイモ MMad-+Ivz)
2022/03/26(土) 23:58:14.85ID:zJILPsYJM >>588
そっ閉じすりゃいいのに、そんなスレに何か書き込んでる時点で同類
そっ閉じすりゃいいのに、そんなスレに何か書き込んでる時点で同類
591デフォルトの名無しさん (ワッチョイ 61da-CM16)
2022/03/27(日) 03:21:42.29ID:hNNvtCzu0 深夜になると定期的に変な書き込みあるよね
592デフォルトの名無しさん (ワンミングク MMe9-H6Yj)
2022/03/27(日) 03:29:36.79ID:/OZccBd9M >>591
自己紹介かよ!
自己紹介かよ!
593デフォルトの名無しさん (ワッチョイ 924f-JoQ9)
2022/03/27(日) 07:40:40.82ID:BqsGdBXW0594デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/27(日) 09:48:21.10ID:8deA3KtJa そもそも >>587 だと
"まあいろんな事情があるよねチームメイトに嫌われていて聞きづらいとか「こんなことくらいしかわからなくて、すみません」と謝られてもお前がそんなことしかわからないことは、百も承知。誰かに回してくれることも見込んでの質問なんだけど、ってね。プログラマーは基本、自分ひとりで仕事完結して、周りに電話したりメールしたりチャットしたり、という連携は面倒くさがる人が多いからね。コーディングされていないことは、できませんが何か? みたいな職務はここまで。これ以上はできませんが何か?みたいなロボットみたいな人が多い。"
ってなるし、適宜 vbCrLf 挟めや
"まあいろんな事情があるよねチームメイトに嫌われていて聞きづらいとか「こんなことくらいしかわからなくて、すみません」と謝られてもお前がそんなことしかわからないことは、百も承知。誰かに回してくれることも見込んでの質問なんだけど、ってね。プログラマーは基本、自分ひとりで仕事完結して、周りに電話したりメールしたりチャットしたり、という連携は面倒くさがる人が多いからね。コーディングされていないことは、できませんが何か? みたいな職務はここまで。これ以上はできませんが何か?みたいなロボットみたいな人が多い。"
ってなるし、適宜 vbCrLf 挟めや
595デフォルトの名無しさん (ブーイモ MMa6-3xpD)
2022/03/27(日) 10:09:59.57ID:GXS4gvi+M >>594
読んでないけど読む価値のないレスであることだけは判る
読んでないけど読む価値のないレスであることだけは判る
596デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/27(日) 10:21:55.52ID:dieR0oCra ↑ どこを読めばいいのかもわからんアホw
597デフォルトの名無しさん (ワッチョイ 9e68-c/bJ)
2022/03/27(日) 10:33:27.62ID:jqHr+5yx0 最初と最後の行しか読んでないけど
スペースも改行もつかないって突っ込みだって事だけは判る
スペースも改行もつかないって突っ込みだって事だけは判る
598デフォルトの名無しさん (ワッチョイ 61da-CM16)
2022/03/27(日) 10:56:36.33ID:hNNvtCzu0 ようは字下げしないと読みにくいって教えてくれたんですね親切な人。
599デフォルトの名無しさん (ワッチョイ a9da-bZbN)
2022/03/27(日) 11:49:34.86ID:17nxG3290600デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/27(日) 12:17:45.42ID:CPBl4WFea >>597
それで十分、てか最後の行読んだらわかるだろ
それで十分、てか最後の行読んだらわかるだろ
601デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/27(日) 12:19:46.20ID:CPBl4WFea >>599
まあ高々数十行位なら気にすることはないよ
まあ高々数十行位なら気にすることはないよ
602デフォルトの名無しさん (ワッチョイ adcc-tbOq)
2022/03/27(日) 12:41:21.31ID:cPay0R1J0 誰かSalseforceのAPIをVBAでたたく方法わかる人いませんか?
API関連に関して全く無知で、何をどうしていいのか、、、
詳しい人教えてほしいです、、
API関連に関して全く無知で、何をどうしていいのか、、、
詳しい人教えてほしいです、、
603デフォルトの名無しさん (ブーイモ MMa6-+Ivz)
2022/03/27(日) 12:52:04.46ID:dAzXJbreM 字下げや改行なんてVBAでやることじゃない
印刷だろうが電子化だろうが、文書の整形は出力アプリ側に投げるもんだ
リーダー端末の画面サイズやフォントサイズなんて予測できんだろ?
印刷だろうが電子化だろうが、文書の整形は出力アプリ側に投げるもんだ
リーダー端末の画面サイズやフォントサイズなんて予測できんだろ?
604デフォルトの名無しさん (スップ Sdb2-Slbg)
2022/03/27(日) 13:07:11.24ID:OVREMJced 文書の整形と文書自体を一緒にしてしまうところが悲しい・・・
605デフォルトの名無しさん (ワッチョイ 61da-CM16)
2022/03/27(日) 17:11:35.24ID:hNNvtCzu0 なんでよ?VBAの義務教育編で字下げは真っ先に学習するはずじゃ??
606デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/27(日) 17:22:28.69ID:2Abk94v90 年収1000万のインド人はインデントもコメントもなし
一般人はちゃんとつけよう
一般人はちゃんとつけよう
607デフォルトの名無しさん (アウアウウー Sacd-/MGz)
2022/03/27(日) 17:30:10.15ID:6akgwO9ga >>602
アクセスするライブラリとAPIリファレンスを掲示してくれたら捗るんじゃね?
アクセスするライブラリとAPIリファレンスを掲示してくれたら捗るんじゃね?
608デフォルトの名無しさん (スップ Sdb2-Slbg)
2022/03/27(日) 17:33:41.29ID:OVREMJced609デフォルトの名無しさん (スップ Sdb2-Slbg)
2022/03/27(日) 17:34:17.13ID:OVREMJced スクレイピングもたまに質問するやつがいるけど
それも同じな
それも同じな
610デフォルトの名無しさん (JP 0He2-i83I)
2022/03/27(日) 17:50:20.50ID:ob1ESvJwH >>609
VBA でのスクレイピングはイマイチですねえ、動いたり動かなかったりするし、なにかいい方法はないものか?
Function ScrapingAlgoA003(objIE As InternetExplorer, url, keyword As String)
objIE.navigate url
Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
DoEvents
Loop
Dim htmlDoc As HTMLDocument
Set htmlDoc = objIE.document
Dim ReturnValue As Double
Dim div As HTMLDivElement
For Each div In htmlDoc.getElementsByClassName(keyword)
ReturnValue = CDbl(div.innerText)
ScrapingAlgoA003 = ReturnValue
Next div
Set htmlDoc = Nothing
End Function
VBA でのスクレイピングはイマイチですねえ、動いたり動かなかったりするし、なにかいい方法はないものか?
Function ScrapingAlgoA003(objIE As InternetExplorer, url, keyword As String)
objIE.navigate url
Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
DoEvents
Loop
Dim htmlDoc As HTMLDocument
Set htmlDoc = objIE.document
Dim ReturnValue As Double
Dim div As HTMLDivElement
For Each div In htmlDoc.getElementsByClassName(keyword)
ReturnValue = CDbl(div.innerText)
ScrapingAlgoA003 = ReturnValue
Next div
Set htmlDoc = Nothing
End Function
611デフォルトの名無しさん (ワッチョイ 9e68-c/bJ)
2022/03/27(日) 19:02:58.02ID:jqHr+5yx0612デフォルトの名無しさん (ワッチョイ 5134-Nuys)
2022/03/27(日) 19:18:00.28ID:7EXZAGuD0613デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/27(日) 19:39:07.33ID:2Abk94v90 Seleniumはほんといいね
IEからxpathで・・・ってやってたのがほんとアホらしくなった
IEからxpathで・・・ってやってたのがほんとアホらしくなった
614デフォルトの名無しさん (ワッチョイ 368c-XyTZ)
2022/03/27(日) 19:43:23.36ID:U13zJWe20 Seleniumは昔インストールしたんだがよくわからず
未だにIEばかり使ってるんだが もうそろそろ切り替えた方がいいのかな
未だにIEばかり使ってるんだが もうそろそろ切り替えた方がいいのかな
615デフォルトの名無しさん (ワッチョイ 5134-Nuys)
2022/03/27(日) 19:51:02.70ID:7EXZAGuD0 昔のSeleniumはChromeの方にも拡張機能入れて…とかだった気がするけど今は事前準備も書くのも凄く簡単になってるね
616デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/27(日) 19:59:57.15ID:2Abk94v90617デフォルトの名無しさん (ワッチョイ 12b1-VQaK)
2022/03/27(日) 20:17:18.33ID:Df2KiTxu0 質問です。
連想配列に格納した連想配列の値を取り出すには
どうしたらよいのでしょうか?
Dim dicA as Dictionary
Dim dicB as Dictionary
dicB.Add "a",100
dicB.Add "b",100
dicB.Add "c",100
dicA.Add "A",dicB
としたとき、dicAの中のdicB("b")の値を取得したいとき
どうしたらいいのでしょうか。
Debug.print dicA("A").("b")
とかで出せるかと思ったのですが駄目でした。
連想配列に格納した連想配列の値を取り出すには
どうしたらよいのでしょうか?
Dim dicA as Dictionary
Dim dicB as Dictionary
dicB.Add "a",100
dicB.Add "b",100
dicB.Add "c",100
dicA.Add "A",dicB
としたとき、dicAの中のdicB("b")の値を取得したいとき
どうしたらいいのでしょうか。
Debug.print dicA("A").("b")
とかで出せるかと思ったのですが駄目でした。
618デフォルトの名無しさん (ワッチョイ 9202-q+eG)
2022/03/27(日) 20:19:01.83ID:uW5IEa4H0 set TikuB = dickA("A")
Tikubi("b") = bibibibibi-----
Tikubi("b") = bibibibibi-----
619デフォルトの名無しさん (ワッチョイ 655f-ObPs)
2022/03/27(日) 20:22:07.59ID:EN8vWua40 >>610
For EachなのにIfで条件指定しないのか
For EachなのにIfで条件指定しないのか
620デフォルトの名無しさん (ワッチョイ 61da-CM16)
2022/03/27(日) 20:29:11.49ID:hNNvtCzu0 乳首エロい
621デフォルトの名無しさん (ワッチョイ 924f-JoQ9)
2022/03/27(日) 20:31:09.02ID:BqsGdBXW0 >>617
よく分からんのだけど、Dictionalyって
型宣言しただけで使えるの?
普通に考えると、
Set dic A = New Dictionaly
Set dic B = New Dictionaly
とか、必要そうに見えるけど。
よく分からんのだけど、Dictionalyって
型宣言しただけで使えるの?
普通に考えると、
Set dic A = New Dictionaly
Set dic B = New Dictionaly
とか、必要そうに見えるけど。
622デフォルトの名無しさん (ワッチョイ 924f-JoQ9)
2022/03/27(日) 20:33:33.24ID:BqsGdBXW0 おっと、Dictionalyのスペルが違ってるか
Dictionaryかすまんこ
Dictionaryかすまんこ
623デフォルトの名無しさん (ワッチョイ 12b1-VQaK)
2022/03/27(日) 20:45:16.14ID:Df2KiTxu0 元の文と違いますが解決しました。
ありがとうございました。
Sub foo()
Dim dicA As Dictionary: Set dicA = New Dictionary
Dim dicB As Dictionary: Set dicB = New Dictionary
Set dicA("A") = dicB
dicA("A")("a") = "test"
Debug.Print dicA("A")("a") 'test
End Sub
ありがとうございました。
Sub foo()
Dim dicA As Dictionary: Set dicA = New Dictionary
Dim dicB As Dictionary: Set dicB = New Dictionary
Set dicA("A") = dicB
dicA("A")("a") = "test"
Debug.Print dicA("A")("a") 'test
End Sub
624デフォルトの名無しさん (アウアウウー Sacd-+Ivz)
2022/03/28(月) 01:22:22.67ID:LEJNBveMa ("A")
625デフォルトの名無しさん (ワッチョイ 9202-q+eG)
2022/03/28(月) 02:04:12.07ID:dJWBHkZn0 (:; U: ::)
626デフォルトの名無しさん (ワッチョイ b12c-XwpL)
2022/03/28(月) 07:56:32.13ID:bggr0gZp0 Selenium Webdriver と、
Chrome の拡張機能・Selenium IDE の2種類ある
Chrome の拡張機能・Selenium IDE の2種類ある
627デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/28(月) 07:57:45.06ID:W5FkPi4A0 Selenium Webdriver
628デフォルトの名無しさん (ブーイモ MMad-+Ivz)
2022/03/28(月) 12:34:55.90ID:DkLhkvc4M ウェブダイバー
629デフォルトの名無しさん (ワッチョイ ad49-+/qe)
2022/03/28(月) 13:29:17.84ID:9Kb03WZY0 ウェブダイバーはカラオケで歌うぞ
630デフォルトの名無しさん (ワッチョイ 924f-JoQ9)
2022/03/28(月) 18:29:52.50ID:jKre83rL0631デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/28(月) 18:47:34.87ID:2Ad/srHwa 横からだけど
For ...
Dim D As New Dictionary
...
Next
ってやると最初の一回しかNewしないから常に
Dim D As Dictionary: Set D = New Dictionary
ってやる人はいるみたい
For ...
Dim D As New Dictionary
...
Next
ってやると最初の一回しかNewしないから常に
Dim D As Dictionary: Set D = New Dictionary
ってやる人はいるみたい
632デフォルトの名無しさん (ワッチョイ 924f-JoQ9)
2022/03/28(月) 18:55:38.23ID:jKre83rL0 >>631
いやいや、ループでそれぞれ別インスタンスとして使うにしても、定義は1回でNewするのが複数回で済むでしょ。
例えば上のレスのようにDictionaryにDictionaryを格納する場合でもDictionaryにしまった時点で参照は渡されるんだから消えないし、
その後、Newしてまた渡してやればインスタンスはまた別物として扱われるよね。
いやいや、ループでそれぞれ別インスタンスとして使うにしても、定義は1回でNewするのが複数回で済むでしょ。
例えば上のレスのようにDictionaryにDictionaryを格納する場合でもDictionaryにしまった時点で参照は渡されるんだから消えないし、
その後、Newしてまた渡してやればインスタンスはまた別物として扱われるよね。
633デフォルトの名無しさん (ワッチョイ 79ac-+/qe)
2022/03/28(月) 19:07:54.06ID:AcTRGxgL0 コードで語ればいいのに
634デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/28(月) 19:46:09.16ID:W5FkPi4A0 >>630
知らなかっただけじゃないか
知らなかっただけじゃないか
635デフォルトの名無しさん (ワッチョイ 924f-XwpL)
2022/03/28(月) 19:46:21.63ID:jKre83rL0 >>633
Sub hoge()
Dim dic1 As Scripting.Dictionary
Dim dic2 As Scripting.Dictionary
Dim itemCounter As Long
Set dic1 = New Scripting.Dictionary
For itemCounter = 0 To 3
Set dic2 = New Scripting.Dictionary
dic2.Add 0, "fuga" & CStr(itemCounter)
dic1.Add itemCounter, dic2
Next
For itemCounter = 0 To 3
Debug.Print dic1(itemCounter)(0)
Next
End Sub
出力結果:
fuga0
fuga1
fuga2
fuga3
dic1の中にdic2を入れてるけど、dic2の変数自体は使いまわし。
dic2はループの中でNewされているけど、dic1の中にそのときの
dic2の参照情報が格納されているため、きちんと別の値が保持される。
つまりはそういうこと。
Sub hoge()
Dim dic1 As Scripting.Dictionary
Dim dic2 As Scripting.Dictionary
Dim itemCounter As Long
Set dic1 = New Scripting.Dictionary
For itemCounter = 0 To 3
Set dic2 = New Scripting.Dictionary
dic2.Add 0, "fuga" & CStr(itemCounter)
dic1.Add itemCounter, dic2
Next
For itemCounter = 0 To 3
Debug.Print dic1(itemCounter)(0)
Next
End Sub
出力結果:
fuga0
fuga1
fuga2
fuga3
dic1の中にdic2を入れてるけど、dic2の変数自体は使いまわし。
dic2はループの中でNewされているけど、dic1の中にそのときの
dic2の参照情報が格納されているため、きちんと別の値が保持される。
つまりはそういうこと。
636デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/28(月) 19:51:37.75ID:BH9MBdK/a ↑ こいつは一体何を説明してるんだろう…
637デフォルトの名無しさん (ワッチョイ 61da-CM16)
2022/03/28(月) 19:53:39.70ID:nzzJclxc0 みんな教え方バラバラだから質問者が困ってるよー
638デフォルトの名無しさん (ササクッテロラ Sp79-JoQ9)
2022/03/28(月) 20:06:46.75ID:GBAIeVpDp >>636
分からないならすっこんでればいいんじゃないかな
分からないならすっこんでればいいんじゃないかな
639デフォルトの名無しさん (スププ Sdb2-9QKR)
2022/03/28(月) 20:07:19.86ID:jdteRYNZd 実務ではよくある話
640デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/28(月) 21:12:23.25ID:DlrSWjY+a641デフォルトの名無しさん (アウアウウー Sacd-+Ivz)
2022/03/29(火) 00:49:06.48ID:zHBdUnr/a >>638
うるさい、だまってればいいんじゃないかな
うるさい、だまってればいいんじゃないかな
642デフォルトの名無しさん (ワッチョイ 552f-XwpL)
2022/03/29(火) 01:38:58.63ID:YOHlvasK0 まあ、知らなかっただけって可能性が高いんだが
DimでNewしてるオブジェクト変数はNothingにできないって罠があるからな
そして今更だが、VBAにDictionaryはないぞ、と
DimでNewしてるオブジェクト変数はNothingにできないって罠があるからな
そして今更だが、VBAにDictionaryはないぞ、と
643デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/29(火) 06:28:42.33ID:z3WwGups0 >>642
nothingに出来ないってどういう事だ?
以下のコード、間違えてるんだろうか
Sub foo()
Dim a As New Collection
Set a = Nothing
End Sub
nothingに出来ないってどういう事だ?
以下のコード、間違えてるんだろうか
Sub foo()
Dim a As New Collection
Set a = Nothing
End Sub
644デフォルトの名無しさん (ワッチョイ 924f-JoQ9)
2022/03/29(火) 07:06:07.15ID:YJRadFF90645デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/29(火) 07:24:06.81ID:Nk63wsBAa それをNothingにできないと言うか?
646デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/29(火) 07:25:09.72ID:z3WwGups0647デフォルトの名無しさん (テテンテンテン MM96-tbOq)
2022/03/29(火) 08:16:28.05ID:JuGZiW1lM dictionaryって連想配列だろ
VBA的にはマスタの代わりか、重複を避けて集計するぐらいしか使わないイメージ
だからここで問題にされてることってどうでもいい気もするけどなw
>>602
お前の質問に答えられるレベルに人はここにはいないだろw
海外のサイトで質問するほうがいいよ
VBA的にはマスタの代わりか、重複を避けて集計するぐらいしか使わないイメージ
だからここで問題にされてることってどうでもいい気もするけどなw
>>602
お前の質問に答えられるレベルに人はここにはいないだろw
海外のサイトで質問するほうがいいよ
648デフォルトの名無しさん (ワッチョイ 0dce-+Ivz)
2022/03/29(火) 08:48:32.13ID:ZoTD6ZCz0 そもそもVBAのオブジェクト型は参照カウンタ方式だから、Nothingの代入はオブジェクトの破棄じゃないし
破棄の予約とでも言えばいいのかな
システムは予約が入ってるかどうか定期的にチェックして、可能なら破棄する
実際に破棄するタイミングはシステムが勝手に決めて、いつのまにか予測不可能なタイミングで破棄されてる
ところで破棄のアルゴリズムって公開されてる?
あるいは誰かが解析した資料がどっかにある?
破棄の予約とでも言えばいいのかな
システムは予約が入ってるかどうか定期的にチェックして、可能なら破棄する
実際に破棄するタイミングはシステムが勝手に決めて、いつのまにか予測不可能なタイミングで破棄されてる
ところで破棄のアルゴリズムって公開されてる?
あるいは誰かが解析した資料がどっかにある?
649デフォルトの名無しさん (ラクッペペ MM96-gZpx)
2022/03/29(火) 08:57:03.34ID:91VKkhT6M カウントゼロで破棄だろ
説明するまでもない
説明するまでもない
650デフォルトの名無しさん (スッップ Sdb2-nQMq)
2022/03/29(火) 08:58:53.63ID:TzrFOdrRd651デフォルトの名無しさん (ワッチョイ 924f-JoQ9)
2022/03/29(火) 10:42:09.75ID:YJRadFF90 この辺、VB.Netとかの他言語でCOMオブジェクトの解放とかやってないと想像つきにくいよね。
そういうの知ってても面倒くさいし、サーバーサイドでEXCEL自体ないこともあるから
あの手この手で別の方法使ってEXCELの更新行おうとするよね。
そういうの知ってても面倒くさいし、サーバーサイドでEXCEL自体ないこともあるから
あの手この手で別の方法使ってEXCELの更新行おうとするよね。
652デフォルトの名無しさん (スップ Sdb2-Slbg)
2022/03/29(火) 11:13:32.55ID:DZfi33jJd 想像というよりやるべき作法をわからずに適当に作るからでは
使ったら解放するものは何か理解していれば間違えないでしょ
適当にここでNothingすればいいやとか思ってるから問題がおきてしまう
使ったら解放するものは何か理解していれば間違えないでしょ
適当にここでNothingすればいいやとか思ってるから問題がおきてしまう
653デフォルトの名無しさん (ブーイモ MMad-nQMq)
2022/03/29(火) 11:35:23.69ID:4eDRgxgoM654デフォルトの名無しさん (ワッチョイ 552f-XwpL)
2022/03/29(火) 12:59:23.02ID:YOHlvasK0 >>643
Set a = Nothing
のあとに
MsgBox (a Is Nothing)
とかやってみ
問題にしてるのはオブジェクト変数をNothingにできないことで
つまり
Set obj = Checkobj()
If obj Is Nothing Then
みたいなコードがバグるってことなんだが
>>648
インスタンスの解放とか問題にしてないが
破棄の予約ってなんなんだよ
Nothingの代入は単に参照カウンタを減らすだけだぞ
結果カウントゼロなら廃棄される
.Netじゃないし、VBAで
>システムが勝手に決めて、いつのまにか予測不可能なタイミングで破棄されてる
なんてことはないはず
Set a = Nothing
のあとに
MsgBox (a Is Nothing)
とかやってみ
問題にしてるのはオブジェクト変数をNothingにできないことで
つまり
Set obj = Checkobj()
If obj Is Nothing Then
みたいなコードがバグるってことなんだが
>>648
インスタンスの解放とか問題にしてないが
破棄の予約ってなんなんだよ
Nothingの代入は単に参照カウンタを減らすだけだぞ
結果カウントゼロなら廃棄される
.Netじゃないし、VBAで
>システムが勝手に決めて、いつのまにか予測不可能なタイミングで破棄されてる
なんてことはないはず
655デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/29(火) 13:35:16.03ID:oJxqSb9ha656デフォルトの名無しさん (ワッチョイ 552f-XwpL)
2022/03/29(火) 13:45:44.59ID:YOHlvasK0657デフォルトの名無しさん (スップ Sdb2-Slbg)
2022/03/29(火) 13:49:11.35ID:DZfi33jJd >>654
バグるんではなく自分でバグらせてるだけでしょ
Dimで変数を宣言する際にNewを付与するとヘルプのこちらの記載
「オブジェクト変数の宣言時に New を使用すると、その変数を最初に参照したときにオブジェクトの
新しいインスタンスが作成されるようになり、Set ステートメントを使用してオブジェクト参照を
割り当てる必要がなくなります。」
にある通り変数を参照する限りはNothingにすることはできない
(デバッグで変数を参照してしまっても同様)
変数がNothingか判定したいなら素直に宣言の際はNewを使わなければいいだけ
Newをどういうときに使うとコーディング上効果的かわからない、他人が理解できないかもしれないなら使わないほうがいい
バグるんではなく自分でバグらせてるだけでしょ
Dimで変数を宣言する際にNewを付与するとヘルプのこちらの記載
「オブジェクト変数の宣言時に New を使用すると、その変数を最初に参照したときにオブジェクトの
新しいインスタンスが作成されるようになり、Set ステートメントを使用してオブジェクト参照を
割り当てる必要がなくなります。」
にある通り変数を参照する限りはNothingにすることはできない
(デバッグで変数を参照してしまっても同様)
変数がNothingか判定したいなら素直に宣言の際はNewを使わなければいいだけ
Newをどういうときに使うとコーディング上効果的かわからない、他人が理解できないかもしれないなら使わないほうがいい
658デフォルトの名無しさん (スップ Sd12-+Ivz)
2022/03/29(火) 13:53:26.54ID:/B8eDHF6d659デフォルトの名無しさん (ワッチョイ 924f-JoQ9)
2022/03/29(火) 14:15:22.73ID:YJRadFF90 でもこれ、ちょっと怖いよね
Dimの宣言時にNewしてやると、Nothingにしたら次触るとき、インスタンスが設定されていなければ
勝手に新しいインスタンスを設定するなんて
知らなかったら分岐に Is Nothingとか使いそうだし、知ってたら知ってたでSet 〜 As New 〜の代わりに使って、知ってる人じゃなければ分からないような属人化コードわざと書いたり出来るってことだもんね。
.Netとかでも同じような挙動をするのかな?
Dimの宣言時にNewしてやると、Nothingにしたら次触るとき、インスタンスが設定されていなければ
勝手に新しいインスタンスを設定するなんて
知らなかったら分岐に Is Nothingとか使いそうだし、知ってたら知ってたでSet 〜 As New 〜の代わりに使って、知ってる人じゃなければ分からないような属人化コードわざと書いたり出来るってことだもんね。
.Netとかでも同じような挙動をするのかな?
660デフォルトの名無しさん (スップ Sdb2-Slbg)
2022/03/29(火) 14:49:39.05ID:DZfi33jJd 怖いもなにもヘルプに書いてあることを理解せずに伝えたりそれを聞きかじっただけでやるからでしょ
質問する側も答える側も一部分だけのやり取りしてるのを踏まえて会話しないと事故のもとだよ
まあ事故るのは質問する側だけなんで答える側はそこまで保証できないが
質問する側も答える側も一部分だけのやり取りしてるのを踏まえて会話しないと事故のもとだよ
まあ事故るのは質問する側だけなんで答える側はそこまで保証できないが
661デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/29(火) 15:00:51.71ID:5Hfxlu6fa >>657
> 「オブジェクト変数の宣言時に New を使用すると、その変数を最初に参照したときにオブジェクトの新しいインスタンスが作成されるようになり、Set ステートメントを使用してオブジェクト参照を割り当てる必要がなくなります。」
から
> 変数を参照する限りはNothingにすることはできない
と言うのは飛躍しすぎ
問題はそっちじゃなくて
> 「必ずオブジェクトが存在することが保証される (Nothing を設定してオブジェクトが破棄されたとしても、オブジェクト変数を再利用しようとすると、再作成される)」
の方な
ただ個人的には上記の文で「オブジェクトが破棄されたとして」のくだりは余計だと思う
複数から参照されてたらオブジェクト自体は破棄されないから
> 「オブジェクト変数の宣言時に New を使用すると、その変数を最初に参照したときにオブジェクトの新しいインスタンスが作成されるようになり、Set ステートメントを使用してオブジェクト参照を割り当てる必要がなくなります。」
から
> 変数を参照する限りはNothingにすることはできない
と言うのは飛躍しすぎ
問題はそっちじゃなくて
> 「必ずオブジェクトが存在することが保証される (Nothing を設定してオブジェクトが破棄されたとしても、オブジェクト変数を再利用しようとすると、再作成される)」
の方な
ただ個人的には上記の文で「オブジェクトが破棄されたとして」のくだりは余計だと思う
複数から参照されてたらオブジェクト自体は破棄されないから
662デフォルトの名無しさん (スップ Sdb2-Slbg)
2022/03/29(火) 15:09:04.14ID:DZfi33jJd Nothingしてもその後に”変数を参照した”らNothingが再作成されたインスタンスに変わるんだからできないと一緒じゃない?
それと変数とオブジェクトを一緒に考えてないか?
自分は
Dim A As Object
Dim B As Object
Set A = XXX
Set B = A
Set A = Nothing
この場合のAの話をしていてXXXで作成したインスタンスの話はしてないよ
それと変数とオブジェクトを一緒に考えてないか?
自分は
Dim A As Object
Dim B As Object
Set A = XXX
Set B = A
Set A = Nothing
この場合のAの話をしていてXXXで作成したインスタンスの話はしてないよ
663デフォルトの名無しさん (スップ Sdb2-Slbg)
2022/03/29(火) 15:12:01.06ID:DZfi33jJd まあどうでもいい話だった無視してくれ
すまん
すまん
664デフォルトの名無しさん (ワッチョイ 552f-XwpL)
2022/03/29(火) 15:23:41.67ID:YOHlvasK0 >>657
元の話はなぜDimでNewしないって話だから
バグのもとだからやめといたほうが良いという、理由の可能性の一つを挙げてるだけだが
実際知っててもミスることはあるし、しらないとデバッグが困難だからな
元の話はなぜDimでNewしないって話だから
バグのもとだからやめといたほうが良いという、理由の可能性の一つを挙げてるだけだが
実際知っててもミスることはあるし、しらないとデバッグが困難だからな
665デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/29(火) 15:30:09.53ID:9zoeUatEa666デフォルトの名無しさん (ワッチョイ 552f-XwpL)
2022/03/29(火) 15:31:19.17ID:YOHlvasK0667デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/29(火) 15:54:16.92ID:ffasCIjOa668デフォルトの名無しさん (ワッチョイ 55d3-Q6Rq)
2022/03/29(火) 18:10:12.28ID:OyTS9aq30 列ではなく、選択した箇所だけを固定したいのですが出来ませんか?
669デフォルトの名無しさん (ワッチョイ 0dce-+Ivz)
2022/03/29(火) 18:32:44.42ID:ZoTD6ZCz0670デフォルトの名無しさん (スップ Sdb2-Slbg)
2022/03/29(火) 18:52:31.36ID:DZfi33jJd 各自が想定してるコードが違うんだから言葉遊びにすぎないよ
自分のレスもいまいちだったかもしれんがNothingをセットして終了するならNothingかもしれないが
後続のコードにIs Nothingなり変数の参照があるならそれは結果的にNothingではなくなるのと一緒と自分は思ってるだけ
例に出して申し訳ないが
> Set a = Nothing
> のあとに
> MsgBox (a Is Nothing)
これとかね
自分なりの結論は宣言時にNewは使わないほうが無難
自分のレスもいまいちだったかもしれんがNothingをセットして終了するならNothingかもしれないが
後続のコードにIs Nothingなり変数の参照があるならそれは結果的にNothingではなくなるのと一緒と自分は思ってるだけ
例に出して申し訳ないが
> Set a = Nothing
> のあとに
> MsgBox (a Is Nothing)
これとかね
自分なりの結論は宣言時にNewは使わないほうが無難
671デフォルトの名無しさん (ワッチョイ 552f-XwpL)
2022/03/29(火) 19:12:31.97ID:YOHlvasK0 >代入すればNothingになる
>その次にアクセスすると、またそのタイミングで自動的にNewされる
厳密にはその通り
そんなことは分かったうえで、それをコード上で確認できないから
Nothingにならない と表現したわけで、その表現が間違いらしいですわ
(VBAコードから)オブジェクト変数をNothingとして評価できない
すべての個所をそう読み替えといてくれ
飽きたし俺はこの話はもうこれで終わり
>その次にアクセスすると、またそのタイミングで自動的にNewされる
厳密にはその通り
そんなことは分かったうえで、それをコード上で確認できないから
Nothingにならない と表現したわけで、その表現が間違いらしいですわ
(VBAコードから)オブジェクト変数をNothingとして評価できない
すべての個所をそう読み替えといてくれ
飽きたし俺はこの話はもうこれで終わり
672デフォルトの名無しさん (ワッチョイ 924f-JoQ9)
2022/03/29(火) 19:15:45.64ID:YJRadFF90 まぁ>>670の言う通り言葉遊びだよね
みんな実際の挙動は理解しての会話になってるみたいだし
みんな実際の挙動は理解しての会話になってるみたいだし
673デフォルトの名無しさん (ワッチョイ b5e6-gZpx)
2022/03/29(火) 19:19:18.21ID:y+mxjJK80 まあオレは今まで知らなかったけどな!
674デフォルトの名無しさん (ワッチョイ 655f-ObPs)
2022/03/29(火) 19:32:15.47ID:/IcSX3Pk0 >>644
おれ以外にもthom先生見てる人いたか
おれ以外にもthom先生見てる人いたか
675デフォルトの名無しさん (ブーイモ MMa6-+Ivz)
2022/03/29(火) 20:35:52.45ID:TgcL8J/yM どう見ても最初はわかってなかったやろ
最後にやっと理解できたみたいだけど
最後にやっと理解できたみたいだけど
676デフォルトの名無しさん (ワッチョイ 9202-dpz8)
2022/03/29(火) 21:25:13.63ID:YV5lTWI/0 人に優しく行きましょう
それは分かる人に与えられた特権なのです
それは分かる人に与えられた特権なのです
677デフォルトの名無しさん (ワッチョイ 655f-ObPs)
2022/03/30(水) 05:40:49.56ID:bXpTryOw0 人生は優しくなるためにある
678デフォルトの名無しさん (ラクッペペ MM96-48vY)
2022/03/30(水) 08:23:09.21ID:0ps204vGM スマホ手打ちなので誤字等ありましたらすみませんがよろしくお願いします。
rangeを用いた範囲指定でcells(row,columns)の行、列の部分に端数切り上げで数式を入れたいと考えています。
vbaで roundupを用いる時はworksheetfunction.をつける必要があることをネットで知ったのですが、ページによって頭にapplication.をつけてるものとそうでないものが混在しました。有無によってどのような違いがあるのか教えてください。
rangeを用いた範囲指定でcells(row,columns)の行、列の部分に端数切り上げで数式を入れたいと考えています。
vbaで roundupを用いる時はworksheetfunction.をつける必要があることをネットで知ったのですが、ページによって頭にapplication.をつけてるものとそうでないものが混在しました。有無によってどのような違いがあるのか教えてください。
679デフォルトの名無しさん (スッップ Sdb2-Slbg)
2022/03/30(水) 08:47:30.52ID:06EhkzBAd 数式を入れるのかワークシート関数を使って値をいれたいのかよくわからないけど
後半の質問であればVBA上では動作に違いはないよ
「https://docs.microsoft.com/ja-jp/office/vba/api/excel.application(object)」の
「アクティブ セル (ActiveCell プロパティ) など、最も一般的なユーザーインターフェイス オブジェクトを返すプロパティとメソッドのほとんどは、Application オブジェクト修飾子を指定しないで使用できます。」
と書いてある通り
こういう質問する前にヘルプを見ると知りたい事や知っておいたいいことが書いてる場合もあるし怪しい回答の知識を覚えなくて済むから見る癖つけたほうがいいぞ
後半の質問であればVBA上では動作に違いはないよ
「https://docs.microsoft.com/ja-jp/office/vba/api/excel.application(object)」の
「アクティブ セル (ActiveCell プロパティ) など、最も一般的なユーザーインターフェイス オブジェクトを返すプロパティとメソッドのほとんどは、Application オブジェクト修飾子を指定しないで使用できます。」
と書いてある通り
こういう質問する前にヘルプを見ると知りたい事や知っておいたいいことが書いてる場合もあるし怪しい回答の知識を覚えなくて済むから見る癖つけたほうがいいぞ
680デフォルトの名無しさん (ラクッペペ MM96-48vY)
2022/03/30(水) 08:54:37.31ID:6Q6BE8PxM >679
ありがとう、参考にします。
ありがとう、参考にします。
681デフォルトの名無しさん (オッペケ Sr79-+/qe)
2022/03/30(水) 09:15:22.27ID:p8/VPuFXr いえいえ
682デフォルトの名無しさん (ワッチョイ 9eda-Gt7H)
2022/03/30(水) 10:25:12.15ID:otm0Hfbh0 実際に組んでみてうまく行かない場合に調べるとか質問とかしたらいいと思う
683デフォルトの名無しさん (ワッチョイ 69f0-c/bJ)
2022/03/30(水) 10:38:48.27ID:xL2+oAob0 ちょっと教えてください
複数のシートを一緒にスクロールして
常に同じ位置に同じ行列が表示させられるような移動方法ってありますか?
例)
シート1〜シート10までをグループ化して
シート1をスクロールして1000行目を頭に表示すると
残りのシート2〜シート10も同じように1000行目を表示している
よろしくお願いします
複数のシートを一緒にスクロールして
常に同じ位置に同じ行列が表示させられるような移動方法ってありますか?
例)
シート1〜シート10までをグループ化して
シート1をスクロールして1000行目を頭に表示すると
残りのシート2〜シート10も同じように1000行目を表示している
よろしくお願いします
684デフォルトの名無しさん (ワッチョイ 6e7c-O0kb)
2022/03/30(水) 14:07:54.57ID:4QxrGADI0 裸の王様がやってきた やってきた やってきたぞ
685デフォルトの名無しさん (ワッチョイ 552f-XwpL)
2022/03/30(水) 19:23:16.04ID:QNA9H61R0 >>683
いったんアクティブにしていいなら
Application.GotoとかWindow.ScrollIntoViewとかで表示位置は変えられるけど
まあ使い物にならない可能性が高いな
アクティブじゃないシートのスクロール位置を変える方法があるなら俺も知りたい
それかWindow10個作って同時にスクロールにするとか
いったんアクティブにしていいなら
Application.GotoとかWindow.ScrollIntoViewとかで表示位置は変えられるけど
まあ使い物にならない可能性が高いな
アクティブじゃないシートのスクロール位置を変える方法があるなら俺も知りたい
それかWindow10個作って同時にスクロールにするとか
686デフォルトの名無しさん (ワッチョイ 1242-PYYx)
2022/03/30(水) 19:31:25.53ID:ljpoek3c0 複数のシートのデータを纏めたシートを作ったらどうかな
687デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/30(水) 19:32:55.87ID:2JfZorGz0 スクロールのイベントってないんか
クリックしたセルを同じにするマクロ
なんじゃこりゃ
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Sheet1" Then
Sheets("sheet2").Select
Sheets("sheet2").Cells(Target.Row, Target.Column).Select
Sheets("sheet3").Select
Sheets("sheet3").Cells(Target.Row, Target.Column).Select
Sheets("sheet1").Select
End If
End Sub
クリックしたセルを同じにするマクロ
なんじゃこりゃ
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Sheet1" Then
Sheets("sheet2").Select
Sheets("sheet2").Cells(Target.Row, Target.Column).Select
Sheets("sheet3").Select
Sheets("sheet3").Cells(Target.Row, Target.Column).Select
Sheets("sheet1").Select
End If
End Sub
688デフォルトの名無しさん (ワッチョイ 5e8e-/mVJ)
2022/03/30(水) 19:47:16.20ID:R9seM6Mc0 馬鹿が考えた操作なんて実装しても、所詮馬鹿の馬鹿な発想でしかない
689デフォルトの名無しさん (ワッチョイ a901-uHCF)
2022/03/30(水) 22:06:13.73ID:wN+Ljz7f0 >>687
フォーム内のスクロールバーはイベント取得できるぽい
そういうのでいいならフォーム内スクロールバーに従ってシートをスクロールさせることはできそう
もしくはシート1のスクロールを監視して自分でイベント発行するか
フォーム内のスクロールバーはイベント取得できるぽい
そういうのでいいならフォーム内スクロールバーに従ってシートをスクロールさせることはできそう
もしくはシート1のスクロールを監視して自分でイベント発行するか
690デフォルトの名無しさん (ワッチョイ 9202-dpz8)
2022/03/30(水) 22:25:38.10ID:N270RWsC0 彼女の下のお口から出る糸を、シート(She糸)と呼びます
691デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/30(水) 22:25:54.14ID:2JfZorGz0 >>689
逆にスクロールを実装すればよかったのね
下スクロールを実装したら期待通りの動きになったわ
Sub Macro4()
' Keyboard Shortcut: Ctrl+Shift+P
Windows("Book1 - 1").Activate
ActiveWindow.SmallScroll Down:=30
Windows("Book1 - 2").Activate
ActiveWindow.SmallScroll Down:=30
Windows("Book1 - 3").Activate
ActiveWindow.SmallScroll Down:=30
End Sub
逆にスクロールを実装すればよかったのね
下スクロールを実装したら期待通りの動きになったわ
Sub Macro4()
' Keyboard Shortcut: Ctrl+Shift+P
Windows("Book1 - 1").Activate
ActiveWindow.SmallScroll Down:=30
Windows("Book1 - 2").Activate
ActiveWindow.SmallScroll Down:=30
Windows("Book1 - 3").Activate
ActiveWindow.SmallScroll Down:=30
End Sub
692デフォルトの名無しさん (ブーイモ MMa6-+Ivz)
2022/03/31(木) 04:24:20.35ID:YoVJ22V0M 糸を出す女ってスパイダーガールか
693デフォルトの名無しさん (ブーイモ MM96-/MGz)
2022/04/01(金) 07:19:21.13ID:fdMR9HVCM 宗教的な話題になりそうだけど、If文で判定入れてそれ以外の場合は何もしないって処理の時、elseを省く?それとも何も処理をしないって明示するためにelseの中に何も書かない?
694デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/04/01(金) 08:08:06.08ID:AJ0kjIG/a 俺は省く
逆に Select Case の Case Else は必ずつけて何もしなくていいことを明示するコメントを書いておく
逆に Select Case の Case Else は必ずつけて何もしなくていいことを明示するコメントを書いておく
695デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/04/01(金) 08:13:36.66ID:YZ/4IsUH0 こういう書き方ってどうにかしてうまくまとめる方法はありますか?
if C=1 then
if B=1 then
if A=1 then
msgbox "メイン処理を実行します"
else
msgbox "A=1じゃなかったので実行しなかった"
else
msgbox "B=1じゃなかったので実行しなかった"
else
msgbox "C=1じゃなかったので実行しなかった"
if C=1 then
if B=1 then
if A=1 then
msgbox "メイン処理を実行します"
else
msgbox "A=1じゃなかったので実行しなかった"
else
msgbox "B=1じゃなかったので実行しなかった"
else
msgbox "C=1じゃなかったので実行しなかった"
696デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/04/01(金) 08:33:32.40ID:cX1o4aeta >>695
If C <> 1 Then
msgbox "C=1じゃなかったので実行しなかった"
Goto Skip
End If
If B <> 1 Then
msgbox "B=1じゃなかったので実行しなかった"
Goto Skip
End If
If A <> 1 Then
msgbox "A=1じゃなかったので実行しなかった"
Goto Skip
End If
msgbox "メイン処理を実行します"
Skip:
Goto 嫌なら Sub に入れて Return とか
If C <> 1 Then
msgbox "C=1じゃなかったので実行しなかった"
Goto Skip
End If
If B <> 1 Then
msgbox "B=1じゃなかったので実行しなかった"
Goto Skip
End If
If A <> 1 Then
msgbox "A=1じゃなかったので実行しなかった"
Goto Skip
End If
msgbox "メイン処理を実行します"
Skip:
Goto 嫌なら Sub に入れて Return とか
697デフォルトの名無しさん (ワッチョイ a901-uHCF)
2022/04/01(金) 09:19:19.95ID:qbFmdfWP0 >>695
ネスト深くなるとわかりにくい
処理は簡単な単位でまとめたほうがいい
実行する/しないは一つの単位(success/errorのように)としてまとめたほうがいい
拒否理由="なし"
if c<>1 then 拒否理由="cじゃない"
else if b<>1 then 拒否理由="bじゃない"
else if a<>1 then 拒否理由="aじゃない"
if 拒否理由="なし"
メイン処理
else
msgbox 拒否理由&"ので実行しません"
ネスト深くなるとわかりにくい
処理は簡単な単位でまとめたほうがいい
実行する/しないは一つの単位(success/errorのように)としてまとめたほうがいい
拒否理由="なし"
if c<>1 then 拒否理由="cじゃない"
else if b<>1 then 拒否理由="bじゃない"
else if a<>1 then 拒否理由="aじゃない"
if 拒否理由="なし"
メイン処理
else
msgbox 拒否理由&"ので実行しません"
698デフォルトの名無しさん (ワッチョイ 9eda-c/bJ)
2022/04/01(金) 19:02:13.39ID:qNIRpAbL0 わかりにくいってだけで正常に動作しているならコメントでも書いとけばいいんじゃね
699デフォルトの名無しさん (ラクッペペ MM96-gZpx)
2022/04/01(金) 19:04:18.25ID:iXF+QXI0M >>696
do loop 0でブレイク
do loop 0でブレイク
700デフォルトの名無しさん (ワッチョイ 2d5f-5wp0)
2022/04/02(土) 10:46:13.39ID:fjGlq1dk0701デフォルトの名無しさん (アウアウウー Sae9-ukBL)
2022/04/02(土) 12:32:39.80ID:wbru5aYXa VBA の Select Case は Case 節に式が書けるから素直に
Select Case True
Case C <> 1
msgbox "C=1じゃなかったので実行しなかった"
Case B <> 1
msgbox "B=1じゃなかったので実行しなかった"
Case A <> 1
msgbox "A=1じゃなかったので実行しなかった"
Case Else
msgbox "メイン処理を実行します"
End Select
がわかりやすいかな
Select Case True
Case C <> 1
msgbox "C=1じゃなかったので実行しなかった"
Case B <> 1
msgbox "B=1じゃなかったので実行しなかった"
Case A <> 1
msgbox "A=1じゃなかったので実行しなかった"
Case Else
msgbox "メイン処理を実行します"
End Select
がわかりやすいかな
702デフォルトの名無しさん (ササクッテロラ Sp01-a6kw)
2022/04/02(土) 13:02:04.64ID:ZSAOoecqp703デフォルトの名無しさん (ワッチョイ cbda-91fs)
2022/04/02(土) 19:50:51.52ID:xmwnc1Js0 複数の条件が成り立つ場合の優先度とか気にせんと・・・
704デフォルトの名無しさん (アウアウウー Sae9-ukBL)
2022/04/02(土) 20:08:08.57ID:rQp/oHNqa >>703
なんでドキュメント読まないの?
複数の Case 句の expressionlist 式に一致する場合は、最初に一致した句に続くステートメントのみが実行されます。
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/select-case-statement
なんでドキュメント読まないの?
複数の Case 句の expressionlist 式に一致する場合は、最初に一致した句に続くステートメントのみが実行されます。
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/select-case-statement
705デフォルトの名無しさん (ワッチョイ 4be6-4iMi)
2022/04/03(日) 00:02:19.90ID:ZgXClf4M0 A=1かつB=1かつC=1だったらXが実行されるって言う事ではないのね
なんかややこしいね(´・ω・`)
なんかややこしいね(´・ω・`)
706デフォルトの名無しさん (ワッチョイ 5dce-fe9w)
2022/04/03(日) 03:01:36.86ID:J74pUyNp0 俺は中身が1行の時はCaseを1行にまとめる派
Sub Macro()
Select Case True
Case C <> 1: errmsg ("C")
Case B <> 1: errmsg ("B")
Case A <> 1: errmsg ("A")
Case Else: MsgBox "メイン処理を実行します"
End Select
End Sub
Sub errmsg(s$)
MsgBox s & "=1じゃなかったので実行しなかった"
End Sub
Sub Macro()
Select Case True
Case C <> 1: errmsg ("C")
Case B <> 1: errmsg ("B")
Case A <> 1: errmsg ("A")
Case Else: MsgBox "メイン処理を実行します"
End Select
End Sub
Sub errmsg(s$)
MsgBox s & "=1じゃなかったので実行しなかった"
End Sub
707デフォルトの名無しさん (アウアウウー Sae9-ukBL)
2022/04/03(日) 06:50:49.06ID:o4u0MtXma >>706
errmsg の呼出時の括弧は要らないのでは?
errmsg の呼出時の括弧は要らないのでは?
708デフォルトの名無しさん (ワッチョイ 0d68-fe9w)
2022/04/03(日) 07:52:44.68ID:6Vj/pyuu0 >>706
こういうふうにはしないほうが良い?
Sub Macro()
Select Case True
Case C <> 1: msg ="C"
Case B <> 1: msg ="B"
Case A <> 1: msg ="A"
Case Else: msg= "メイン処理を実行します"
End Select
End Sub
msgbox(msg)
こういうふうにはしないほうが良い?
Sub Macro()
Select Case True
Case C <> 1: msg ="C"
Case B <> 1: msg ="B"
Case A <> 1: msg ="A"
Case Else: msg= "メイン処理を実行します"
End Select
End Sub
msgbox(msg)
709デフォルトの名無しさん (ブーイモ MM79-2Qsg)
2022/04/03(日) 08:39:48.32ID:D1zTFGCZM そうやって本筋じゃない方へ話題は逸れていく
710デフォルトの名無しさん (ワッチョイ 234f-a6kw)
2022/04/03(日) 09:01:58.41ID:Uf1/B9Ep0 Subの場合は
括弧を付けるならCallも付ける
Callを付けないなら括弧も付けない
それだけ
括弧を付けるならCallも付ける
Callを付けないなら括弧も付けない
それだけ
711デフォルトの名無しさん (アウアウウー Sae9-ukBL)
2022/04/03(日) 09:05:23.70ID:r53Jbhkva712デフォルトの名無しさん (ワッチョイ 0d68-fe9w)
2022/04/03(日) 09:06:11.26ID:6Vj/pyuu0 >>709
今回はどんどん話を膨らませていいよ
今回はどんどん話を膨らませていいよ
713デフォルトの名無しさん (スッップ Sd43-8w8P)
2022/04/03(日) 10:18:01.32ID:spDayutJd 僕が考えた最高のコード
ってやつだろこんな話題にくいつくのもはずいわ
ってやつだろこんな話題にくいつくのもはずいわ
714デフォルトの名無しさん (ワッチョイ 0d68-fe9w)
2022/04/03(日) 10:39:12.57ID:6Vj/pyuu0 >>708は間違いね
こういう風に、メッセージの中だけ変数に入れて最後で表示させるってのはやめたほうがいいでしょうか
Sub Macro()
Select Case True
Case C <> 1: msg ="C=1じゃなかったので実行しなかった"
Case B <> 1: msg ="B=1じゃなかったので実行しなかった"
Case A <> 1: msg ="A=1じゃなかったので実行しなかった"
Case Else: msg= "メイン処理を実行します"
End Select
End Sub
msgbox(msg)
こういう風に、メッセージの中だけ変数に入れて最後で表示させるってのはやめたほうがいいでしょうか
Sub Macro()
Select Case True
Case C <> 1: msg ="C=1じゃなかったので実行しなかった"
Case B <> 1: msg ="B=1じゃなかったので実行しなかった"
Case A <> 1: msg ="A=1じゃなかったので実行しなかった"
Case Else: msg= "メイン処理を実行します"
End Select
End Sub
msgbox(msg)
715デフォルトの名無しさん (ラクッペペ MM4b-eSjc)
2022/04/03(日) 10:49:41.47ID:LxaPNz9fM 好きにすればいい
716デフォルトの名無しさん (ワッチョイ cbda-91fs)
2022/04/03(日) 12:48:35.67ID:AxYcslms0 >>714
実行しなかったって表示するのに実行しそうだな
実行しなかったって表示するのに実行しそうだな
717デフォルトの名無しさん (ササクッテロラ Sp01-a6kw)
2022/04/03(日) 13:26:31.81ID:mz7mxvwZp しねーよハゲ
718デフォルトの名無しさん (ワッチョイ 1b8c-DC8L)
2022/04/03(日) 15:21:18.52ID:4YOQBH220719デフォルトの名無しさん (スッップ Sd43-8w8P)
2022/04/03(日) 15:52:40.85ID:vYlFEoJTd 実際の仕様でもなんでもない話に採用もクソもないのでは
好きにすればいいはなし
好きにすればいいはなし
720デフォルトの名無しさん (アウアウウー Sae9-ukBL)
2022/04/03(日) 17:28:53.57ID:m8vuVm8ra 話題に食いつくのははずいのに批判だけはするんだな
てか、批判しかできないのかなw
てか、批判しかできないのかなw
721デフォルトの名無しさん (ワッチョイ 0d68-fe9w)
2022/04/03(日) 17:42:03.95ID:6Vj/pyuu0 草
722デフォルトの名無しさん (アウアウウー Sae9-fe9w)
2022/04/05(火) 23:43:32.11ID:4aElhsU0a >>714
最高のコード
最高のコード
723デフォルトの名無しさん (ワッチョイ cbda-zZJH)
2022/04/07(木) 20:06:13.11ID:k57kmbe60 >>722
End Sub の下に msgbox(msg) があるのに?
End Sub の下に msgbox(msg) があるのに?
724デフォルトの名無しさん (ワッチョイ 234f-RJrg)
2022/04/07(木) 20:57:01.15ID:WZu7hIyw0 やっと書き込めた。
BB2Cが死んでJane Stileとかいうアプリで書き込んでるけど、VBAスレもその煽りかめっきり書き込み減ってるね。
BB2Cが死んでJane Stileとかいうアプリで書き込んでるけど、VBAスレもその煽りかめっきり書き込み減ってるね。
725デフォルトの名無しさん (アウアウウー Sae9-91fs)
2022/04/07(木) 22:52:18.94ID:shKfmndDa >>723
最(もお茶が)高(く噴き出た)のコード
最(もお茶が)高(く噴き出た)のコード
726デフォルトの名無しさん (ワッチョイ 2302-1g2K)
2022/04/08(金) 09:32:33.40ID:P5V0Axif0 ハイパーリンクで、他のファイルを開こうとすると、警告ダイアログが出ますが、
(「ファイルには、ウイルスやコンピューターに問題を…」)
非表示にできますか?
レジストリでDisableHyperlinkWarningをやっても、ダメでした…。
(「ファイルには、ウイルスやコンピューターに問題を…」)
非表示にできますか?
レジストリでDisableHyperlinkWarningをやっても、ダメでした…。
727デフォルトの名無しさん (ワッチョイ 23ad-DAe0)
2022/04/08(金) 09:48:16.01ID:O75PAQWK0 ユーザーフォームに設置したボタンをクリックすると
Private Sub 〜〜〜_Clickのイベントプロシージャが追加されますが、
このコードの追加位置はどういう基準で決まっていますか?
すぐ隣のボタンのClickの近くに挿入されることもあれば、
結構離れた位置に挿入されることもあります。
Private Sub 〜〜〜_Clickのイベントプロシージャが追加されますが、
このコードの追加位置はどういう基準で決まっていますか?
すぐ隣のボタンのClickの近くに挿入されることもあれば、
結構離れた位置に挿入されることもあります。
728デフォルトの名無しさん (アウアウウー Sae9-91fs)
2022/04/08(金) 18:32:41.81ID:DozpoMh4a 質問は一人一つまで。
729デフォルトの名無しさん (ワッチョイ cbda-zZJH)
2022/04/08(金) 19:07:30.71ID:aNhRPKRk0 >>726
ウイルスでも作っているの?
ウイルスでも作っているの?
730デフォルトの名無しさん (ワッチョイ 155f-/7Bn)
2022/04/08(金) 19:44:29.30ID:p3Omju050 エクセルVBAでウイルスを作ることはできますか?
エクセルVBAでAIを作ることはできますか?
エクセルVBAでAIを作ることはできますか?
731デフォルトの名無しさん (ワッチョイ 4d17-03l7)
2022/04/08(金) 19:49:56.82ID:0/Kcf5P10 >>726
試してないから出来るか分からんけどディスプレイアラートは?
試してないから出来るか分からんけどディスプレイアラートは?
732デフォルトの名無しさん (ワッチョイ 234f-RJrg)
2022/04/08(金) 19:59:37.27ID:iHtexTHZ0733デフォルトの名無しさん (スップ Sd43-sgGH)
2022/04/08(金) 20:10:13.83ID:cwm3b4Q1d734デフォルトの名無しさん (ワッチョイ 155f-/7Bn)
2022/04/08(金) 20:43:11.43ID:p3Omju050 >>732
でもおまえウイルスの作り方わからないじゃん
でもおまえウイルスの作り方わからないじゃん
735デフォルトの名無しさん (ワッチョイ 0d68-91fs)
2022/04/08(金) 20:59:12.69ID:AMkeYZ900 ウィルスの定義は「操作する人が意図しない動作を起こすプログラム」
だから空白のボタン押すと背景の色が変わるとかそんなんでもウィルスです
だから空白のボタン押すと背景の色が変わるとかそんなんでもウィルスです
736デフォルトの名無しさん (ワッチョイ 234f-a6kw)
2022/04/08(金) 21:53:49.35ID:iHtexTHZ0737デフォルトの名無しさん (ワッチョイ 0d68-91fs)
2022/04/08(金) 22:14:19.86ID:AMkeYZ900738デフォルトの名無しさん (ワッチョイ 237c-7lVs)
2022/04/08(金) 22:18:44.47ID:7fG2FYL40 ヤンキー・ドゥードルが懐かしい
739デフォルトの名無しさん (ワッチョイ 4f34-e5Kb)
2022/04/09(土) 00:48:37.33ID:C63TJhml0 AIの定義が明確に定まってないので自己学習して勝手に洗練されていくものもAIだしただのマクロもAI
740デフォルトの名無しさん (ワッチョイ 6242-LXkm)
2022/04/09(土) 00:55:30.60ID:tyw5ZPAK0 AIは作るものじゃない
育むものなんだよ
育むものなんだよ
741デフォルトの名無しさん (アウアウウー Sabb-xb3m)
2022/04/09(土) 02:28:28.01ID:FQQX8rtBa742デフォルトの名無しさん (ワッチョイ cb5f-5i8i)
2022/04/09(土) 06:04:10.90ID:+bGajSMm0 任意の列が左端に来るように水平スクロールする方法ってある?
Application.Gotoで左端に寄せてSmallScrollで上下位置を調整してるけど完全な水平スクロールにはならないんだよね
Application.Gotoで左端に寄せてSmallScrollで上下位置を調整してるけど完全な水平スクロールにはならないんだよね
743デフォルトの名無しさん (ワッチョイ 1b17-mmuM)
2022/04/09(土) 07:34:48.36ID:Dec5MFVZ0 With ActiveWindow
.ScrollRow = x
.ScrollColumn = y
End With
.ScrollRow = x
.ScrollColumn = y
End With
744デフォルトの名無しさん (ワッチョイ cb5f-5i8i)
2022/04/09(土) 08:12:43.36ID:+bGajSMm0 >>743
それも試したけど、アクティブセルが変わると数値が変わらない?
それも試したけど、アクティブセルが変わると数値が変わらない?
745デフォルトの名無しさん (ワッチョイ cb5f-5i8i)
2022/04/09(土) 08:52:12.11ID:+bGajSMm0 任意の列とアクティブセルの列の差を求めればScrollRowで行けるかな?
今度試してみよう
今度試してみよう
746デフォルトの名無しさん (スプッッ Sd22-eTSu)
2022/04/09(土) 11:14:24.15ID:Mfv2lAJId Sub World()
Dim Abe As Virus
Set Abe = New prime minister
Abe.coin.End(xldown)
Abe.tax.End(xlup)
Abe.wing.End(xlright)
End World
Dim Abe As Virus
Set Abe = New prime minister
Abe.coin.End(xldown)
Abe.tax.End(xlup)
Abe.wing.End(xlright)
End World
747デフォルトの名無しさん (アウアウウー Sabb-xb3m)
2022/04/09(土) 12:54:27.64ID:FQQX8rtBa で、誰かがズームしたりページレイアウト変えたりして、
トラブルの元になると。
ウィンドウ系はいじらない方がいいと
職場のおじいちゃんが言ってた。
トラブルの元になると。
ウィンドウ系はいじらない方がいいと
職場のおじいちゃんが言ってた。
748デフォルトの名無しさん (ワッチョイ e202-NVQH)
2022/04/09(土) 13:45:19.95ID:6rDUdJJw0 アース、ファイア、ウォータ系の属性のほうがいいかもね
749デフォルトの名無しさん (アウアウウー Sabb-xb3m)
2022/04/09(土) 14:39:59.55ID:FQQX8rtBa Excel VBA の Window 関連のオブジェクトって、船に刻して剣を求むって感じ
走っている電車の中から、指で窓ガラスに風景を描くみたいな
走っている電車の中から、指で窓ガラスに風景を描くみたいな
750デフォルトの名無しさん (ワッチョイ cb5f-5i8i)
2022/04/09(土) 15:26:28.03ID:+bGajSMm0 さっぱり例えが分からんw
751デフォルトの名無しさん (ワッチョイ 7b68-xb3m)
2022/04/09(土) 16:04:42.29ID:2h0/Yyo40 詩的すぎるだろw
752デフォルトの名無しさん (ワッチョイ 9b2f-jtTv)
2022/04/09(土) 18:41:50.44ID:8cH1hwr70753デフォルトの名無しさん (ワッチョイ d7da-KjJm)
2022/04/09(土) 20:23:31.13ID:8/Ft6Y7L0 日本人だけど意味がさっぱりわからんw
754デフォルトの名無しさん (アウアウウー Sabb-xb3m)
2022/04/09(土) 22:16:01.68ID:XcpxlUbda ごめん失敗したテヘ
755デフォルトの名無しさん (ワッチョイ 67da-vba2)
2022/04/10(日) 01:02:21.87ID:tD6svEJl0 ヘッドレスChromeをseleniumやWebdriverなしでどうにかなりませんか?
756デフォルトの名無しさん (アウアウウー Sabb-xb3m)
2022/04/10(日) 19:56:53.98ID:anoG1hsda >>755
UiPathおすすめ
UiPathおすすめ
757デフォルトの名無しさん (ワッチョイ 7ba5-L4Li)
2022/04/11(月) 21:59:21.11ID:Kyp6sDnX0 オブジェクトの代入を同一プロジェクトで使いまわすことはできるでしょうか?
Public ws1 as worksheet
Module1
Sub test1()
Set ws1 = Worksheets("Sheet1")
ws1.Range("A1") = "Test1"
End Sub
Module2
Sub test2()
Set ws1 = Worksheets("Sheet1")
ws1.Range("A2") = "Test2"
End Sub
これを下記のようにできないかな、ということです。
Public ws1 as worksheet
Set ws1 = Worksheets("Sheet1")
Module1
Sub test1()
ws1.Range("A1") = "Test1"
End Sub
Module2
Sub test2()
ws1.Range("A2") = "Test2"
End Sub
Public ws1 as worksheet
Module1
Sub test1()
Set ws1 = Worksheets("Sheet1")
ws1.Range("A1") = "Test1"
End Sub
Module2
Sub test2()
Set ws1 = Worksheets("Sheet1")
ws1.Range("A2") = "Test2"
End Sub
これを下記のようにできないかな、ということです。
Public ws1 as worksheet
Set ws1 = Worksheets("Sheet1")
Module1
Sub test1()
ws1.Range("A1") = "Test1"
End Sub
Module2
Sub test2()
ws1.Range("A2") = "Test2"
End Sub
758デフォルトの名無しさん (ワッチョイ c6da-EhK1)
2022/04/11(月) 22:26:56.33ID:p2QF/trT0 なにがしたいのか
759デフォルトの名無しさん (スプッッ Sd22-eTSu)
2022/04/11(月) 22:56:21.06ID:7xr/cYmKd オブジェクトは無理でしょ
Funtionで対応すれば良い
最もそうしない方が良いからデフォで出来ないようになってることは考慮すべきだと思う
Funtionで対応すれば良い
最もそうしない方が良いからデフォで出来ないようになってることは考慮すべきだと思う
760デフォルトの名無しさん (ワッチョイ 1b17-mmuM)
2022/04/11(月) 23:25:19.91ID:9dLPe5470 ん?そもそもワークシートってオブジェクト化されてるんだからわざわざ変数にセットする必要なくない?
対象のシートがコードを書いているファイルにあるなら
Sheet1.Range("A1").Value = "Test1"
で良いでしょ?
対象のシートがコードを書いているファイルにあるなら
Sheet1.Range("A1").Value = "Test1"
で良いでしょ?
761デフォルトの名無しさん (ワッチョイ 7ba5-L4Li)
2022/04/11(月) 23:56:27.01ID:Kyp6sDnX0 簡略化するためにThisworkbookを省略して書きましたが、実際には
マクロ動作中にほかのブックを触っても大丈夫且つコードがすっきり
するようにSet ws1 = Thisworkbook.Worksheets("Sheet1")のように
しています
少し時間ができたので増築増築でややこしくなったコードを整理している
最中で、複数のプロシージャで使う固定のシートはまとめて変数にセットして
おこうかと思ったのですがFunctionで調べてみます、ありがとうございます
マクロ動作中にほかのブックを触っても大丈夫且つコードがすっきり
するようにSet ws1 = Thisworkbook.Worksheets("Sheet1")のように
しています
少し時間ができたので増築増築でややこしくなったコードを整理している
最中で、複数のプロシージャで使う固定のシートはまとめて変数にセットして
おこうかと思ったのですがFunctionで調べてみます、ありがとうございます
762デフォルトの名無しさん (ワッチョイ 9b2f-U3yj)
2022/04/11(月) 23:58:43.07ID:amT3mnzR0 変数を使いまわす(というか広域で使う)のは普通にできる
モジュールレベルでPublic変数定義するだけ
なんならモジュール名で修飾してもいい
ただ、変数の寿命が管理しにくいから、
中身がセットされてないとか、いつの間にか中身が消えてるとかいうことになるかもなw
モジュールレベルでPublic変数定義するだけ
なんならモジュール名で修飾してもいい
ただ、変数の寿命が管理しにくいから、
中身がセットされてないとか、いつの間にか中身が消えてるとかいうことになるかもなw
763デフォルトの名無しさん (ワッチョイ 1b17-mmuM)
2022/04/12(火) 00:23:20.44ID:ccOkbRo70 シートをオブジェクト名で指定すればどのブックを触っていようがそのコードが書いてあるブックから参照すると思うのだけど
>>761 がやろうとしてる事って他のブックのシートを変数に収納したい場合しか使わなくないか?
>>761 がやろうとしてる事って他のブックのシートを変数に収納したい場合しか使わなくないか?
764デフォルトの名無しさん (ワッチョイ 43ce-jTyu)
2022/04/12(火) 02:00:50.12ID:vEgugssg0765デフォルトの名無しさん (ワッチョイ 7b68-xb3m)
2022/04/12(火) 06:30:21.52ID:j+U2fOIu0 やるならこうか?
init()に色々初期化みたいなものをまとめて、毎回呼び出す
Public ws1
Sub init()
Set ws1 = Worksheets("sheet1")
End Sub
Sub foo()
Call init
Cells(1, 1) = 1
End Sub
Sub foo2()
Call init
Cells(2, 2) = 2
End Sub
init()に色々初期化みたいなものをまとめて、毎回呼び出す
Public ws1
Sub init()
Set ws1 = Worksheets("sheet1")
End Sub
Sub foo()
Call init
Cells(1, 1) = 1
End Sub
Sub foo2()
Call init
Cells(2, 2) = 2
End Sub
766デフォルトの名無しさん (ワッチョイ bbe6-hh9d)
2022/04/12(火) 06:46:39.08ID:da5RcI7d0 汎用性と独立性を確保するなら引数でシートを渡せ
767デフォルトの名無しさん (ワッチョイ e24f-EtAN)
2022/04/12(火) 07:15:19.69ID:t+9U/8lg0768デフォルトの名無しさん (ワッチョイ 7b68-xb3m)
2022/04/12(火) 07:20:31.49ID:j+U2fOIu0 こういうイメージ?
よく考えたらpublicにする必要性が全くない
Sub init()
Set ws1 = Worksheets("sheet1")
Set ws2 = Worksheets("sheet2")
Set ws3 = Worksheets("sheet3")
Set ws4 = Worksheets("sheet4")
End Sub
Sub foo()
Call init
ws1.Cells(1, 1) = 1
End Sub
Sub foo2()
Call init
ws2.Cells(2, 2) = 2
End Sub
よく考えたらpublicにする必要性が全くない
Sub init()
Set ws1 = Worksheets("sheet1")
Set ws2 = Worksheets("sheet2")
Set ws3 = Worksheets("sheet3")
Set ws4 = Worksheets("sheet4")
End Sub
Sub foo()
Call init
ws1.Cells(1, 1) = 1
End Sub
Sub foo2()
Call init
ws2.Cells(2, 2) = 2
End Sub
769デフォルトの名無しさん (ワッチョイ 7b68-xb3m)
2022/04/12(火) 07:21:37.35ID:j+U2fOIu0 と思ったらpublicいるわスコープ他の言語と間違えたわ
770デフォルトの名無しさん (ワッチョイ 6752-0o7i)
2022/04/12(火) 17:42:54.51ID:oSnOjvyr0 Recordset.openでselect文を実行するとエラーになるけどツールでログに出した物を実行してもエラーにならない時って何が原因?
ダブルクォートは含まれてない
あとはイミディエイトウィンドウに出てくるsqlが変なとこで改行されてるけど関係ないよね?
ダブルクォートは含まれてない
あとはイミディエイトウィンドウに出てくるsqlが変なとこで改行されてるけど関係ないよね?
771デフォルトの名無しさん (ラクッペペ MM8e-hh9d)
2022/04/12(火) 17:45:16.76ID:pq/BAZJoM シラネーヨ
772デフォルトの名無しさん (ワッチョイ cb5f-5i8i)
2022/04/12(火) 19:22:20.07ID:D2BP6h+A0 742で書いた完全な水平スクロールできたわ
773デフォルトの名無しさん (ワッチョイ cb5f-5i8i)
2022/04/12(火) 19:25:18.42ID:D2BP6h+A0 >>757
Sheet1モジュールに書くだけでは?
Sheet1モジュールに書くだけでは?
774デフォルトの名無しさん (ワッチョイ c6da-EhK1)
2022/04/12(火) 19:48:28.48ID:hYDOb6070 >>770
それだけで答えられるほどエスパーじゃない
それだけで答えられるほどエスパーじゃない
775デフォルトの名無しさん (ワッチョイ e24f-EtAN)
2022/04/12(火) 19:58:04.86ID:t+9U/8lg0 >>770
まず出力されているエラーは何なの?
まず出力されているエラーは何なの?
776デフォルトの名無しさん (ワッチョイ 6752-0o7i)
2022/04/12(火) 20:52:44.19ID:oSnOjvyr0 ora 00933
sqlコマンドが正しく終了されていません
が出るんだよね
sqlコマンドが正しく終了されていません
が出るんだよね
777デフォルトの名無しさん (ワッチョイ e2da-vtdv)
2022/04/12(火) 21:13:36.65ID:cLFsXNmb0 そのままのエラー文でググれば一発で回答出てくるぢゃねーか
778デフォルトの名無しさん (ワッチョイ e24f-EtAN)
2022/04/12(火) 21:30:37.91ID:t+9U/8lg0 >>776
SQLのケツに;付けろってよ
SQLのケツに;付けろってよ
779デフォルトの名無しさん (ワッチョイ 7ba5-mmuM)
2022/04/13(水) 01:24:31.19ID:idY8HIbz0 757です、いろいろご意見ありがとうございます
その後考えた結果、シートのオブジェクト名を変数として代入しようとした名前に変えればいいんじゃないかと思いついたんですが問題ないでしょうか
その後考えた結果、シートのオブジェクト名を変数として代入しようとした名前に変えればいいんじゃないかと思いついたんですが問題ないでしょうか
780デフォルトの名無しさん (ワッチョイ e24f-EtAN)
2022/04/13(水) 03:33:56.70ID:+aMOkW0p0 >>779
シチュエーションにもよるかな。
シート名を変えられてもそのシートを使う前提であればそれでいいんじゃないかな。
その場合、
自ブックのシートであれば
Dim targetSheet As Worksheet
Set targetSeet = 変更後のシートオブジェクト名
みたいに使えるし、
他ブックのシートを扱う場合は
Dim targetSheet As Worksheet
Set targetSheet = ブックオブジェクト.(シートオブジェクト.Name)
みたいに書けば設定出来る。
もっとも、後者の書き方で前者を賄えるから後者だけ関数化してそれを使い回してもいいけどね。
シチュエーションにもよるかな。
シート名を変えられてもそのシートを使う前提であればそれでいいんじゃないかな。
その場合、
自ブックのシートであれば
Dim targetSheet As Worksheet
Set targetSeet = 変更後のシートオブジェクト名
みたいに使えるし、
他ブックのシートを扱う場合は
Dim targetSheet As Worksheet
Set targetSheet = ブックオブジェクト.(シートオブジェクト.Name)
みたいに書けば設定出来る。
もっとも、後者の書き方で前者を賄えるから後者だけ関数化してそれを使い回してもいいけどね。
781デフォルトの名無しさん (ワッチョイ 7b68-xb3m)
2022/04/13(水) 07:03:06.30ID:CoVp5Ukt0 >>779
オブジェクト名はやめたほうが良い。あんまり意味が無い
やるなら、シートの内容を変数名にする
ローマ字
set shain_master = sheet("社員マスター")
日本語許容するなら
set 社員マスタ = sheet("社員マスター")
なおベストは英語
オブジェクト名はやめたほうが良い。あんまり意味が無い
やるなら、シートの内容を変数名にする
ローマ字
set shain_master = sheet("社員マスター")
日本語許容するなら
set 社員マスタ = sheet("社員マスター")
なおベストは英語
782デフォルトの名無しさん (ブーイモ MM93-jTyu)
2022/04/13(水) 07:35:12.98ID:6wqio091M 会社員を英語でなんと言うかがわからんわ
worker(労働者)やemployee(被雇用者)じゃニュアンスが違うしー
辞書なしですぐ出てくるレベルのやつはVBAなんかやってないやろ、という偏見
worker(労働者)やemployee(被雇用者)じゃニュアンスが違うしー
辞書なしですぐ出てくるレベルのやつはVBAなんかやってないやろ、という偏見
783デフォルトの名無しさん (ワッチョイ 7b68-xb3m)
2022/04/13(水) 07:37:38.41ID:CoVp5Ukt0 staffでええやろ
784デフォルトの名無しさん (ワッチョイ e24f-EtAN)
2022/04/13(水) 07:50:17.55ID:+aMOkW0p0785デフォルトの名無しさん (スプッッ Sd7a-jTyu)
2022/04/13(水) 07:56:48.50ID:HWn/7Hddd Google翻訳だとmember
んー、なんかしっくり来ない
んー、なんかしっくり来ない
786デフォルトの名無しさん (ワッチョイ 43ce-jTyu)
2022/04/13(水) 07:59:18.64ID:PsKYJxH90 staffは関係者ってイメージ
787デフォルトの名無しさん (スフッ Sd02-jTyu)
2022/04/13(水) 08:15:50.97ID:1kKv9jFRd staffという単語はcompanyと同義で集団に対して使うって日本人は意外とわかってない
788デフォルトの名無しさん (ワッチョイ 7b68-xb3m)
2022/04/13(水) 08:30:55.20ID:CoVp5Ukt0 employee以外ないだろう
789デフォルトの名無しさん (スプッッ Sd22-eTSu)
2022/04/13(水) 08:56:08.44ID:wBIIYhTid 会社員という表現は英語では難しい
大人しく syachiku か Karoushi_Man にしとけ
大人しく syachiku か Karoushi_Man にしとけ
790デフォルトの名無しさん (ブーイモ MM02-CB6w)
2022/04/13(水) 09:04:23.41ID:YJgAVhDkM 業務用語の変数は日本語で業務用語そのものを使ってる
中途半端な英語だと誤解しやすいし、ローマ字は読みづらい
中途半端な英語だと誤解しやすいし、ローマ字は読みづらい
791デフォルトの名無しさん (ワッチョイ e2da-vtdv)
2022/04/13(水) 10:04:01.74ID:NHlBNLdW0 Accessならお馴染みの「Northwind」のテーブルでは Employee List とか Employee Details
概念としての会社員ではなく、自社の社員リストなので「従業員・使用人」の意で
ま、そのファイルを誰が見る?誰が使う?どこに出す?で適宜に 恥かかない程度で 何だっていいんだろうけれども
概念としての会社員ではなく、自社の社員リストなので「従業員・使用人」の意で
ま、そのファイルを誰が見る?誰が使う?どこに出す?で適宜に 恥かかない程度で 何だっていいんだろうけれども
792デフォルトの名無しさん (ワッチョイ df01-ebI4)
2022/04/13(水) 10:09:02.25ID:93SXwTUS0 リーマンが和製英語からすでに世界に浸透してる
793デフォルトの名無しさん (ブーイモ MM02-mmuM)
2022/04/13(水) 10:28:39.30ID:Wmi1ga+iM ワークマン
794デフォルトの名無しさん (ワッチョイ 7fda-NgXG)
2022/04/13(水) 11:06:56.09ID:BozzLOUH0 ワークマンは流行りよ
795デフォルトの名無しさん (スップ Sd22-2p/j)
2022/04/13(水) 12:58:38.46ID:7IxClg8bd 緊急です!
マクロの入ったボタンが図だかイラストになってしまい困ってます。
直し方のアドバイスお願いします。
マクロの入ったボタンが図だかイラストになってしまい困ってます。
直し方のアドバイスお願いします。
796デフォルトの名無しさん (ワッチョイ 6711-LXkm)
2022/04/13(水) 13:07:23.24ID:zDnWB3YN0797デフォルトの名無しさん (ワッチョイ 2349-btYf)
2022/04/13(水) 13:09:58.08ID:Wntan1Ql0 こういうの30分一万円無保証とかで稼げないかな
798デフォルトの名無しさん (ワッチョイ e24f-EtAN)
2022/04/13(水) 13:57:45.74ID:+aMOkW0p0 >>795
もうその図からマクロ実行させちゃえばいいじゃん
もうその図からマクロ実行させちゃえばいいじゃん
799デフォルトの名無しさん (ワッチョイ e202-7fC7)
2022/04/13(水) 14:00:17.02ID:uBZa/q6E0 ■質問
サウンド再生は何通りかあるけど、
一番遅延が小さい方法は何ですか?
winmmのPlaySound ?
サウンド再生は何通りかあるけど、
一番遅延が小さい方法は何ですか?
winmmのPlaySound ?
800デフォルトの名無しさん (テテンテンテン MM8e-2p/j)
2022/04/13(水) 14:08:46.36ID:6qNApkxLM801デフォルトの名無しさん (ワッチョイ 43a6-mtZy)
2022/04/13(水) 15:42:21.02ID:7cmYTCQn0 3時間くらいかけてVBA作って、合間に別のエクセルファイル開いて、閉じようとしたら
「変更を保存しますか?」って出たので、保存せずに閉じたら。
VBAを作った方のファイルまで変更保存せずに閉じられてしまったーーー!!
どうにかならない?
「変更を保存しますか?」って出たので、保存せずに閉じたら。
VBAを作った方のファイルまで変更保存せずに閉じられてしまったーーー!!
どうにかならない?
802デフォルトの名無しさん (スップ Sd22-2p/j)
2022/04/13(水) 15:45:55.22ID:7IxClg8bd とりあえず顧客に頭を下げてFAXでリスト送って頂いたのでしばらくはなんとかなりそうですがエクセルファイル自体のトラブルについては全員サッパリ意味不明なためどうしようも無さそうです…
(エクセルファイル作った方自身が既に会社にいないのでどうしようもない)
とりあえずエクセルファイルがどうする事もできないため私と社長ら数名は土日も休日出勤して1月から4月までの記録も全部紙ベースの資料に手書きで書き写す事になりそうです
しばらくは紙とペンでのアナログなやり方で回すしかないですがアドバイスくださった方ありがとうございました
(エクセルファイル作った方自身が既に会社にいないのでどうしようもない)
とりあえずエクセルファイルがどうする事もできないため私と社長ら数名は土日も休日出勤して1月から4月までの記録も全部紙ベースの資料に手書きで書き写す事になりそうです
しばらくは紙とペンでのアナログなやり方で回すしかないですがアドバイスくださった方ありがとうございました
803デフォルトの名無しさん (ワッチョイ c6da-EhK1)
2022/04/13(水) 17:20:07.59ID:SMVlXKyy0 >>801
3時間くらいなら今からやれよ
3時間くらいなら今からやれよ
804デフォルトの名無しさん (ワッチョイ 068e-pUVk)
2022/04/13(水) 17:28:47.62ID:MldHjaMW0805デフォルトの名無しさん (ブーイモ MM02-mmuM)
2022/04/13(水) 17:42:34.06ID:Wmi1ga+iM >>801
該当のファイルを開いた状態でファイルタブのどこかにある自動保存云々が書いてある場所を探せ
運が良ければ一時ファイルが残ってる
残ってなけりゃ諦めろ
次からは動作確認をする前に保存する癖をつけるようにするんだな
該当のファイルを開いた状態でファイルタブのどこかにある自動保存云々が書いてある場所を探せ
運が良ければ一時ファイルが残ってる
残ってなけりゃ諦めろ
次からは動作確認をする前に保存する癖をつけるようにするんだな
806デフォルトの名無しさん (ワッチョイ cb5f-5i8i)
2022/04/13(水) 19:21:42.96ID:9TA12m3K0 >>801
これがあるからコーティング中はOneDriveに置いとる
これがあるからコーティング中はOneDriveに置いとる
807デフォルトの名無しさん (スプッッ Sd22-eTSu)
2022/04/13(水) 21:38:12.45ID:wBIIYhTid >>805
何で誰でも言える極々普通のアドバイスをこんなに上から目線で言えるんだろう
何で誰でも言える極々普通のアドバイスをこんなに上から目線で言えるんだろう
808デフォルトの名無しさん (ワッチョイ 1b17-mmuM)
2022/04/13(水) 21:47:36.66ID:MBul3VW80 便所の落書きにいちいち目くじら立てて突っ掛かるなよ
より一層老けて見えるぞ
より一層老けて見えるぞ
809デフォルトの名無しさん (ワッチョイ 9bda-EhK1)
2022/04/13(水) 22:55:33.89ID:uonj2wEf0 全国10エリアのそれぞれに、2016年度から6か年度分の「各年度集計用book」があり、
中身は1時間値と月合計を集計する等のクエリーが17あって、
これをsheet上のクエリーリストを基に
For Nextで順次更新・上書き保存するVBAを仕込んであります。
これとは別に、各エリアごとにやはりbookのフルパスリストを基に
For Nextで「各年度集計用book」を順次開いて、
中のVBAを実行するよう仕込んだ「各エリア一括更新book」を作りました。
(今さら2016年度を再集計するのは、たまにシレーッと修正が訴求修正が入るため)
これまで10ヶ月間ほどの月次更新では問題もなく動いてきたのですが、今月の更新で
・sheet名とクエリー名によるクエリー更新のステップでデバックエラーで止まった
・2つ目2017年度あたりのbookをVBAで開いたと思ったら、Excelごと落ちた
となり、不安定になりました。
モジュールごと再構成たり、「各年度用集計book」クエリー計算を簡略化して17ステップに削減したりして、
・タスクマネージャーでは動作中のメモリーは最大10GB/32GBくらい、CPU使用率は最大60%弱
・1つの「各年度集計用book」の所要時間に30秒程度
まで軽量化したのですが、今後もbook数が増えることを考えると
何か工夫のしどころはないものかと。
自分で気になっているのは、6か年度分のbook更新がどうにか上手くいっても、
「各エリア一括更新book」のプロジェクトに、
済んだはずの「各年度集計用book」の情報が残っていること。
https://i.imgur.com/BvkH6sr.png
よく分からないけれど、VBAが扱えるインスタンス数を超過しているのか?
これが残っていて良いのか、よくわかりません。
・Set wb = Workbooks.Open で開いて
・wb.Close SaveChanges:=True で上書き保存して閉じているのですが、
・For Next内で済んだ変数はできる限りNothingで開放
していますが、改善の余地はありますか?
中身は1時間値と月合計を集計する等のクエリーが17あって、
これをsheet上のクエリーリストを基に
For Nextで順次更新・上書き保存するVBAを仕込んであります。
これとは別に、各エリアごとにやはりbookのフルパスリストを基に
For Nextで「各年度集計用book」を順次開いて、
中のVBAを実行するよう仕込んだ「各エリア一括更新book」を作りました。
(今さら2016年度を再集計するのは、たまにシレーッと修正が訴求修正が入るため)
これまで10ヶ月間ほどの月次更新では問題もなく動いてきたのですが、今月の更新で
・sheet名とクエリー名によるクエリー更新のステップでデバックエラーで止まった
・2つ目2017年度あたりのbookをVBAで開いたと思ったら、Excelごと落ちた
となり、不安定になりました。
モジュールごと再構成たり、「各年度用集計book」クエリー計算を簡略化して17ステップに削減したりして、
・タスクマネージャーでは動作中のメモリーは最大10GB/32GBくらい、CPU使用率は最大60%弱
・1つの「各年度集計用book」の所要時間に30秒程度
まで軽量化したのですが、今後もbook数が増えることを考えると
何か工夫のしどころはないものかと。
自分で気になっているのは、6か年度分のbook更新がどうにか上手くいっても、
「各エリア一括更新book」のプロジェクトに、
済んだはずの「各年度集計用book」の情報が残っていること。
https://i.imgur.com/BvkH6sr.png
よく分からないけれど、VBAが扱えるインスタンス数を超過しているのか?
これが残っていて良いのか、よくわかりません。
・Set wb = Workbooks.Open で開いて
・wb.Close SaveChanges:=True で上書き保存して閉じているのですが、
・For Next内で済んだ変数はできる限りNothingで開放
していますが、改善の余地はありますか?
811デフォルトの名無しさん (ワッチョイ df01-ebI4)
2022/04/14(木) 08:48:02.28ID:jf4kHNax0812デフォルトの名無しさん (ワッチョイ 06b0-oahs)
2022/04/14(木) 09:46:20.53ID:EGNxXvqd0 >>809
マクロを1つの専用ブックにまとめてみたら
マクロを1つの専用ブックにまとめてみたら
813デフォルトの名無しさん (ワッチョイ 123d-P+J3)
2022/04/14(木) 13:25:49.47ID:E7ePXpuT0 VBAで他ブックのプロシージャを実行したいんだけど、実行まちをなくすことてできる?
Application.Run "Book2!Test2"
を実行したあと、"Book2!Test2"の処理終了を待たずに次の行に移りたいんだが。
Application.Run "Book2!Test2"
を実行したあと、"Book2!Test2"の処理終了を待たずに次の行に移りたいんだが。
814デフォルトの名無しさん (ワッチョイ 4349-K8WP)
2022/04/14(木) 13:53:36.44ID:TZzbtw0W0 非同期は無理
試してないけど、別のApplicationインスタンスを作成して
そちらでファイルを読み込んで実行とか
試してないけど、別のApplicationインスタンスを作成して
そちらでファイルを読み込んで実行とか
815デフォルトの名無しさん (ワッチョイ cb5f-49CF)
2022/04/14(木) 18:58:30.99ID:RElcaA4D0 メソッドを使い回したいときはクラスを別のクラスに参照渡ししてるんだけど、これってVBAに継承があれば機能的に処理できるのか
816デフォルトの名無しさん (ラクッペペ MM8e-hh9d)
2022/04/14(木) 19:03:41.33ID:sxqTZKvqM クラスのメンバーに他のクラスを入れるのがマイルド
817デフォルトの名無しさん (ワッチョイ cb5f-49CF)
2022/04/14(木) 19:25:43.40ID:RElcaA4D0 いいね
それ試してみよう
それ試してみよう
818デフォルトの名無しさん (ワッチョイ 17e6-a5Vw)
2022/04/14(木) 20:26:12.03ID:VI/N1Akx0 >>816
継承を委譲で置き換える、というだけですね…
継承を委譲で置き換える、というだけですね…
819デフォルトの名無しさん (アークセー Sx5f-sKUf)
2022/04/14(木) 21:25:22.08ID:YCtpuDrNx 参照設定なしでエクセルからアクセスファイルの操作をしようとしているのですが
フィールド定義の構文エラーが出ます。
テーブルの登録数を減らすと通りますが
上限か何かに引っかかっているのでしょうか?
Sub Test()
Dim CN As Object
Set CN = CreateObject("ADODB.Connection")
CN.Open "Provider = Microsoft.ACE.OLEDB.12.0; Data Source =" & "C:\Users\Downloads\データ.accdb"
CN.Execute "CREATE TABLE TBL(管理 INT,日付 DATE,番号 INT,内容 MEMO,担当 MEMO,OrderTeam MEMO,Place MEMO,Floor MEMO,GuestNum INT,種別 MEMO,物品 MEMO,対象 MEMO,状態 MEMO,時間1 MEMO,時間2 MEMO,Note MEMO,Total MEMO);"
CN.Close
MsgBox "作成しました。"
End Sub
フィールド定義の構文エラーが出ます。
テーブルの登録数を減らすと通りますが
上限か何かに引っかかっているのでしょうか?
Sub Test()
Dim CN As Object
Set CN = CreateObject("ADODB.Connection")
CN.Open "Provider = Microsoft.ACE.OLEDB.12.0; Data Source =" & "C:\Users\Downloads\データ.accdb"
CN.Execute "CREATE TABLE TBL(管理 INT,日付 DATE,番号 INT,内容 MEMO,担当 MEMO,OrderTeam MEMO,Place MEMO,Floor MEMO,GuestNum INT,種別 MEMO,物品 MEMO,対象 MEMO,状態 MEMO,時間1 MEMO,時間2 MEMO,Note MEMO,Total MEMO);"
CN.Close
MsgBox "作成しました。"
End Sub
820デフォルトの名無しさん (アウアウウー Sabb-EhK1)
2022/04/14(木) 21:40:59.88ID:zMqJUzcEa MsgBox は、End Sub の外に出して下さい。
このスレの流れ的に。
このスレの流れ的に。
821デフォルトの名無しさん (ワッチョイ e2da-EhK1)
2022/04/14(木) 22:31:20.84ID:Ep0kCh050 フィールド名 DATE は? 予約語では?
他には、day、month、table、text、user、when、where、year、zone とかも
他には、day、month、table、text、user、when、where、year、zone とかも
822デフォルトの名無しさん (ワッチョイ e2da-EhK1)
2022/04/14(木) 22:55:38.45ID:Ep0kCh050 すまん 読み間違いだった MEMOが多いような気がするが、それも多分外してるな すまん 居ないことにしといてくれ
823デフォルトの名無しさん (ワッチョイ 4349-K8WP)
2022/04/14(木) 23:23:47.63ID:fL/YN0Wd0 予約後はNote
[]で括れ
[]で括れ
824デフォルトの名無しさん (ワッチョイ bb33-QNju)
2022/04/14(木) 23:41:44.78ID:kOhvUD5R0 解決しました。
感謝です!
感謝です!
825デフォルトの名無しさん (ワッチョイ c6da-EhK1)
2022/04/15(金) 14:24:02.27ID:TsNK8La+0 >>816
クラスになじめなかったくせに
クラスになじめなかったくせに
826デフォルトの名無しさん (ワッチョイ 7fda-NgXG)
2022/04/15(金) 15:02:32.60ID:m9CVWFGZ0 う、うるさい!
827デフォルトの名無しさん (ササクッテロ Sp8b-Ndav)
2022/04/16(土) 10:04:25.26ID:g0AA3ay0p 無理してクラス使わんでもええんやで
828デフォルトの名無しさん (ワッチョイ 9f42-TF7s)
2022/04/16(土) 10:12:12.08ID:94XVUrLP0 保健室でいいってことか
829デフォルトの名無しさん (スプッッ Sd3f-DvUi)
2022/04/16(土) 10:20:43.39ID:Xjbe7mxod 特別クラスにさえ入れてもらえないのk
830デフォルトの名無しさん (ワッチョイ 17da-UOua)
2022/04/16(土) 14:51:07.70ID:gJCOre2S0 今は特殊学級は廃止されつつあると聞いたわ
差別に繋がるからだとか
差別に繋がるからだとか
831デフォルトの名無しさん (ワッチョイ b768-fNw1)
2022/04/16(土) 14:55:23.27ID:pYTE49690 >>830
それな
・ひまわり学級導入
差別だから廃止しろ!
・ひまわり学級撤廃
障がい者と一緒に授業できるわけねーだろ!分けろ!
これを5年ぐらいの周期でず〜〜〜っと繰り返してる。少なくともここ30年はそう
それな
・ひまわり学級導入
差別だから廃止しろ!
・ひまわり学級撤廃
障がい者と一緒に授業できるわけねーだろ!分けろ!
これを5年ぐらいの周期でず〜〜〜っと繰り返してる。少なくともここ30年はそう
832デフォルトの名無しさん (アウアウウー Sa1b-+1fN)
2022/04/16(土) 15:07:04.56ID:rh08QZl8a 1年目 ひまわり学級導入
6年目 ひまわり学級撤廃
11年目 ひまわり学級導入
16年目 ひまわり学級撤廃
21年目 ひまわり学級導入
26年目 ひまわり学級撤廃
30年目、ひまわり学級は撤廃された状態
6年目 ひまわり学級撤廃
11年目 ひまわり学級導入
16年目 ひまわり学級撤廃
21年目 ひまわり学級導入
26年目 ひまわり学級撤廃
30年目、ひまわり学級は撤廃された状態
833デフォルトの名無しさん (ワッチョイ d7da-dJ8g)
2022/04/16(土) 17:39:51.13ID:aIa1oxEK0 コールバイネームしたいから無理にクラス使うというのはある。
834デフォルトの名無しさん (ワッチョイ 17da-UOua)
2022/04/16(土) 18:34:28.46ID:gJCOre2S0 自分が通っていた学校の特殊学級は8組て名称だった
6組まではノーマルで何故か7組が無くて8組が特殊だった。
6組まではノーマルで何故か7組が無くて8組が特殊だった。
835デフォルトの名無しさん (ワッチョイ 9f4f-Ndav)
2022/04/16(土) 18:39:26.14ID:vqf9SIAK0836デフォルトの名無しさん (ワッチョイ d7da-dJ8g)
2022/04/17(日) 02:09:30.35ID:BVP+DOJH0837デフォルトの名無しさん (アウアウウー Sa1b-+1fN)
2022/04/17(日) 03:28:38.26ID:N2omx0Taa たまーに出てくるオブジェクト指向の話。
もうオブジェクト指向なんて忘れたは。
もうオブジェクト指向なんて忘れたは。
838デフォルトの名無しさん (ワッチョイ 9fda-wCJf)
2022/04/17(日) 07:38:47.19ID:X2S+9pHC0 ワイのコードは素人指向
839デフォルトの名無しさん (ワッチョイ 1701-hfAD)
2022/04/17(日) 09:54:53.72ID:c23oRZKe0840デフォルトの名無しさん (ブーイモ MM8f-3xp7)
2022/04/17(日) 10:13:47.49ID:a3I3T2VGM excel vbaではオブジェクトを利用したプログラミングにはなるけど、
それだけでオブジェクト指向だとは言えないな
それだけでオブジェクト指向だとは言えないな
841デフォルトの名無しさん (スプッッ Sddf-X/6k)
2022/04/17(日) 10:56:37.84ID:acUYvJMnd 玄人志向が玄人向けだったのは最初だけ
842デフォルトの名無しさん (ワッチョイ 77da-+xkO)
2022/04/18(月) 22:09:45.73ID:dtBLR+IO0 どなたか相談に乗っていただきたいです。
現在、大学の講義で使用するため関数を作成しているのですが、最後に関数に戻り値を入れる際に「代入式の左辺の関数呼び出しは、バリアント型またはオブジェクト型の値を返さなけれななりません。」
とコンパイルエラーが出てしまいます。このエラーはどのように解決したらよいでしょうか?
現在、大学の講義で使用するため関数を作成しているのですが、最後に関数に戻り値を入れる際に「代入式の左辺の関数呼び出しは、バリアント型またはオブジェクト型の値を返さなけれななりません。」
とコンパイルエラーが出てしまいます。このエラーはどのように解決したらよいでしょうか?
843デフォルトの名無しさん (ワッチョイ b768-fNw1)
2022/04/18(月) 22:14:18.56ID:5XyRTXLN0 コード見ないとちょっときつい
844デフォルトの名無しさん (ワッチョイ 1701-u7hf)
2022/04/18(月) 22:20:21.18ID:JAMU3YD50 コード作成お願いします!
2つのcsvがあってどちらも1列目に主キーがあります。
B:15列目の対応するキーの値を
A:3列目に代入
したいです。
できますかね?
2つのcsvがあってどちらも1列目に主キーがあります。
B:15列目の対応するキーの値を
A:3列目に代入
したいです。
できますかね?
845デフォルトの名無しさん (ワッチョイ 77da-+xkO)
2022/04/18(月) 22:25:33.62ID:dtBLR+IO0 Sub TEST1()
Dim Hight As Double, Time As Double
Hight = 0.4
Time = 2#
MsgBox WaveLength(Hight, Time)
End Sub
Function WaveLength(Hight, Time) As Double
Dim G As Double, PAI As Double
Dim WL0 As Double, WL1 As Double, WL2 As Double
G = 9.80665
PAI = WorksheetFunction.Pi()
WL0 = G * Time * Time / (2# * PAI)
WL1 = WL0
Do While ((WL2 - WL1) / WL1) >= 0.001
WL2 = WL0 * Worksheet.Tanh((2) * PAI * Hight / WL1)
If ((WL2 - WL1) / WL1) < 0.001 Then Exit Do
WL1 = 0.5 * (WL1 + WL2)
Loop
WaveLength() = WL2
End Function
Dim Hight As Double, Time As Double
Hight = 0.4
Time = 2#
MsgBox WaveLength(Hight, Time)
End Sub
Function WaveLength(Hight, Time) As Double
Dim G As Double, PAI As Double
Dim WL0 As Double, WL1 As Double, WL2 As Double
G = 9.80665
PAI = WorksheetFunction.Pi()
WL0 = G * Time * Time / (2# * PAI)
WL1 = WL0
Do While ((WL2 - WL1) / WL1) >= 0.001
WL2 = WL0 * Worksheet.Tanh((2) * PAI * Hight / WL1)
If ((WL2 - WL1) / WL1) < 0.001 Then Exit Do
WL1 = 0.5 * (WL1 + WL2)
Loop
WaveLength() = WL2
End Function
846デフォルトの名無しさん (ワッチョイ 77da-+xkO)
2022/04/18(月) 22:26:31.08ID:dtBLR+IO0 >>845
こういった感じです
こういった感じです
847デフォルトの名無しさん (ワッチョイ 77da-+xkO)
2022/04/18(月) 22:27:22.86ID:dtBLR+IO0 VBA自体初めてなので何からしたらいいのかわかっていない状況です。
848デフォルトの名無しさん (ワッチョイ b768-fNw1)
2022/04/18(月) 22:30:08.42ID:5XyRTXLN0 >>845
functionの返り値使いたい時はfunction名に代入すればok。カッコは不要
Sub TEST1()
MsgBox WaveLength(Hight, Time)
End Sub
Function WaveLength(Hight, Time) As Double
WaveLength = 5
End Function
functionの返り値使いたい時はfunction名に代入すればok。カッコは不要
Sub TEST1()
MsgBox WaveLength(Hight, Time)
End Sub
Function WaveLength(Hight, Time) As Double
WaveLength = 5
End Function
849デフォルトの名無しさん (ワッチョイ 77da-+xkO)
2022/04/18(月) 22:41:26.28ID:dtBLR+IO0850デフォルトの名無しさん (ワッチョイ 1fbe-X/6k)
2022/04/18(月) 22:44:42.92ID:kMWXV8yj0851デフォルトの名無しさん (ワッチョイ 77da-+xkO)
2022/04/18(月) 22:46:49.95ID:dtBLR+IO0 >>850
小文字一文字とかでも大丈夫ですか?
小文字一文字とかでも大丈夫ですか?
852デフォルトの名無しさん (スプッッ Sd3f-DvUi)
2022/04/18(月) 22:48:03.57ID:tZvgKjwbd それが出来るのがFunctionの良いところよ
戻り値は配列とかに入れておけばok
戻り値は配列とかに入れておけばok
853デフォルトの名無しさん (ワッチョイ 1fbe-X/6k)
2022/04/18(月) 22:54:56.92ID:kMWXV8yj0854デフォルトの名無しさん (ワッチョイ b768-fNw1)
2022/04/18(月) 23:00:04.07ID:5XyRTXLN0 マナーってなんだよw
あとで自分が見て分からなくなるのが問題
赤の他人が見てもわかるような名前にしておくと、自分のためになる
あとで自分が見て分からなくなるのが問題
赤の他人が見てもわかるような名前にしておくと、自分のためになる
855デフォルトの名無しさん (ワッチョイ b768-fNw1)
2022/04/18(月) 23:00:47.59ID:5XyRTXLN0856デフォルトの名無しさん (ワッチョイ 77da-+xkO)
2022/04/18(月) 23:01:50.92ID:dtBLR+IO0 とりあえず、できました。
Sub TEST1()
Dim hight1 As Double, Time1 As Double
hight1 = 0.4
Time1 = 2#
MsgBox WaveLength(hight1, Time1)
End Sub
Function WaveLength(hight1, Time1) As Double
Dim G As Double, PAI As Double
Dim WL0 As Double, WL1 As Double, WL2 As Double
G = 9.80665
PAI = WorksheetFunction.Pi()
WL0 = G * Time1 * Time1 / (2# * PAI)
WL1 = WL0
Do While ((WL2 - WL1) / WL1) >= 0.001
WL2 = WL0 * Worksheet.Tanh((2) * PAI * hight1 / WL1)
WL1 = 0.5 * (WL1 + WL2)
Loop
WaveLength = WL2
End Function
Sub TEST1()
Dim hight1 As Double, Time1 As Double
hight1 = 0.4
Time1 = 2#
MsgBox WaveLength(hight1, Time1)
End Sub
Function WaveLength(hight1, Time1) As Double
Dim G As Double, PAI As Double
Dim WL0 As Double, WL1 As Double, WL2 As Double
G = 9.80665
PAI = WorksheetFunction.Pi()
WL0 = G * Time1 * Time1 / (2# * PAI)
WL1 = WL0
Do While ((WL2 - WL1) / WL1) >= 0.001
WL2 = WL0 * Worksheet.Tanh((2) * PAI * hight1 / WL1)
WL1 = 0.5 * (WL1 + WL2)
Loop
WaveLength = WL2
End Function
857デフォルトの名無しさん (ワッチョイ 77da-+xkO)
2022/04/18(月) 23:03:04.12ID:dtBLR+IO0 ただ、まちがっているみたいです。
858デフォルトの名無しさん (ワッチョイ 9f01-0UVf)
2022/04/18(月) 23:03:10.61ID:wKhqv1yX0 >>850
Hight なんていう関数あったっけ?
Hight なんていう関数あったっけ?
859デフォルトの名無しさん (ワッチョイ 77da-+xkO)
2022/04/18(月) 23:09:31.78ID:dtBLR+IO0 Doの中でWL2=WL0*tanh(2*PAI*H/WL1)を実行して、((WL2-WL1)/WL1)の絶対値が0.001より小さい場合には関数にWL2を代入して、0.001より大きい場合にはWL1=0.5*(WL1+WL2))と変換して再度Doを行うという繰り返しです。
860デフォルトの名無しさん (ワッチョイ 77da-+xkO)
2022/04/18(月) 23:13:08.37ID:dtBLR+IO0 すみません、わかりにくいですね。
WL1からなる計算式で求められるWL2とWL1の関係が条件に合わない場合、WL1をWL1とWL2の平均をとって再度WL2を求めたいです。
WL1からなる計算式で求められるWL2とWL1の関係が条件に合わない場合、WL1をWL1とWL2の平均をとって再度WL2を求めたいです。
861デフォルトの名無しさん (ワッチョイ 7749-qaox)
2022/04/18(月) 23:55:22.83ID:6SbGdBJw0 Do
WL2 = WL0 * Worksheet.Tanh((2) * PAI * hight1 / WL1)
If Abs((WL2 - WL1) / WL1) < 0.001 Then Exit Do
WL1 = 0.5 * (WL1 + WL2)
Loop
WL2 = WL0 * Worksheet.Tanh((2) * PAI * hight1 / WL1)
If Abs((WL2 - WL1) / WL1) < 0.001 Then Exit Do
WL1 = 0.5 * (WL1 + WL2)
Loop
862デフォルトの名無しさん (アウアウウー Sa1b-729v)
2022/04/19(火) 05:01:48.08ID:dRTEe6m5a どうでもいいが GやPAIは定数として関数の外にだす方が好き
863デフォルトの名無しさん (ワッチョイ b768-fNw1)
2022/04/19(火) 06:39:40.35ID:UDMLP6tq0864デフォルトの名無しさん (ワッチョイ 9f01-0UVf)
2022/04/19(火) 07:20:27.86ID:KrqnU+fb0865デフォルトの名無しさん (ワッチョイ b768-fNw1)
2022/04/19(火) 07:25:56.37ID:UDMLP6tq0 よく見たらhightかよクソがw
866デフォルトの名無しさん (ワッチョイ 97da-2Xjs)
2022/04/19(火) 07:48:45.10ID:muVDZfH30 >>860
ざっくり見た感じだけなので詳しく分からないけどその計算式って正しい?
その計算式の内容と判定条件だと初期値の値によっては計算が収束せずに振動を繰り返すことになるので
ループから脱出できなくなる気がする
ざっくり見た感じだけなので詳しく分からないけどその計算式って正しい?
その計算式の内容と判定条件だと初期値の値によっては計算が収束せずに振動を繰り返すことになるので
ループから脱出できなくなる気がする
867デフォルトの名無しさん (ワッチョイ bf14-4qoo)
2022/04/19(火) 12:03:50.63ID:SIyX6JLR0 Do?Loopの例文見ると条件はWhileが多い気がする
自分はUntil派なんですが
自分はUntil派なんですが
868デフォルトの名無しさん (ラクッペペ MM8f-ku93)
2022/04/19(火) 12:41:24.95ID:y80OoYXYM でっていう
869デフォルトの名無しさん (ワッチョイ ffbb-GYib)
2022/04/19(火) 12:53:32.89ID:Hbe28u0D0 Untilはコーディングミスで「なぜか抜けられない」状態が起きた時の解決がめんどくさいからあんま使いたくない
Whileならコーディングミスっても、値が範囲内でループし続けてるくらいしか原因がないから突き止めやすい
Whileならコーディングミスっても、値が範囲内でループし続けてるくらいしか原因がないから突き止めやすい
870デフォルトの名無しさん (ワッチョイ ff8e-lF56)
2022/04/19(火) 14:33:22.38ID:XaMNMP/i0 >>869
無能自慢?
無能自慢?
871デフォルトの名無しさん (ワッチョイ ffbb-GYib)
2022/04/19(火) 14:38:03.91ID:Hbe28u0D0872デフォルトの名無しさん (ワッチョイ ff8e-lF56)
2022/04/19(火) 15:06:19.06ID:XaMNMP/i0 >>871
いや、お前が無能なだけ
いや、お前が無能なだけ
873デフォルトの名無しさん (ガックシ 068f-EdYG)
2022/04/19(火) 15:24:45.82ID:Cixyrkk96 https://imgur.com/srNrR8t
一応、大学から共有されている理論式がこんな感じなのでおそらく会ってます
一応、大学から共有されている理論式がこんな感じなのでおそらく会ってます
874デフォルトの名無しさん (オッペケ Sr8b-ny4V)
2022/04/19(火) 16:03:50.77ID:NrfRvlTVr どうでもいいけど、Excelってそういう計算やったほうがいいんだっけ
小数点以下になるようなものは避けたほうがいいって記憶がある
小数点以下になるようなものは避けたほうがいいって記憶がある
875デフォルトの名無しさん (ワッチョイ ffbb-GYib)
2022/04/19(火) 16:13:18.16ID:Hbe28u0D0 小数点以下の計算は誤った結果が出ることも結構あるから、
・型はCurrencyにして小数点以下5桁までにする
・可能であれば整数に直してから計算させる
くらいはしておいた方がいいね
・型はCurrencyにして小数点以下5桁までにする
・可能であれば整数に直してから計算させる
くらいはしておいた方がいいね
876デフォルトの名無しさん (ガックシ 068f-EdYG)
2022/04/19(火) 16:39:16.39ID:Cixyrkk96 Function WaveLength(Height1, Time1) As Double
Dim G As Double, PAI As Double
Dim WL0 As Currency, WL1 As Currency, WL2 As Currency
G = 9.80665
PAI = WorksheetFunction.Pi()
WL0 = G * Time1 * Time1 / (2# * PAI)
WL1 = WL0
WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1)
Do
WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1)
If Abs((WL2 - WL1) / WL1) < 0.001 Then Exit Do
WL1 = 0.5 * (WL1 + WL2)
Loop
WaveLength = WL2
End Function
とりあえずこういった感じで修正したものの実行するとオーバーフローするみたいです。
何が原因でしょうか?
Dim G As Double, PAI As Double
Dim WL0 As Currency, WL1 As Currency, WL2 As Currency
G = 9.80665
PAI = WorksheetFunction.Pi()
WL0 = G * Time1 * Time1 / (2# * PAI)
WL1 = WL0
WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1)
Do
WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1)
If Abs((WL2 - WL1) / WL1) < 0.001 Then Exit Do
WL1 = 0.5 * (WL1 + WL2)
Loop
WaveLength = WL2
End Function
とりあえずこういった感じで修正したものの実行するとオーバーフローするみたいです。
何が原因でしょうか?
877デフォルトの名無しさん (ガックシ 068f-EdYG)
2022/04/19(火) 16:41:24.14ID:Cixyrkk96 IF条件で抜け出せなくなってしまったとかでしょうか?
878デフォルトの名無しさん (ワッチョイ ffbb-GYib)
2022/04/19(火) 16:59:26.12ID:Hbe28u0D0 >>876
内容はあまりわかっていないが、できそうな対策から
お察しの通りLoopを抜ける判定が上手く行ってないと推測される
オーバーフロー対策に、書き換え可能であればDoじゃなくてForNextに書き換えたほうがいいかも
Function WaveLength(Height1, Time1) As Double
↑引数は接頭にByValかByRefかを書く 多分ByVal
そして引数の型も明記する 特にTime1はDate型かそれ以外か明記が必要
Dim G As Double, PAI As Double
↑どっちもCurrencyでいいかと
Dim WL0 As Currency, WL1 As Currency, WL2 As Currency
G = 9.80665
PAI = WorksheetFunction.Pi()
WL0 = G * Time1 * Time1 / (2# * PAI)
WL1 = WL0
'WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1)
↑ここのWL2はいらない
Do
WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1)
↑HeightはHeight1にする
'If Abs((WL2 - WL1) / WL1) < 0.001 Then Exit Do
'WL1 = 0.5 * (WL1 + WL2)
↑ここ2行は↓のように書き換える
If Abs((WL2 - WL1) / WL1) *1000< 1 Then
Exit Do
Else’上の条件を満たしていないときはこの値を代入して処理を続けますよの記載にする
WL1 = 0.5 * (WL1 + WL2)
End If
Loop
WaveLength = WL2
内容はあまりわかっていないが、できそうな対策から
お察しの通りLoopを抜ける判定が上手く行ってないと推測される
オーバーフロー対策に、書き換え可能であればDoじゃなくてForNextに書き換えたほうがいいかも
Function WaveLength(Height1, Time1) As Double
↑引数は接頭にByValかByRefかを書く 多分ByVal
そして引数の型も明記する 特にTime1はDate型かそれ以外か明記が必要
Dim G As Double, PAI As Double
↑どっちもCurrencyでいいかと
Dim WL0 As Currency, WL1 As Currency, WL2 As Currency
G = 9.80665
PAI = WorksheetFunction.Pi()
WL0 = G * Time1 * Time1 / (2# * PAI)
WL1 = WL0
'WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1)
↑ここのWL2はいらない
Do
WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1)
↑HeightはHeight1にする
'If Abs((WL2 - WL1) / WL1) < 0.001 Then Exit Do
'WL1 = 0.5 * (WL1 + WL2)
↑ここ2行は↓のように書き換える
If Abs((WL2 - WL1) / WL1) *1000< 1 Then
Exit Do
Else’上の条件を満たしていないときはこの値を代入して処理を続けますよの記載にする
WL1 = 0.5 * (WL1 + WL2)
End If
Loop
WaveLength = WL2
879デフォルトの名無しさん (ワッチョイ ff8e-lF56)
2022/04/19(火) 17:04:43.35ID:XaMNMP/i0 馬鹿だからCurrencyを使うのだな
880デフォルトの名無しさん (ラクッペペ MM8f-/HVa)
2022/04/19(火) 17:07:08.59ID:3cTbAnobM 数値計算に固定小数点数のCurrecyは駄目
浮動小数点数のDlubleでないと直ぐにオーバーフローする
浮動小数点数のDlubleでないと直ぐにオーバーフローする
881デフォルトの名無しさん (ワッチョイ 77da-EdYG)
2022/04/19(火) 17:34:34.65ID:C02npA8w0 解決しました!!本当にありがとうございます!
882デフォルトの名無しさん (ワッチョイ 77da-EdYG)
2022/04/19(火) 17:35:09.38ID:C02npA8w0 めっちゃ興奮するw
883デフォルトの名無しさん (ワッチョイ 77da-EdYG)
2022/04/19(火) 17:37:09.90ID:C02npA8w0 >>878
ありがとうございます!
ありがとうございます!
884デフォルトの名無しさん (ワッチョイ ffbb-GYib)
2022/04/19(火) 17:44:54.91ID:Hbe28u0D0 >>883
解決したみたいで何よりです
多分、0.001より小さいかの判定だけがネックだったんだと思う
もし1と比較している理由を教授に訊かれたら「VBAだと小数の計算が正確ではない事象があるため、回避できるように数式を書きました」と答えとき
解決したみたいで何よりです
多分、0.001より小さいかの判定だけがネックだったんだと思う
もし1と比較している理由を教授に訊かれたら「VBAだと小数の計算が正確ではない事象があるため、回避できるように数式を書きました」と答えとき
885デフォルトの名無しさん (ワッチョイ 77da-EdYG)
2022/04/19(火) 17:56:52.80ID:C02npA8w0886デフォルトの名無しさん (ワッチョイ 17da-UOua)
2022/04/19(火) 22:29:37.25ID:2A4xjXpz0 おー理解できたのなら大学の工機前頑張ってなー
887デフォルトの名無しさん (ワッチョイ b717-73NO)
2022/04/20(水) 00:08:28.33ID:Tl7YCJ+60 double型を使って除算をすると小数点以下の誤差が出る場合があるのはどのように解決したら良いでしょうか
四捨五入では本来算出したい数値からズレてしまいます
currency型なら誤差が発生しない聞いたのですがどうやら馬鹿が使う物らしいので何か別の方法をご教示頂けませんでしょうか
四捨五入では本来算出したい数値からズレてしまいます
currency型なら誤差が発生しない聞いたのですがどうやら馬鹿が使う物らしいので何か別の方法をご教示頂けませんでしょうか
888デフォルトの名無しさん (ワッチョイ ff8e-lF56)
2022/04/20(水) 00:24:45.89ID:TUC465n/0889デフォルトの名無しさん (ワッチョイ ffbb-0fbr)
2022/04/20(水) 00:37:19.89ID:EV0gbz680890デフォルトの名無しさん (ラクッペペ MM8f-/HVa)
2022/04/20(水) 02:03:14.67ID:HkpFcH5SM 実際のところ除算の丸め誤差が問題になることは少ない
数値計算では有効数字と桁数さえ把握していれば十分な精度で演算できる
というか浮動小数点だろうが固定小数点だろうが四捨五入すれば必ず丸め誤差は発生する
むしろ浮動小数点を扱う場合は桁数の差が大きい数値を加減算する時の情報落ちと、値が近い数値同士を減算する時の桁落ちの方が厄介
数値計算では有効数字と桁数さえ把握していれば十分な精度で演算できる
というか浮動小数点だろうが固定小数点だろうが四捨五入すれば必ず丸め誤差は発生する
むしろ浮動小数点を扱う場合は桁数の差が大きい数値を加減算する時の情報落ちと、値が近い数値同士を減算する時の桁落ちの方が厄介
891デフォルトの名無しさん (ワッチョイ b717-73NO)
2022/04/20(水) 02:16:34.57ID:Tl7YCJ+60 >>889
分かりにくかったらごめんなさい
・数十行(場合により数百行から千行弱)の作業計画表があってそれぞれ開始日、終了日、工数を作業担当者が決定し、それとは別に納期を設定します
・各行では作業日数を算出し、工数を日割り計算し、小数点第二位で四捨五入、最終日に余りを加算して進捗の計画とします
・作業担当者は日毎に各項目の進捗率を入力します
・作業担当者はこのファイルとは別に上位工程担当者との連絡シートを更新し、そこで発生する追加工数などをこのファイルで読み込みます
・上記データを元に様々な演算を行い、納期に対して進み見込みか遅れ見込みか、またそれが何日の見込みかを算出します
・結果を当初計画、進捗実績および予測、納期などをグラフで可視化
という仕様のツールなのですが2つ目のあたりで余計なズレが発生して演算が狂ってしまう場合があり、
currency型に値を放り込んで強引にズレが生じないようにしているのが現状です
100%発生するのではなく20物件に1件程度の発生率なので如何したものかと頭を悩ませております
分かりにくかったらごめんなさい
・数十行(場合により数百行から千行弱)の作業計画表があってそれぞれ開始日、終了日、工数を作業担当者が決定し、それとは別に納期を設定します
・各行では作業日数を算出し、工数を日割り計算し、小数点第二位で四捨五入、最終日に余りを加算して進捗の計画とします
・作業担当者は日毎に各項目の進捗率を入力します
・作業担当者はこのファイルとは別に上位工程担当者との連絡シートを更新し、そこで発生する追加工数などをこのファイルで読み込みます
・上記データを元に様々な演算を行い、納期に対して進み見込みか遅れ見込みか、またそれが何日の見込みかを算出します
・結果を当初計画、進捗実績および予測、納期などをグラフで可視化
という仕様のツールなのですが2つ目のあたりで余計なズレが発生して演算が狂ってしまう場合があり、
currency型に値を放り込んで強引にズレが生じないようにしているのが現状です
100%発生するのではなく20物件に1件程度の発生率なので如何したものかと頭を悩ませております
892デフォルトの名無しさん (ワンミングク MM7f-ATAd)
2022/04/20(水) 04:15:00.17ID:i+5dFZiZM >>891
算数わかる?
算数わかる?
893デフォルトの名無しさん (ラクッペペ MM8f-/HVa)
2022/04/20(水) 06:42:44.94ID:PPr2by3tM >891
2つ目のあたりというのがよく分からないけど箇条書きの2段目の項目のことなら処理の仕方が間違ってる
最後に余りを足すなら途中経過はすべて切捨てで処理、途中経過を四捨五入するなら全ての累積値を最後に被除数から引いて加算値を求める
どちらかで処理しないとズレるのは当たり前
2つ目のあたりというのがよく分からないけど箇条書きの2段目の項目のことなら処理の仕方が間違ってる
最後に余りを足すなら途中経過はすべて切捨てで処理、途中経過を四捨五入するなら全ての累積値を最後に被除数から引いて加算値を求める
どちらかで処理しないとズレるのは当たり前
894デフォルトの名無しさん (ワッチョイ 1701-hfAD)
2022/04/20(水) 07:19:32.03ID:Ls68Jrpy0 Currency型てのは誤差が出ないわけじゃなくて精度が固定されてるっていうことなんだけどな
そもそも工程表程度の精度で浮動小数点の誤差が問題になることなんてないだろうに
どうしても誤差が気になるなら割り算を商余で表現するとか演算順序の見直し(割り算を最後に)
そもそも工程表程度の精度で浮動小数点の誤差が問題になることなんてないだろうに
どうしても誤差が気になるなら割り算を商余で表現するとか演算順序の見直し(割り算を最後に)
895デフォルトの名無しさん (ブーイモ MMcf-73NO)
2022/04/20(水) 07:23:24.83ID:uFaPvbC9M >>893
余りは工数-日毎工数x作業日数で算出していましたが処理が違いますか?
勿論この場合余りが負の値になる状況もあるので正確には余りとは違う表現をするのが正しいのですが
これで算出した最終日の工数が3.5hになるべきところが3.49999hになるのは計算式の誤りですか?
余りは工数-日毎工数x作業日数で算出していましたが処理が違いますか?
勿論この場合余りが負の値になる状況もあるので正確には余りとは違う表現をするのが正しいのですが
これで算出した最終日の工数が3.5hになるべきところが3.49999hになるのは計算式の誤りですか?
896デフォルトの名無しさん (ワッチョイ 77ce-X/6k)
2022/04/20(水) 07:34:26.59ID:lCHITGXH0 >>895
最後に小数点以下第二位で四捨五入すればいいじゃん
最後に小数点以下第二位で四捨五入すればいいじゃん
897デフォルトの名無しさん (ワッチョイ 77ce-X/6k)
2022/04/20(水) 07:40:54.07ID:lCHITGXH0 >>895
どこでどれぐらい誤差が出るかは元データと計算式とデータ型によるから、その情報だけではどこが悪いか判断できない
工数は小数点以下第何位まで入力されてんの?
そもそもデータが1000行しかないんなら別にCurrencyのままでいいじゃん
仕事の目的はプログラミングじゃないんだから、結果がちゃんと出たんなら現時点ではそこで終わっとけ
誤差の処理をちゃんとやうとすると情報サイエンスの基礎をみっちりやらないと無理だから、今回の件とは別に自宅で時間かけて勉強しろ
どこでどれぐらい誤差が出るかは元データと計算式とデータ型によるから、その情報だけではどこが悪いか判断できない
工数は小数点以下第何位まで入力されてんの?
そもそもデータが1000行しかないんなら別にCurrencyのままでいいじゃん
仕事の目的はプログラミングじゃないんだから、結果がちゃんと出たんなら現時点ではそこで終わっとけ
誤差の処理をちゃんとやうとすると情報サイエンスの基礎をみっちりやらないと無理だから、今回の件とは別に自宅で時間かけて勉強しろ
898デフォルトの名無しさん (ブーイモ MMcf-73NO)
2022/04/20(水) 07:47:48.41ID:uFaPvbC9M >>896
四捨五入した値をdouble型に代入した際にもこの誤差が発生する場合もあったのですがその場合の対処はDoWhileで数値が丸められるまで四捨五入を繰り返す処理を噛ませれば良いですか?
それよりcurrency型に代入した方が処理を省略できるのではないでしょうか
担当者の癖や上位工程担当者の癖、物件の種類などを加味して分析して完了予測を出すためツール全体で2万弱のステップ数があり、可能な限り処理を早めたいです
まぁそんなの誤差の範囲じゃんとかもっと別に短縮出来る所あるだろって言われたらそれはそうってなるんですが
工数は小数点第一位までの入力です
四捨五入した値をdouble型に代入した際にもこの誤差が発生する場合もあったのですがその場合の対処はDoWhileで数値が丸められるまで四捨五入を繰り返す処理を噛ませれば良いですか?
それよりcurrency型に代入した方が処理を省略できるのではないでしょうか
担当者の癖や上位工程担当者の癖、物件の種類などを加味して分析して完了予測を出すためツール全体で2万弱のステップ数があり、可能な限り処理を早めたいです
まぁそんなの誤差の範囲じゃんとかもっと別に短縮出来る所あるだろって言われたらそれはそうってなるんですが
工数は小数点第一位までの入力です
899デフォルトの名無しさん (ワッチョイ 77ce-X/6k)
2022/04/20(水) 08:21:13.14ID:lCHITGXH0900デフォルトの名無しさん (ワッチョイ ff8e-lF56)
2022/04/20(水) 11:58:28.08ID:TUC465n/0 >>898
そもそも何が問題かわかってる?
コンピュータ(VBA)の割り算では例えば0.999999とかになる問題は常にあることと、有効桁数を常に頭に入れてロジックを組む必要がある
割り算した結果の少数点同士の足し算もできるだけ避ける
小数点以下は一桁と決まってるなら最初から10倍しといて見せる時だけ小数点を付ける
最終的に割り算したら四捨五入する
などなど当たり前のことをわかってないから数値が合わないように見える
こんなの基本だが
そもそも何が問題かわかってる?
コンピュータ(VBA)の割り算では例えば0.999999とかになる問題は常にあることと、有効桁数を常に頭に入れてロジックを組む必要がある
割り算した結果の少数点同士の足し算もできるだけ避ける
小数点以下は一桁と決まってるなら最初から10倍しといて見せる時だけ小数点を付ける
最終的に割り算したら四捨五入する
などなど当たり前のことをわかってないから数値が合わないように見える
こんなの基本だが
901デフォルトの名無しさん (ワッチョイ ff8e-lF56)
2022/04/20(水) 12:03:05.91ID:TUC465n/0 それと、変数や定数、埋め込み数値の型に気を付け、違う型同士の演算ではどういう結果になるかも言語の仕様を常に調べるのは当たり前のこと
902デフォルトの名無しさん (ワッチョイ ff63-0fbr)
2022/04/20(水) 12:14:09.69ID:AAz4B5BA0903デフォルトの名無しさん (ワッチョイ 9fda-+1fN)
2022/04/20(水) 12:39:04.97ID:dxBIrhD/0 プログラムの本質からは外れるけど、現場の工場要員を秒刻みで拘束することに繋がるのを
把握しておくべき 上の方の役員からの指示でのシステム構築なのか、現場の意見を汲んだ
システム化なのかでも変わってくるかも知らんが、古来そういうのは運用し出してから破綻する
相手がロボットならまだしも、自分だって作業を秒刻みで拘束されたら嫌気さすだろうに
システム構築する側の自己満足に過ぎないような無駄なヶ所に注力したところで給料泥棒化するだけ
実際には不良(材料不良・加工不良・落下などの破損・etc)が出たり加工機械の不具合で作業がSTOPしたり
余った時間をバッファに充てるだけじゃ無くて、敢えて余裕をもたせたプランニングを意識しないと
全社員から反発くらって、せっかくの仕事が無かったことにされる 黒歴史の予感しかしない
ロボットやオートメーション機器のためのプログラムだとしたらVBAは間違ってると思うし
把握しておくべき 上の方の役員からの指示でのシステム構築なのか、現場の意見を汲んだ
システム化なのかでも変わってくるかも知らんが、古来そういうのは運用し出してから破綻する
相手がロボットならまだしも、自分だって作業を秒刻みで拘束されたら嫌気さすだろうに
システム構築する側の自己満足に過ぎないような無駄なヶ所に注力したところで給料泥棒化するだけ
実際には不良(材料不良・加工不良・落下などの破損・etc)が出たり加工機械の不具合で作業がSTOPしたり
余った時間をバッファに充てるだけじゃ無くて、敢えて余裕をもたせたプランニングを意識しないと
全社員から反発くらって、せっかくの仕事が無かったことにされる 黒歴史の予感しかしない
ロボットやオートメーション機器のためのプログラムだとしたらVBAは間違ってると思うし
904デフォルトの名無しさん (ワッチョイ 5701-5h/q)
2022/04/20(水) 13:55:16.24ID:wuSnjbzX0 >>900
浮動小数点数は特定の桁数の2進数で表現できる数字に丸める表現方法で、10進数の有効桁数は関係ないんじゃ?
そもそも「有効桁数を頭に入れて〜」みたいな正確さを考えて使う型じゃなくて、曖昧で良い場合に使う。
小数同士の演算は(オーバーフローを無視すれば)固定小数点数で問題なく行えるから避ける必要ない。
浮動小数点数は特定の桁数の2進数で表現できる数字に丸める表現方法で、10進数の有効桁数は関係ないんじゃ?
そもそも「有効桁数を頭に入れて〜」みたいな正確さを考えて使う型じゃなくて、曖昧で良い場合に使う。
小数同士の演算は(オーバーフローを無視すれば)固定小数点数で問題なく行えるから避ける必要ない。
905デフォルトの名無しさん (ワッチョイ b7da-+1fN)
2022/04/20(水) 13:58:17.02ID:nqlym3kL0 基本は大事だから
何度でも繰り返しておくんなまし。
何度でも繰り返しておくんなまし。
906デフォルトの名無しさん (ワッチョイ 9f02-yjyo)
2022/04/20(水) 14:12:37.06ID:2WayYnGs0 質問ですが、
VBAからwebページのデータを取得するとき、
CreateObject("InternetExplorer.Application")とかってやりますが、
サポート終了後はどうなりますか?
Edgeでできる?
VBAからwebページのデータを取得するとき、
CreateObject("InternetExplorer.Application")とかってやりますが、
サポート終了後はどうなりますか?
Edgeでできる?
907デフォルトの名無しさん (ブーイモ MMcf-vdfA)
2022/04/20(水) 14:45:20.55ID:W96CmtFuM >>906
Selenium Webdriver
Selenium Webdriver
908デフォルトの名無しさん (ワッチョイ 5701-5h/q)
2022/04/20(水) 15:54:04.07ID:wuSnjbzX0 >>906
当分サポート終了はないけど、そうなったらできなくなる。
Edgeじゃできないから代替案を考える必要がある。
有名なのはSelenium、Chrome DevTool Protocol
前者はライブラリ(参照設定する奴)を利用者全員にインストールしてもらい、
更にブラウザとのバージョン互換性にも対応する必要がある
ただし動作環境はエクセルのみっていうVBA最大のメリットを失う
後者は単独で動作するモジュールが作られてる
VBA以外の言語の開発環境があるなら、
スクレイピング部分はそれで作成してVBAから呼び出すって方法もある。
自分はそうしてるよ
当分サポート終了はないけど、そうなったらできなくなる。
Edgeじゃできないから代替案を考える必要がある。
有名なのはSelenium、Chrome DevTool Protocol
前者はライブラリ(参照設定する奴)を利用者全員にインストールしてもらい、
更にブラウザとのバージョン互換性にも対応する必要がある
ただし動作環境はエクセルのみっていうVBA最大のメリットを失う
後者は単独で動作するモジュールが作られてる
VBA以外の言語の開発環境があるなら、
スクレイピング部分はそれで作成してVBAから呼び出すって方法もある。
自分はそうしてるよ
909デフォルトの名無しさん (ワッチョイ 5701-5h/q)
2022/04/20(水) 15:57:01.62ID:wuSnjbzX0 edgeじゃできない、は
CreateObject("InternetExplorer.Application") を使ってedgeを操作できないって意味ね
だからseleniumとかでedgeを操作することになる
CreateObject("InternetExplorer.Application") を使ってedgeを操作できないって意味ね
だからseleniumとかでedgeを操作することになる
910デフォルトの名無しさん (ワッチョイ ff8e-lF56)
2022/04/20(水) 16:15:46.15ID:TUC465n/0 >>904
わからないなら黙っていればいいのに
わからないなら黙っていればいいのに
911デフォルトの名無しさん (ラクッペペ MM8f-ku93)
2022/04/20(水) 16:20:42.29ID:oDE2bDUYM 固定小数点は格納するたびに四捨五入するようなもんだから誤差の蓄積は多いが
人間社会ではコレをヨシ!としているから問題ない
天文学的な計算では命中しないだろう
人間社会ではコレをヨシ!としているから問題ない
天文学的な計算では命中しないだろう
912デフォルトの名無しさん (ワッチョイ 9f02-yjyo)
2022/04/20(水) 16:26:01.75ID:2WayYnGs0 >>907
ありがとう。
ありがとう。
913デフォルトの名無しさん (ワッチョイ b72f-mbkD)
2022/04/20(水) 17:45:44.86ID:DAsyvBxD0 >>911
>固定小数点は格納するたびに四捨五入するようなもん
もってる精度の桁数を超えない限りそんなことはないわ
想定する桁数内で誤差がでないから固定小数点使うんだぞ
逆に一般的なプログラム言語の浮動小数点は小数以下桁数が浮動する癖に0.1が正確じゃなかったりするから問題なんだよ
>固定小数点は格納するたびに四捨五入するようなもん
もってる精度の桁数を超えない限りそんなことはないわ
想定する桁数内で誤差がでないから固定小数点使うんだぞ
逆に一般的なプログラム言語の浮動小数点は小数以下桁数が浮動する癖に0.1が正確じゃなかったりするから問題なんだよ
914デフォルトの名無しさん (ワッチョイ ffda-+1fN)
2022/04/20(水) 19:09:32.27ID:cVTwugEg0 0.1は0.1だよ
915デフォルトの名無しさん (ラクッペペ MM8f-/HVa)
2022/04/20(水) 19:25:53.48ID:FB1fQipzM 0.1E+15
桁数は10の15乗の1京
有効数字は1桁の0.1
値は1000兆でも数値は0.1
桁数は10の15乗の1京
有効数字は1桁の0.1
値は1000兆でも数値は0.1
916デフォルトの名無しさん (スプッッ Sd3f-DvUi)
2022/04/20(水) 19:43:46.55ID:lF2OJV8Ed Trunc関数で不要な桁をバッサリ逝けば良いんじゃない?
917デフォルトの名無しさん (ワッチョイ 9f02-yjyo)
2022/04/20(水) 20:09:02.82ID:2WayYnGs0 >>908
ありがとうございます。
iMacrosってのを試してました。
Selenium、Chrome DevTool Protocolを調べてみます。
Excelで入力ダイアログボックスを出して、入力した番号に応じて、そのページのデータを取りに行く、
ってことがやりたいです。
言語はなんでもいいですね。
できれば、Visual Studioを使いたいですが…w
ありがとうございます。
iMacrosってのを試してました。
Selenium、Chrome DevTool Protocolを調べてみます。
Excelで入力ダイアログボックスを出して、入力した番号に応じて、そのページのデータを取りに行く、
ってことがやりたいです。
言語はなんでもいいですね。
できれば、Visual Studioを使いたいですが…w
918デフォルトの名無しさん (ワッチョイ 9f4f-Ltfy)
2022/04/20(水) 20:56:24.65ID:by8HP/iQ0 なんだIEEE754仕様問題の話題か。
10進と16進(2進)の浮動小数差異が出るのはまぁある意味仕方がない。
固定小数点の型を持つ言語を使うか、割る前に何桁か分10のべき乗数を掛けて割った後に同じだけ割ってやって適当なところで諦めるか、というところが落としどころだろうね。
ちなみにEXCELの数式の四捨五入は本当に四捨五入だけど、VBAの四捨五入は銀行丸めだから気をつけてね。
10進と16進(2進)の浮動小数差異が出るのはまぁある意味仕方がない。
固定小数点の型を持つ言語を使うか、割る前に何桁か分10のべき乗数を掛けて割った後に同じだけ割ってやって適当なところで諦めるか、というところが落としどころだろうね。
ちなみにEXCELの数式の四捨五入は本当に四捨五入だけど、VBAの四捨五入は銀行丸めだから気をつけてね。
919デフォルトの名無しさん (スプッッ Sd3f-DvUi)
2022/04/20(水) 21:03:02.83ID:lF2OJV8Ed 因みにパワクエも銀行丸め
いい加減統一して欲しいわ
いい加減統一して欲しいわ
920デフォルトの名無しさん (ワッチョイ 57da-wCJf)
2022/04/20(水) 21:09:55.19ID:Q+UfmON+0 四捨五入はRound使わなくてもできるらしいで
知らんけど
知らんけど
921デフォルトの名無しさん (ワッチョイ 375f-CvXj)
2022/04/20(水) 21:17:52.87ID:Me5L26li0 >>906
おれも心配してたけどオートメーションの場合は6月以降も使えるらしいな
おれも心配してたけどオートメーションの場合は6月以降も使えるらしいな
922デフォルトの名無しさん (ワッチョイ b72f-mbkD)
2022/04/20(水) 22:25:36.74ID:DAsyvBxD0 >>918
暗黙の変換(丸め)を四捨五入というのは問題があるかと
暗黙の変換(丸め)を四捨五入というのは問題があるかと
923デフォルトの名無しさん (ワッチョイ 9f4f-Ltfy)
2022/04/20(水) 23:37:18.06ID:by8HP/iQ0 >>922
何故に暗黙の変換限定の話と思ったのかは分からないけど、型はなるべく明示的に変換しないとね。
その辺、VBAはOption Strict Onが使えないから大変。
もっとも、.Netでも匿名型を使うメソッドは固めてOption Strict Offに設定したモジュールに突っ込んでおく必要があるけど。
何故に暗黙の変換限定の話と思ったのかは分からないけど、型はなるべく明示的に変換しないとね。
その辺、VBAはOption Strict Onが使えないから大変。
もっとも、.Netでも匿名型を使うメソッドは固めてOption Strict Offに設定したモジュールに突っ込んでおく必要があるけど。
924デフォルトの名無しさん (ワッチョイ b72f-mbkD)
2022/04/21(木) 17:21:20.11ID:pjiVvgnX0 ああ、そうだな。Cxxxで明示的に型変換しても銀行丸めだから
暗黙の変換に限った話ではなかったな
匿名型のくだりは何を言ってるか意味不明だがな
匿名型は名前がついてないだけで厳密に型指定されているんだが
暗黙の変換に限った話ではなかったな
匿名型のくだりは何を言ってるか意味不明だがな
匿名型は名前がついてないだけで厳密に型指定されているんだが
925デフォルトの名無しさん (ワッチョイ 9f4f-Ltfy)
2022/04/21(木) 23:11:20.77ID:VWW2tbiZ0 CcxxとかじゃなくてもRound使ったって普通に銀行丸のだろ
926デフォルトの名無しさん (ワッチョイ 77ce-+1fN)
2022/04/22(金) 02:09:40.61ID:M5fmJ0ze0 ワークシート関数のROUNDは四捨五入
VBAのRound関数は銀行丸め
VB.netのMath.Roundメソッドも銀行丸め
これ真面目な話テストに出るし実務でもトラブルの元だからちゃんと覚えて使い分けろよ
VBAのRound関数は銀行丸め
VB.netのMath.Roundメソッドも銀行丸め
これ真面目な話テストに出るし実務でもトラブルの元だからちゃんと覚えて使い分けろよ
927デフォルトの名無しさん (ラクッペペ MM8f-/HVa)
2022/04/22(金) 08:50:16.15ID:Uci4ALKRM そもそも四捨五入や銀行丸めは暗黙の(型)変換でも何でもないけどな
928デフォルトの名無しさん (ササクッテロラ Sp8b-Ltfy)
2022/04/22(金) 12:17:14.78ID:6grDaRhxp VBAの四捨五入は型変換でやるもんだと思ってるんだろ
929デフォルトの名無しさん (アウアウウー Sa1b-+1fN)
2022/04/22(金) 12:26:05.45ID:Sb+Ase1ga VBAで全ての物事を解決したいと考えています。
まずはOCRからやっていきたいです。
次に、人工知能とビッグデータに関する VBA のライブラリを充実させたいです。
それができたら、VBA で、callbyName を使って、疑似マルチスレッド化してサーバーOSを作り、
メタバースを作りたいです。
どうしたらいいですか?
まずはOCRからやっていきたいです。
次に、人工知能とビッグデータに関する VBA のライブラリを充実させたいです。
それができたら、VBA で、callbyName を使って、疑似マルチスレッド化してサーバーOSを作り、
メタバースを作りたいです。
どうしたらいいですか?
930デフォルトの名無しさん (オッペケ Sr8b-ny4V)
2022/04/22(金) 12:56:56.20ID:JqjwtZFMr 沢山金がある
→MSに依頼する
少しだけ金がある
→スクールにでも通う
金が無い
→自力で調べろ
→MSに依頼する
少しだけ金がある
→スクールにでも通う
金が無い
→自力で調べろ
931デフォルトの名無しさん (ワッチョイ ffda-+1fN)
2022/04/22(金) 13:46:25.69ID:qHWul8Ex0 >>929
もう休み始まったのか羨ましいな
もう休み始まったのか羨ましいな
932デフォルトの名無しさん (ワッチョイ 1603-dMjb)
2022/04/23(土) 07:32:43.48ID:Q/JWtTUi0 VBAのコードをパスワードではなく
AccessのようにMDEまたはACCDE化して隠蔽できないのかね?
AccessのようにMDEまたはACCDE化して隠蔽できないのかね?
933デフォルトの名無しさん (ササクッテロ Spd7-5pfM)
2022/04/23(土) 13:58:03.66ID:yVxZarCbp あったとして、ワークシートが見れない
934デフォルトの名無しさん (ワッチョイ 2590-WvSx)
2022/04/23(土) 21:14:41.84ID:QWCWIiV00 VB6.0の質問となります。
ご存じのかた、ご教授お願い致します。
CommandButton1のDownPictureプロパティ(ボタンを押すと指定したピクチャが表示される)
で設定するピクチャファイルをボタンを押すたびにランダムのピクチャを
表示する方法はありますでしょうか?
ピクチャを固定でなく、可変でいろいろなピクチャを表示することはできるのでしょうか?
宜しくお願い致します。
ご存じのかた、ご教授お願い致します。
CommandButton1のDownPictureプロパティ(ボタンを押すと指定したピクチャが表示される)
で設定するピクチャファイルをボタンを押すたびにランダムのピクチャを
表示する方法はありますでしょうか?
ピクチャを固定でなく、可変でいろいろなピクチャを表示することはできるのでしょうか?
宜しくお願い致します。
935デフォルトの名無しさん (ワッチョイ acce-fLUy)
2022/04/23(土) 21:26:02.35ID:Owv7WUis0937デフォルトの名無しさん (ワッチョイ 2cda-fLUy)
2022/04/24(日) 03:02:47.88ID:dQQkhpXr0 なんで.netじゃなくてVB6.0?
938デフォルトの名無しさん (ワッチョイ a868-g9NX)
2022/04/24(日) 07:12:27.67ID:V025dUWC0 聞いてやるな
939デフォルトの名無しさん (ワッチョイ aa01-JgK/)
2022/04/24(日) 08:27:40.38ID:rcB2xidb0 保守案件じゃねーの?
それより
> VBとVBAは似てるけどまったく違う言語なのよ
のほうが気になるわ
それより
> VBとVBAは似てるけどまったく違う言語なのよ
のほうが気になるわ
940デフォルトの名無しさん (ワッチョイ a868-g9NX)
2022/04/24(日) 08:33:51.29ID:V025dUWC0 VB6とVBAは割りと似てるよ
.netは別物だけど
.netは別物だけど
941デフォルトの名無しさん (ワッチョイ f64f-uGXv)
2022/04/24(日) 09:47:15.58ID:K6J8xSzg0 VB.NetとVBAが違うと言いたかったんじゃないか?
VBAとVB6.0なんてガワ以外大して変わらんだろ
VBAとVB6.0なんてガワ以外大して変わらんだろ
942デフォルトの名無しさん (アウアウウー Sab5-JgK/)
2022/04/24(日) 11:05:42.56ID:JjYc30D0a それなら全くスレチって言うわけでもないだろうしVB6以前スレに誘導してもあっちは過疎ってるから>>935の真意がわからん
古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止]c2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1440930335/
古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止]c2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1440930335/
943デフォルトの名無しさん (ワッチョイ 915f-Yb1D)
2022/04/24(日) 11:34:19.84ID:3PCmdv6z0 >>934
配列かコレクションに取りうる画像ファイルのパス全部突っ込んどいて
毎回Rnd関数でランダム添え字作成してDownPictureへ代入する処理を
Timerイベントで定期的に起こせばいいんじゃね
配列かコレクションに取りうる画像ファイルのパス全部突っ込んどいて
毎回Rnd関数でランダム添え字作成してDownPictureへ代入する処理を
Timerイベントで定期的に起こせばいいんじゃね
944デフォルトの名無しさん (ワッチョイ 1a10-N5Cz)
2022/04/24(日) 12:34:51.24ID:/i/HSWcF0 >934の方法で出来るね
vb.netはCommandButtonというコントロールがないからButtonコントロールで処理することになるけど
vb.netはCommandButtonというコントロールがないからButtonコントロールで処理することになるけど
945934 (ワッチョイ 2590-WvSx)
2022/04/24(日) 14:05:21.06ID:sOMp0pcl0946デフォルトの名無しさん (アウアウウー Sab5-fLUy)
2022/04/24(日) 14:18:48.53ID:H35nhyzua VBAに聞けば、VB6.0の問題が解決すると思ってる魂胆がむかつく
947デフォルトの名無しさん (アウアウウー Sab5-fLUy)
2022/04/24(日) 14:19:17.64ID:H35nhyzua 次の質問どーぞー!
948デフォルトの名無しさん (ワッチョイ aada-fLUy)
2022/04/24(日) 14:49:27.80ID:SWKX3wPR0949デフォルトの名無しさん (ワッチョイ 0a8e-uYZF)
2022/04/24(日) 15:00:54.37ID:awQxKQ/u0 >>945
結局、こういう馬鹿は馬鹿だからこんな書き込みをすることになるんだよな
結局、こういう馬鹿は馬鹿だからこんな書き込みをすることになるんだよな
950デフォルトの名無しさん (ワッチョイ a868-g9NX)
2022/04/24(日) 19:19:11.64ID:V025dUWC0951デフォルトの名無しさん (ワッチョイ 9fda-dPil)
2022/04/24(日) 20:32:26.94ID:4thwl0KN0 VBAのコードを隠すとかw
いやらしいコードとか胸アツ
いやらしいコードとか胸アツ
952デフォルトの名無しさん (ワッチョイ 3868-fLUy)
2022/04/24(日) 21:56:52.40ID:HnHBh+4U0 ソースを見たらBase64が書き込まれてるとかかw
953デフォルトの名無しさん (ワッチョイ acce-fLUy)
2022/04/24(日) 22:10:43.02ID:qlayZYg40 変数や関数名を1文字にして、インデントをなくし、マルチステートメントを使い、GoToで飛ばしまくる
これぐらいやっとけばニワカには暗号化されてるのと同じに見えるよ
組み込み関数に型文字を付けたり、行番号とか書いとけばさらに混乱するんじゃない?
これぐらいやっとけばニワカには暗号化されてるのと同じに見えるよ
組み込み関数に型文字を付けたり、行番号とか書いとけばさらに混乱するんじゃない?
954デフォルトの名無しさん (ワッチョイ acce-fLUy)
2022/04/24(日) 22:11:47.35ID:qlayZYg40 代入のLetを省略せずに書くとか
955デフォルトの名無しさん (ワッチョイ acce-fLUy)
2022/04/24(日) 22:21:56.70ID:qlayZYg40 例えばこういうのは初心者だとVBAのコードだと認識できない
Option Explicit
Sub a()
10 Dim i%, s$: For i% = 0# To 15 Step 1&: Let s$ = Hex$(i%): Debug.Print s$,
20 Next i%: GoTo Next_i: Let i% = 999#
30 Next_i: Debug.Print
End Sub
Option Explicit
Sub a()
10 Dim i%, s$: For i% = 0# To 15 Step 1&: Let s$ = Hex$(i%): Debug.Print s$,
20 Next i%: GoTo Next_i: Let i% = 999#
30 Next_i: Debug.Print
End Sub
956デフォルトの名無しさん (ワッチョイ aada-fLUy)
2022/04/25(月) 16:32:49.44ID:mIKR8D/k0 もっと初心者だとこういうもんだと覚えて、ウルトラコード量産して
逆にそれがウケてそこら中から引っ張りだこに成る可能性も
逆にそれがウケてそこら中から引っ張りだこに成る可能性も
957デフォルトの名無しさん (アウアウウー Sa3a-Datt)
2022/04/25(月) 18:25:34.65ID:d4FCGwAUa あとどこからも呼ばれないコードを周囲に書いとくとか
958デフォルトの名無しさん (ワッチョイ 1603-dMjb)
2022/04/25(月) 22:42:22.33ID:LL5g/Itw0 難読化してくれるサイトもあるようだがAIでも駆使してんのかよ
959デフォルトの名無しさん (ワッチョイ 09da-9Miq)
2022/04/26(火) 13:34:27.36ID:h7wIW8Sj0 VBを学んでみたいのだけど、専用アプリをインストールすれば良いのですか?
960デフォルトの名無しさん (ワッチョイ b4bd-PWDZ)
2022/04/26(火) 13:39:28.14ID:4e+J3DaO0 それを聞くようでは勉強進まないと思うぞ
VBAなら、Excelのオプションから設定しよう
VBAなら、Excelのオプションから設定しよう
961デフォルトの名無しさん (ワッチョイ 09da-9Miq)
2022/04/26(火) 13:41:38.59ID:h7wIW8Sj0 はい!分かりました先輩!
962デフォルトの名無しさん (ワッチョイ 2cda-fLUy)
2022/04/27(水) 11:18:39.59ID:13VCBUUL0 VBとVBAは違うだろ
963デフォルトの名無しさん (ワッチョイ 7349-F2vc)
2022/04/27(水) 11:35:58.26ID:5AfXZQ180 めんどくさくなりそうだからその話題はいいわ
964デフォルトの名無しさん (ワッチョイ 09da-9Miq)
2022/04/27(水) 12:17:37.70ID:0nl7nS5l0 ヤフーの質問サイトをたまに見ていると、VB板なのにExcel VBAの質問している方が多いですからね。
965デフォルトの名無しさん (ワッチョイ 627c-N5Cz)
2022/04/27(水) 14:37:20.10ID:VQIBBePJ0 これはマイクロソフトが悪い
966デフォルトの名無しさん (ワッチョイ f64f-uGXv)
2022/04/28(木) 02:09:14.27ID:ba7q24a/0 質問と言うわけじゃないんだけど、最近VBAのお仕事が立て込んでて、こねくり回していたら変な現象が起きたのでちょっと報告。
セルのフォーマットを変えても値がそのフォーマットに合わせて変更されず、セルの中身を触ろうとして初めて設定したフォーマットが反映されることがある。
個人的に勝手に「ガラスのフォーマット」と呼んでいるけど、これをVBA上でフォーマットを反映させたいと思い、Cell(1,1).value = Cell(1.1).valueみたいにすれば行けるかなと思ってやってみたら行けたので、
範囲でも行けるかなと思ってRange(“A:A”).value = Range(“A:A”).valueとしてみたら行けた。
調子にのって複数のセル範囲を一度にしてみたら、VBA側ではエラーはなくセルの内容がまばらに#N/Aとなった。
それも何かしら値が設定されていたセルもそうでないセルも関係なくまばらに#N/A。
複数範囲、例えば”A:A,B:B”みたいなのをSplitで「,」で分割してひと範囲づつ行ったら起きなくなった。
まだ詳しくは調べていないし、ヘルプも見ていないけどEXCELのバグと考えるのは早計かな?
セルのフォーマットを変えても値がそのフォーマットに合わせて変更されず、セルの中身を触ろうとして初めて設定したフォーマットが反映されることがある。
個人的に勝手に「ガラスのフォーマット」と呼んでいるけど、これをVBA上でフォーマットを反映させたいと思い、Cell(1,1).value = Cell(1.1).valueみたいにすれば行けるかなと思ってやってみたら行けたので、
範囲でも行けるかなと思ってRange(“A:A”).value = Range(“A:A”).valueとしてみたら行けた。
調子にのって複数のセル範囲を一度にしてみたら、VBA側ではエラーはなくセルの内容がまばらに#N/Aとなった。
それも何かしら値が設定されていたセルもそうでないセルも関係なくまばらに#N/A。
複数範囲、例えば”A:A,B:B”みたいなのをSplitで「,」で分割してひと範囲づつ行ったら起きなくなった。
まだ詳しくは調べていないし、ヘルプも見ていないけどEXCELのバグと考えるのは早計かな?
967デフォルトの名無しさん (スププ Sd70-Ikf+)
2022/04/28(木) 06:30:27.37ID:4LxgxN/hd ストゼロのコピペみたいになってるので先ずはExcelの異常より自分の異常を気にした方が良い
お大事に
お大事に
968デフォルトの名無しさん (ワッチョイ a868-g9NX)
2022/04/28(木) 06:56:19.59ID:Xx5H6lJB0 >>966
重い
重い
969デフォルトの名無しさん (ブーイモ MM5a-mNt0)
2022/04/28(木) 07:13:52.33ID:Nya/6dWlM うーんこの
970デフォルトの名無しさん (ワッチョイ d0b0-5pfM)
2022/04/28(木) 08:23:08.41ID:tFS3Ff7A0 同一sheet、複数areaの仕様通り
971デフォルトの名無しさん (ワッチョイ aada-fLUy)
2022/04/28(木) 10:11:30.42ID:w1n3DLDr0 新人の頃、なんでもやたらバグ!と言い募ってたら、ここの諸先輩にブン殴られた
何でもかでもぜんぶ他者のせいにしてると、モニタから腕が伸びてきてホントにブン殴られる
多分、立て込んでるがキーワード 立て込んでるなら尚更マシン複数台用意して
作業を分散して負荷を軽減するなり、都度都度保存してExcelも終了させておいて
合間にエロ動画見たりしながらExcelさんを休ませてあげないと、テンポる
何でもかでもぜんぶ他者のせいにしてると、モニタから腕が伸びてきてホントにブン殴られる
多分、立て込んでるがキーワード 立て込んでるなら尚更マシン複数台用意して
作業を分散して負荷を軽減するなり、都度都度保存してExcelも終了させておいて
合間にエロ動画見たりしながらExcelさんを休ませてあげないと、テンポる
972デフォルトの名無しさん (スップ Sd00-uYZF)
2022/04/28(木) 14:24:22.28ID:UYKtqYXXd 糖質か
973デフォルトの名無しさん (ワッチョイ 09da-9Miq)
2022/04/29(金) 15:02:24.64ID:VxUwChyk0 ここ最近、5ちゃん全体が重いのだが?
同志達もそう?
同志達もそう?
974デフォルトの名無しさん (ワッチョイ acce-fLUy)
2022/04/29(金) 17:00:23.18ID:1aSdL/gJ0975デフォルトの名無しさん (ワッチョイ a868-g9NX)
2022/04/29(金) 19:06:07.89ID:lunnn7Hg0 5chのサーバーはアメリカにある
なんかあるとすぐに攻撃されるからな
なんかあるとすぐに攻撃されるからな
976デフォルトの名無しさん (アウアウウー Saab-Nh0L)
2022/04/30(土) 00:10:15.39ID:xtMjZAZqa まったく重くないが。
そろそろ次スレよろ
そろそろ次スレよろ
977デフォルトの名無しさん (ワッチョイ 7f10-bbcD)
2022/04/30(土) 10:32:12.86ID:lfBpjyTL0978デフォルトの名無しさん (ワッチョイ c749-c3mi)
2022/04/30(土) 10:33:08.68ID:/k/F8o6k0 よろ~☆ミ
979デフォルトの名無しさん (ワッチョイ 8768-eox6)
2022/04/30(土) 11:25:04.05ID:SY9/68Ub0 46497!
980デフォルトの名無しさん (ワッチョイ 27da-l/ZD)
2022/04/30(土) 15:57:06.54ID:jIMADI4Y0 あれ?昔からのしきたりで、スレ主が次のスレ立てを担当するはずでは??
981デフォルトの名無しさん (スッップ Sdff-VZQ6)
2022/04/30(土) 15:58:48.35ID:ttNuaWX+d 質問したい奴が立てればいいぐらい
どうでもいいスレだろ
どうでもいいスレだろ
982デフォルトの名無しさん (ワッチョイ bf8c-pWxw)
2022/05/01(日) 00:13:28.72ID:AQA/eAvl0 980番を踏んだ奴が立てるんじゃなかったか
983デフォルトの名無しさん (ワッチョイ 27da-l/ZD)
2022/05/01(日) 01:58:03.34ID:Pk0oKD+E0 建て方知らないもん
アソコの立て方は得意だけどさ
アソコの立て方は得意だけどさ
984デフォルトの名無しさん (スップ Sd7f-TUas)
2022/05/01(日) 02:01:11.00ID:q0kLnjNbd 立てても使い道(相手がいない)がないのになぜ立てるか
985デフォルトの名無しさん (ブーイモ MM8f-XZ6m)
2022/05/01(日) 02:24:06.36ID:2t63WK/jM986デフォルトの名無しさん (ワッチョイ df7c-ooJM)
2022/05/01(日) 05:51:26.54ID:QKAZyHTH0 >>985
有能
有能
987デフォルトの名無しさん (オッペケ Sr5b-XZ6m)
2022/05/03(火) 14:10:11.29ID:X7BfbxUdr Excel2019になってから重いデータを処理する時にエラーが出やすくなりました。
7000データあるものから鳥瞰図を作成して画像として貼り付ける処理をしているんですがコピーして貼り付ける際にたまにエラーが発生します。(1004データを貼り付けできません)
バッファとして貼り付ける前にwaitで数秒待ってあげるとエラーが出なくなるんですが……
仕方ないんですかね?
7000データあるものから鳥瞰図を作成して画像として貼り付ける処理をしているんですがコピーして貼り付ける際にたまにエラーが発生します。(1004データを貼り付けできません)
バッファとして貼り付ける前にwaitで数秒待ってあげるとエラーが出なくなるんですが……
仕方ないんですかね?
988デフォルトの名無しさん (ワッチョイ 87e6-1Uqa)
2022/05/03(火) 16:57:37.12ID:9Zz7qGMa0 エラーをキャッチすれば?
989デフォルトの名無しさん (ワッチョイ 2701-XZ6m)
2022/05/03(火) 18:40:38.57ID:1FiEgH3Q0 エラー発生時にエラータグにとばしてそこで数秒待って再度実行も試しましたが結局永久ループになってしまいました。
990デフォルトの名無しさん (ワッチョイ 075f-erxH)
2022/05/03(火) 18:51:21.27ID:wJ2FprYn0 DoEvents入れてみるとか
991デフォルトの名無しさん (ワッチョイ 2701-XZ6m)
2022/05/03(火) 19:57:23.11ID:1FiEgH3Q0 DoEventsも最初に試しましたがイマイチでした。
あまり同じような症状が出ている方少ないのかな?重い処理だと次の処理が追い越しちゃってエラーが出てる感じなんですよね。
あまり同じような症状が出ている方少ないのかな?重い処理だと次の処理が追い越しちゃってエラーが出てる感じなんですよね。
992デフォルトの名無しさん (ワッチョイ 6793-ow/s)
2022/05/03(火) 23:05:49.83ID:0jm7qJTo0 Application.ScreenUpdating = False
をやってから処理して、終わったら
Application.ScreenUpdating = True
にしてみたら?
をやってから処理して、終わったら
Application.ScreenUpdating = True
にしてみたら?
993デフォルトの名無しさん (ワッチョイ df4f-bbcD)
2022/05/04(水) 01:08:45.09ID:llwekS7n0 >>987
まぁ同期が取り切れていないということで、
コピーが終了したタイミングが取得出来ないと言うことなら待たせるのは仕方ないんじゃないかな?
後続の処理の流れによりけりになるけど、
ある程度時間が経過すればエラーが起きなくなると言うことであれば、それを待たせる時間がもったいないなら
そこで貼り付けはしないで後続処理を進めて、貼り付け自体はタイマーでイベントを起こしてそこで貼り付けの処理すれば時間の節約にはなるかも知れない。
内部的にどんな感じで処理されてるか分からないから後続処理の内容によって待つ時間を増やさなければいけなくなるかも知れないけどね。
まぁ同期が取り切れていないということで、
コピーが終了したタイミングが取得出来ないと言うことなら待たせるのは仕方ないんじゃないかな?
後続の処理の流れによりけりになるけど、
ある程度時間が経過すればエラーが起きなくなると言うことであれば、それを待たせる時間がもったいないなら
そこで貼り付けはしないで後続処理を進めて、貼り付け自体はタイマーでイベントを起こしてそこで貼り付けの処理すれば時間の節約にはなるかも知れない。
内部的にどんな感じで処理されてるか分からないから後続処理の内容によって待つ時間を増やさなければいけなくなるかも知れないけどね。
994デフォルトの名無しさん (ワッチョイ 2701-XZ6m)
2022/05/04(水) 04:41:51.29ID:Bmz10qTz0 アドバイスありがとうございます。
Application.ScreenUpdating=Falseはいれています。
やはり仕方無いのですかね?
PCの性能面でも良くないのかも知れません。
メモリーリークのような事が起こっているのでしょうかね?
Application.ScreenUpdating=Falseはいれています。
やはり仕方無いのですかね?
PCの性能面でも良くないのかも知れません。
メモリーリークのような事が起こっているのでしょうかね?
995デフォルトの名無しさん (ワッチョイ 87da-Nh0L)
2022/05/04(水) 06:45:06.11ID:XHZmixda0 オブジェクト変数のその都度開放とかは?
996デフォルトの名無しさん (ワッチョイ df4f-bbcD)
2022/05/04(水) 07:00:53.96ID:llwekS7n0 >>994
メモリーリークというのは
メモリの解放を上手く行えずゴミが溜まったり
本来指すべきメモリのアドレスを
違うアドレスをさして変なアドレスからデータ読んだり
変なところに飛んだりすることを指す訳だけど
話を聞いた限りだとその可能性は低いかな。
強いて言えばコピーする際にクリップボードが
数、あるいは容量的にパンパンで次のコピーを
行おうとしたときにもうコピー出来ない、
またはコピーしようとしているんだけど
空き容量が少なくて、そこで内容を展開しているから
時間が掛かっているとかの類が考えられるかな。
どのくらいコピーペーストしているのか分からないけど、
とりあえずコピーペーストする前かした後に
一回一回、クリップボードをクリアする処理を挟んでみては?
メモリーリークというのは
メモリの解放を上手く行えずゴミが溜まったり
本来指すべきメモリのアドレスを
違うアドレスをさして変なアドレスからデータ読んだり
変なところに飛んだりすることを指す訳だけど
話を聞いた限りだとその可能性は低いかな。
強いて言えばコピーする際にクリップボードが
数、あるいは容量的にパンパンで次のコピーを
行おうとしたときにもうコピー出来ない、
またはコピーしようとしているんだけど
空き容量が少なくて、そこで内容を展開しているから
時間が掛かっているとかの類が考えられるかな。
どのくらいコピーペーストしているのか分からないけど、
とりあえずコピーペーストする前かした後に
一回一回、クリップボードをクリアする処理を挟んでみては?
997デフォルトの名無しさん (スププ Sdff-hviI)
2022/05/04(水) 07:22:42.23ID:sN1XYX+fd Excel2019当方でも同じ
PCの性能が良すぎてExcelの処理が追いついてない感じ
極力クリップボード経由を避ける
どうしても必要なら間にDoEvents - Sleep - DoEvents を入れる
PCの性能が良すぎてExcelの処理が追いついてない感じ
極力クリップボード経由を避ける
どうしても必要なら間にDoEvents - Sleep - DoEvents を入れる
998デフォルトの名無しさん (ワッチョイ df01-nj6J)
2022/05/04(水) 07:28:33.66ID:CsYq7Xth0999デフォルトの名無しさん (アウアウウー Saab-wueb)
2022/05/04(水) 11:56:06.30ID:ZnBr6fHma pc買い替え
1000デフォルトの名無しさん (ラクッペペ MM8f-CxRA)
2022/05/04(水) 12:08:38.05ID:7uEIwZovM 1000
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 83日 21時間 44分 6秒
新しいスレッドを立ててください。
life time: 83日 21時間 44分 6秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- 【速報】高市首相 青森震度6強地震で負傷者30人 [蚤の市★]
- 【高市悲報】日経が議員削減法案を痛烈批判「これほど党利党略を優先した法案も珍しい」 [663382246]
- まんが賞選評「男らしい骨太な作品で~」
- 【画像】TOKIO山口達也に「いいべ」された当時のJK、性加害の反動であたしこグラドルにwww [779857986]
- 声優・矢尾一樹の妻「治療の影響で思う様に話せない彼に、近くで仕事をしてきた人が、かっこ悪い!もう辞めなよと言った。私は許さない」 [594040874]
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
- AIが仕事を奪うフェーズ、ガチでスタートしてしまう、世界はこの先どうなってしまうのか [604928783]
