!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part77
https://mevius.5ch.net/test/read.cgi/tech/1658009255/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part78
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (ワッチョイ 5f2e-juJ7)
2022/10/30(日) 13:43:16.31ID:6yf2E1Gz0845デフォルトの名無しさん (ワッチョイ 7f74-Njuq)
2023/01/22(日) 18:32:47.51ID:Km84h4+z0846デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/22(日) 18:34:23.97ID:5nd4WcY/0847デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 18:35:54.62ID:zZKA7THFr >>845
ワタシサバサバしてるので
ワタシサバサバしてるので
848デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 18:36:29.31ID:zZKA7THFr >>846
別の話じゃないよ
別の話じゃないよ
849デフォルトの名無しさん (ワッチョイ bf3d-Sc6R)
2023/01/22(日) 18:51:11.61ID:vQS42HbD0 >>817
レスサンクスです。
ということはYukkuriが100人いたら、
Dim Yukkuri?? As New Dictionaryを100行要るてことになるてこと?
timeline.Add Yukkuriのところで、timelineが使ってるメモリが追加でアロケートされ、
そこに連想配列が追加されるていう動きにならんのかね?
それか連想配列の実体をコピーできるとか。
レスサンクスです。
ということはYukkuriが100人いたら、
Dim Yukkuri?? As New Dictionaryを100行要るてことになるてこと?
timeline.Add Yukkuriのところで、timelineが使ってるメモリが追加でアロケートされ、
そこに連想配列が追加されるていう動きにならんのかね?
それか連想配列の実体をコピーできるとか。
850デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 18:52:29.42ID:zZKA7THFr ワタシフサフサしてるので
851デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 18:56:56.52ID:pQuel4xur852デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/22(日) 19:04:19.40ID:uL/qufmv0 日曜日に仕事?家に持ち帰りならブラック企業だな
853デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/22(日) 19:13:06.03ID:5nd4WcY/0854デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/22(日) 19:20:26.34ID:5nd4WcY/0 >>849
だから何をやりたいのかいまいちよくわからんけど100個コピー作りたいならループで回せばいいだけ
新規のDictionaryはループ中で確保する
timeline.Add Yukkuri
Dim N As Long
Dim Yukkuri1 As Dictionary
Dim Key As Variant
For N = 1 To 100
Set Yukkuri1 = New Dictionary
For Each Key In Yukkuri.Keys
Yukkuri1.Add Key, Yukkuri(Key)
Next
timeline.Add Yukkuri1
Next
だから何をやりたいのかいまいちよくわからんけど100個コピー作りたいならループで回せばいいだけ
新規のDictionaryはループ中で確保する
timeline.Add Yukkuri
Dim N As Long
Dim Yukkuri1 As Dictionary
Dim Key As Variant
For N = 1 To 100
Set Yukkuri1 = New Dictionary
For Each Key In Yukkuri.Keys
Yukkuri1.Add Key, Yukkuri(Key)
Next
timeline.Add Yukkuri1
Next
855デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/22(日) 19:55:07.24ID:pQuel4xur >>853
2つにそれぞれ意味があるから良いだろ
ソフトは客先に納品書や請求書をプリントしたり、EXCELは社内の全ての管理をしやすいように情報付与、そしてその2つが在る事でどちらのかの入力ミスを防げる
この仕組みで会社が儲かってるんだからケチ付けられんわ俺も
2つにそれぞれ意味があるから良いだろ
ソフトは客先に納品書や請求書をプリントしたり、EXCELは社内の全ての管理をしやすいように情報付与、そしてその2つが在る事でどちらのかの入力ミスを防げる
この仕組みで会社が儲かってるんだからケチ付けられんわ俺も
856デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/22(日) 20:04:58.23ID:xRK/d49A0 >>814は恐らく連想配列が欲しいわけではなく、
javascriptやpowershellにあるような動的なプロパティが欲しいんだろう
VBAではそういう便利なものはないので基本ノードデータにジャグ配列を使って
ノードの先頭にプロパティ名に相当するタグを付けていった方が記述量的にも混乱が少ないと思われる
javascriptやpowershellにあるような動的なプロパティが欲しいんだろう
VBAではそういう便利なものはないので基本ノードデータにジャグ配列を使って
ノードの先頭にプロパティ名に相当するタグを付けていった方が記述量的にも混乱が少ないと思われる
857デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/22(日) 20:21:20.32ID:xRK/d49A0 >>814の意図を汲んだデータをジャグ配列のノードで表記すると恐らく以下の様になる
dim timeline_root
timeline_root = array("timeline" _
,array("Yukkuri", array("Name", "霊夢"), array("serif", "霊夢です")) _
,array("Yukkuri", array("Name", "魔理沙"), array("serif", "魔理沙だぜ")) _
)
配列の要素0に必ずタグ名が入るようにすれば、HTMLのDOMツリーのように一環した探索ロジックが組める
dim timeline_root
timeline_root = array("timeline" _
,array("Yukkuri", array("Name", "霊夢"), array("serif", "霊夢です")) _
,array("Yukkuri", array("Name", "魔理沙"), array("serif", "魔理沙だぜ")) _
)
配列の要素0に必ずタグ名が入るようにすれば、HTMLのDOMツリーのように一環した探索ロジックが組める
858デフォルトの名無しさん (ワッチョイ bf3d-Sc6R)
2023/01/22(日) 23:17:51.08ID:vQS42HbD0 >>857
やろうとしてることは、ゆっくりムービーメーカー4の定義ファイルをVBAで編集すること。
ゆっくりムービーメーカー4の定義ファイルはJSONになってて、
VBAではJSONが使えないから、誰かが組んだVBA-JSONを使うと
JSONがVBAのコレクションやディクショナリー(連想配列)で作られたデータになる。
そこなかで、セリフが定義されてるを連想配列を複製してセリフ書き換えてくてことをやってるんだけど、
VBAのSETて参照するだけで、その参照したものを上位の配列にaddしても、
参照先情報みたいなものがaddされるだけで、別メモリーの情報がaddされるわけじゃない。
ただ、試行錯誤していたら
一旦同じ連想配列をaddしたものを作って、
それをjsonにして、またそのjsonを連想配列に戻してやれば、
別メモリが割り当てられた連想配列が出来上がった。
そのあとは個別に要素を書き換えられる。
javascriptとかは
.配列.push({...Yukkuri[0]})
とかやれば行けたんだが、VBAは無理なのか。
やろうとしてることは、ゆっくりムービーメーカー4の定義ファイルをVBAで編集すること。
ゆっくりムービーメーカー4の定義ファイルはJSONになってて、
VBAではJSONが使えないから、誰かが組んだVBA-JSONを使うと
JSONがVBAのコレクションやディクショナリー(連想配列)で作られたデータになる。
そこなかで、セリフが定義されてるを連想配列を複製してセリフ書き換えてくてことをやってるんだけど、
VBAのSETて参照するだけで、その参照したものを上位の配列にaddしても、
参照先情報みたいなものがaddされるだけで、別メモリーの情報がaddされるわけじゃない。
ただ、試行錯誤していたら
一旦同じ連想配列をaddしたものを作って、
それをjsonにして、またそのjsonを連想配列に戻してやれば、
別メモリが割り当てられた連想配列が出来上がった。
そのあとは個別に要素を書き換えられる。
javascriptとかは
.配列.push({...Yukkuri[0]})
とかやれば行けたんだが、VBAは無理なのか。
859デフォルトの名無しさん (ワッチョイ cfda-sGmE)
2023/01/23(月) 00:40:24.32ID:g2a0jdgy0 こんどはjavaかw
できるならそっちでやれよ
できるならそっちでやれよ
860デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/23(月) 02:01:54.23ID:8zQTqYpQ0861デフォルトの名無しさん (アウアウウー Saa7-DmZS)
2023/01/23(月) 05:38:36.83ID:yam+YnrUa >Excelと販管ソフトに、個々に入力してるから安心
もし、この2つが異なった値なら、システムが破綻しているw
オリジナルは1つのみ!
そして、バックアップ用のコピーを持つべき!
もし、この2つが異なった値なら、システムが破綻しているw
オリジナルは1つのみ!
そして、バックアップ用のコピーを持つべき!
862861 (アウアウウー Saa7-DmZS)
2023/01/23(月) 05:45:42.29ID:yam+YnrUa 例えば、銀行のシステムでも、2つのオリジナルを持たない。
3人が同時入力して、多数決でオリジナルを決める
サーバーでもそう。偶数個のノードにしない。
1:1, 2:2 などの分断が起きて、どちらがオリジナルか判断できなくなる
必ず、奇数個で判断して、オリジナルを決める。
そして、オリジナルのバックアップ用のコピーを持つ
そうしないと、システムが破綻する
3人が同時入力して、多数決でオリジナルを決める
サーバーでもそう。偶数個のノードにしない。
1:1, 2:2 などの分断が起きて、どちらがオリジナルか判断できなくなる
必ず、奇数個で判断して、オリジナルを決める。
そして、オリジナルのバックアップ用のコピーを持つ
そうしないと、システムが破綻する
863デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/23(月) 05:47:16.87ID:7g54Dlndr >>861
知らんがな
システムの良い悪いの判定なんてお前らに求めて無い事を察しなさい
俺以外の社員含めて理不尽な事をやってるなと思いながら仕事をしてるんだから
70歳の引退予定の上司に言ってくれ
そいつがいなくなればスッキリさせる
知らんがな
システムの良い悪いの判定なんてお前らに求めて無い事を察しなさい
俺以外の社員含めて理不尽な事をやってるなと思いながら仕事をしてるんだから
70歳の引退予定の上司に言ってくれ
そいつがいなくなればスッキリさせる
864デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/23(月) 05:53:04.08ID:7g54Dlndr865デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/23(月) 06:43:46.30ID:iLyXDG2rH >>872さんはキーワードで所望の範囲指定はできたのでしょうか?
866デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/23(月) 06:47:14.18ID:7g54Dlndr >>872
答えな
答えな
867デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/23(月) 07:03:42.58ID:7g54Dlndr >>865
変数を定義して範囲の右下のキーワードを拾って
ActiveSheet.PageSetup.PrintArea =
のところにその定義した変数を入れてやるという理屈で合ってますよね?
後はフサフサでも分かるEXCEL VBAの本が到着してから勉強します
変数を定義して範囲の右下のキーワードを拾って
ActiveSheet.PageSetup.PrintArea =
のところにその定義した変数を入れてやるという理屈で合ってますよね?
後はフサフサでも分かるEXCEL VBAの本が到着してから勉強します
868デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/23(月) 07:11:24.85ID:iLyXDG2rH よかったです、がんばってください!
869デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/23(月) 08:50:43.95ID:rT2ytU3d0 >>858
> VBAのSETて参照するだけで、その参照したものを上位の配列にaddしても、
> 参照先情報みたいなものがaddされるだけで、別メモリーの情報がaddされるわけじゃない。
だから新規に作ってコピーしなよって書いたのに...
コードまで書いたのに無視するんならもうさじ投げるわ
> VBAのSETて参照するだけで、その参照したものを上位の配列にaddしても、
> 参照先情報みたいなものがaddされるだけで、別メモリーの情報がaddされるわけじゃない。
だから新規に作ってコピーしなよって書いたのに...
コードまで書いたのに無視するんならもうさじ投げるわ
870デフォルトの名無しさん (ワッチョイ bf3d-Sc6R)
2023/01/23(月) 09:10:22.34ID:+DM8uE5N0 >>869
新規に作るていっても、複雑な連想配列の塊をどうやって作る?
サンプルはたかだなNameとserifしかキーがないけど、
キーがいっぱいある構造のデーターをコード内でコピーするロジックを書くのは無理だと考える。
しかもその構造が動的だったらお手上げ。
新規に作るていっても、複雑な連想配列の塊をどうやって作る?
サンプルはたかだなNameとserifしかキーがないけど、
キーがいっぱいある構造のデーターをコード内でコピーするロジックを書くのは無理だと考える。
しかもその構造が動的だったらお手上げ。
871デフォルトの名無しさん (スッププ Sd1f-88l+)
2023/01/23(月) 09:18:38.98ID:0EjNvA6Wd 質問スレに回答してくる人は善意でやってるだけで最終的に自分で解決できないならあきらめろって話
872デフォルトの名無しさん (アウアウウー Saa7-WyxW)
2023/01/23(月) 09:32:51.14ID:QZVEgBP9a873デフォルトの名無しさん (スップ Sd1f-IfUZ)
2023/01/23(月) 09:42:01.99ID:q/YAUd9Kd マクロでやりたいなら行数が最大になるパターンで書式作っておいて、そこにデータ入力、不要な行の削除でそのまま印刷すればよくね?
874デフォルトの名無しさん (ワッチョイ bf3d-Sc6R)
2023/01/23(月) 09:55:52.06ID:+DM8uE5N0875デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 13:24:02.41ID:2y89VdvQ0 またVBAが壊れた。
プロシージャの中でオブジェクト変数に割り当てる
ワークシート名やクエリー・テーブル名を
日本語にしているのはマズい?
プロシージャの中でオブジェクト変数に割り当てる
ワークシート名やクエリー・テーブル名を
日本語にしているのはマズい?
876デフォルトの名無しさん (ワッチョイ 5349-j0by)
2023/01/23(月) 15:15:51.75ID:cuqAJLzI0 インターネットが壊れた
877デフォルトの名無しさん (ワッチョイ 7ff0-j5s0)
2023/01/23(月) 17:40:15.92ID:zqGzpVPE0 vbaが壊れるという表現が分からない
プログラムは組んだようにしか動かない
プログラムは組んだようにしか動かない
878デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 18:35:46.07ID:2y89VdvQ0 先週までは問題なく動いていたブックを開くと、
すぐExcelが落ちて回復が入ってしまい、
回復ブックを開くと、プロシージャがモジュールごと丸々なくなっていた。
ワークシートのクエリーやテーブル、計算式やグラフは壊れていなさそうで、
新たにモジュールを作り直して
バックアップを取っていたプロシージャの記述をそのまま貼り付けたら、
一応、VBAも動くようになった。
過去には新たなモジュールすら作れなくなったことも。
すぐExcelが落ちて回復が入ってしまい、
回復ブックを開くと、プロシージャがモジュールごと丸々なくなっていた。
ワークシートのクエリーやテーブル、計算式やグラフは壊れていなさそうで、
新たにモジュールを作り直して
バックアップを取っていたプロシージャの記述をそのまま貼り付けたら、
一応、VBAも動くようになった。
過去には新たなモジュールすら作れなくなったことも。
879デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 19:12:29.48ID:g2a0jdgy0 自力で解決した自慢ですね、わかります
880デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/23(月) 19:45:05.26ID:GmkrhCzJ0 過去に学んでこの際だからぜんぶ変えてしまおう またいつアプデ地獄に巻き込まれるか知れたもんじゃ無いし
https://qiita.com/Q11Q/items/7a9d4c89726cfaa7abd6
https://qiita.com/Q11Q/items/7a9d4c89726cfaa7abd6
881デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/23(月) 20:16:53.47ID:iLyXDG2rH 「VBAが消えてしまった!マクロが壊れて動かない!」
ってな感じで検索してみたら?
ってな感じで検索してみたら?
882デフォルトの名無しさん (ワッチョイ 332f-DmZS)
2023/01/23(月) 20:31:12.87ID:XEd9VR/30 ACCESSで、NLSの問題でカナ含むVBAモジュールが開けなくなるってのはあったな
883デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 21:06:30.67ID:2y89VdvQ0884デフォルトの名無しさん (ワッチョイ 6fda-A+LD)
2023/01/23(月) 21:23:58.29ID:7qHnsy280 確認したけど2212が最新で更新できなかった
885デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/23(月) 21:28:06.31ID:c8LJJic2H NAME?
886デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 21:37:36.60ID:2y89VdvQ0887デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/23(月) 21:54:37.35ID:c8LJJic2H888デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/23(月) 21:59:43.45ID:2y89VdvQ0889デフォルトの名無しさん (ワッチョイ d3ce-Jpma)
2023/01/24(火) 03:50:07.79ID:ID+MP23U0 ドイツのプログラマーが、Selenium、WebDriverを使わずにEdgeを直接制御するクラスを作ってるのを見つけた
試したらとりあえず動いたんで報告
https://www.codeproject.com/Tips/5307593/Automate-Chrome-Edge-using-VBA
動作テスト中にはまった点を書いておくと、裏でEdgeのアップデートチェックが走ってるとエラーが出て止まる
これだけ殺せば動く
taskkill /f /im msedge.exe
taskkill /f /im MicrosoftEdgeUpdate.exe
あと、Edgeの起動オプションを
--remote-debugging-pipe --disable-automation
に変えるとコマンドラインウィンドウが出なくなる
試したらとりあえず動いたんで報告
https://www.codeproject.com/Tips/5307593/Automate-Chrome-Edge-using-VBA
動作テスト中にはまった点を書いておくと、裏でEdgeのアップデートチェックが走ってるとエラーが出て止まる
これだけ殺せば動く
taskkill /f /im msedge.exe
taskkill /f /im MicrosoftEdgeUpdate.exe
あと、Edgeの起動オプションを
--remote-debugging-pipe --disable-automation
に変えるとコマンドラインウィンドウが出なくなる
890デフォルトの名無しさん (ワッチョイ cf01-hCjO)
2023/01/24(火) 14:18:41.94ID:kQQ7KETY0 Dim a As Long
Dim b As Short
Dim b As Short
891デフォルトの名無しさん (ワッチョイ cf01-hCjO)
2023/01/24(火) 14:22:05.82ID:kQQ7KETY0 Dim a As Single
Dim b As Double
Dim c As Triple
Dim b As Double
Dim c As Triple
892デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/24(火) 20:20:19.23ID:Fm53fhAfr フサVBAの本が届いた~
分からないとこはよろしく
分からないとこはよろしく
893デフォルトの名無しさん (ワッチョイ ff7c-RpYB)
2023/01/25(水) 00:33:41.40ID:E3f+ZKf20 >>889
どうしてわざわざEdgeをチョイスするのかと
どうしてわざわざEdgeをチョイスするのかと
894デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/25(水) 01:52:23.37ID:WwTOH1I60 Edgeと言いながらプロトコル的にchronium系共通だし
OSに元から入ってるEdgeならIE難民にはちょうどいいんじゃね
OSに元から入ってるEdgeならIE難民にはちょうどいいんじゃね
895デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/25(水) 11:18:39.60ID:PxGM72CY0 他社との業務連携用途とかだと他の選択肢が無かったりする
896デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/25(水) 11:41:19.68ID:qyEQLwkW0 自分にできないことを引き受けるから失敗する
897デフォルトの名無しさん (ワッチョイ 7ff0-j5s0)
2023/01/25(水) 14:14:51.65ID:uj/UrXzd0 できるだろうって思ってガンガン仕様変更されても
898デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/26(木) 07:02:58.95ID:QQqpl7Qdr 質問です
VBAを使ってこのスレの人にアンケートを取りたい
皆さんは文系ですか?理系ですか?
もともとプログラミング出来る人ですか?
それとも経理とか必要に迫られて覚えた方ですか?
VBAを使ってこのスレの人にアンケートを取りたい
皆さんは文系ですか?理系ですか?
もともとプログラミング出来る人ですか?
それとも経理とか必要に迫られて覚えた方ですか?
899デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/26(木) 07:44:32.02ID:im4j/4Ys0 >>898
マ板でやれ
マ板でやれ
900デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/26(木) 08:08:19.42ID:QQqpl7Qdr マ板って何?
包丁切れますか?
包丁切れますか?
901デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 08:12:22.27ID:jr7Apji9H 無意味なアンケート
902デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 08:14:59.84ID:jr7Apji9H 文字列の演算をエラーにする方法は無いでしょうか
Sub foo()
Str a
Str b
Str c
a = 1
b = 2
c = a + b
Debug.Print c
End Sub
Sub foo()
Str a
Str b
Str c
a = 1
b = 2
c = a + b
Debug.Print c
End Sub
903デフォルトの名無しさん (ワッチョイ a3e5-ZVkQ)
2023/01/26(木) 08:40:12.57ID:InTdWzkF0 c = a - b
904デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 08:47:05.40ID:jr7Apji9H905デフォルトの名無しさん (スプッッ Sd47-aTb4)
2023/01/26(木) 09:03:16.60ID:N0DN9EFmd 皆さんはお仕事何されてますか
事務をやって三年、仕事を楽にするために始めたExcelVBAは人並みに身についた気がしますが
ただの事務では給与が足りずプログラマに転向するには経験が浅いのです
事務をやって三年、仕事を楽にするために始めたExcelVBAは人並みに身についた気がしますが
ただの事務では給与が足りずプログラマに転向するには経験が浅いのです
906デフォルトの名無しさん (ワッチョイ ff02-qYbV)
2023/01/26(木) 09:11:16.84ID:NYppQtUx0 エクセルのvbaエディタ?がすごくつかいずらくて、
vsCodeでvbaが記述できるxvbaというツールを利用しようと試みています。
ですが、
エクセルで書かれたvbaの日本語文字が、vsCodeで読み込むと文字化けしてしまいます。
おそらく、エクセルの方のエディタがUTF-8ではないのかと思いますが。
このあたり、経験されているかた。どのように対処されていますでしょうか?
どうぞアドバイスください。
vsCodeでvbaが記述できるxvbaというツールを利用しようと試みています。
ですが、
エクセルで書かれたvbaの日本語文字が、vsCodeで読み込むと文字化けしてしまいます。
おそらく、エクセルの方のエディタがUTF-8ではないのかと思いますが。
このあたり、経験されているかた。どのように対処されていますでしょうか?
どうぞアドバイスください。
907デフォルトの名無しさん (ラクッペペ MM7f-qqxO)
2023/01/26(木) 09:44:15.86ID:eGur5fW5M >>906
よく分からんけど逆にVSCでCP932使えば良いのでは?
よく分からんけど逆にVSCでCP932使えば良いのでは?
908デフォルトの名無しさん (スップ Sd1f-88l+)
2023/01/26(木) 10:08:42.84ID:UvNszdC2d909デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/26(木) 10:40:51.75ID:im4j/4Ys0 > Str a
> Str b
> Str c
なんていう謎の言語はスレ違いかと
> Str b
> Str c
なんていう謎の言語はスレ違いかと
910デフォルトの名無しさん (スップ Sd1f-88l+)
2023/01/26(木) 11:00:07.24ID:UvNszdC2d >>905
スレ違いです
スレ違いです
911デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/26(木) 11:10:42.36ID:JQ22Y2sI0 >>905
転職なら早い方がいい、年齢が若ければ新しい職場にもすぐ慣れるだろうから
転職なら早い方がいい、年齢が若ければ新しい職場にもすぐ慣れるだろうから
912デフォルトの名無しさん (ブーイモ MM7f-PvGG)
2023/01/26(木) 12:32:00.38ID:Y5eC8vQ8M >>902
エラーにするってのがよくわからんが
個人的にはc=a+b以降をしたのようにする。
If vartype(a) = vbstring or vartype(b) = vbstring Then
Debug.print "エラー"
Else
c= a + b
Debug.print c
End If
End Sub
>>908
a=1 と直接書いてるけど本当は
a=どっかのセルの値にしたいんじゃね?
で、そのセルには数値以外が入ってる可能性があるから
文字列ならエラーにしたいんじゃないかと。
>>909
文字列に変換するstr関数を使いたかったんじゃね?
書き方間違えてるから謎の言語になってるけど。
エラーにするってのがよくわからんが
個人的にはc=a+b以降をしたのようにする。
If vartype(a) = vbstring or vartype(b) = vbstring Then
Debug.print "エラー"
Else
c= a + b
Debug.print c
End If
End Sub
>>908
a=1 と直接書いてるけど本当は
a=どっかのセルの値にしたいんじゃね?
で、そのセルには数値以外が入ってる可能性があるから
文字列ならエラーにしたいんじゃないかと。
>>909
文字列に変換するstr関数を使いたかったんじゃね?
書き方間違えてるから謎の言語になってるけど。
913デフォルトの名無しさん (ワッチョイ ff02-qYbV)
2023/01/26(木) 12:41:55.63ID:NYppQtUx0 Transposeで作る配列の
一番最初の要素の添字は0じゃなくて、1であってます?
一番最初の要素の添字は0じゃなくて、1であってます?
914デフォルトの名無しさん (ワッチョイ d3ce-Jpma)
2023/01/26(木) 12:53:54.77ID:XU6i0xq00 >>902
(1)たとえセルの書式が文字列でも
(2)数字っぽい内容だと
(3)勝手に数値型に変換されてしまう
https://i.imgur.com/0xrxf44.png
何がやりたいのか、ぼかさずに具体的に説明してくれないと無理
(1)たとえセルの書式が文字列でも
(2)数字っぽい内容だと
(3)勝手に数値型に変換されてしまう
https://i.imgur.com/0xrxf44.png
何がやりたいのか、ぼかさずに具体的に説明してくれないと無理
915デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 12:55:07.08ID:jr7Apji9H916デフォルトの名無しさん (オッペケ Src7-CBlj)
2023/01/26(木) 13:02:48.18ID:bIyafktir >>915
それなら素直にlongで宣言するべきでしょ
変数名間違えた時の保険って、紛らわし変数名にするなって話だし
変数名間違えたときのための保険って言い出したら何も出来ないじゃん
じゃあその「変数名間違ってたときの確認のためのコードの」変数名が間違ってたらどうするの?
その確認のための変数名確認のためのコードをつけるのか?
それが間違ってたら?
確認のための変数名確認のための変数名確認のためのコードをやるの?
って話になる
それなら素直にlongで宣言するべきでしょ
変数名間違えた時の保険って、紛らわし変数名にするなって話だし
変数名間違えたときのための保険って言い出したら何も出来ないじゃん
じゃあその「変数名間違ってたときの確認のためのコードの」変数名が間違ってたらどうするの?
その確認のための変数名確認のためのコードをつけるのか?
それが間違ってたら?
確認のための変数名確認のための変数名確認のためのコードをやるの?
って話になる
917デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 13:11:07.62ID:jr7Apji9H >>916
逆で、文字列を数値として使ってしまった場合に検出したい
単にタイポ時の保険としてエラーが起こってほしいってだけだよ
vbaに無いなら仕方ない、そういう言語なんだなってだけで
別にそこには期待しないよ
逆で、文字列を数値として使ってしまった場合に検出したい
単にタイポ時の保険としてエラーが起こってほしいってだけだよ
vbaに無いなら仕方ない、そういう言語なんだなってだけで
別にそこには期待しないよ
918デフォルトの名無しさん (スップ Sd1f-88l+)
2023/01/26(木) 13:21:15.99ID:UvNszdC2d 少し上にいた大量にレスしてた奴みたいなおかしな質問者もいるし
適当に質問しても回答者が頑張ってくれるだろみたいな考えの質問者が多すぎなんだよ
適当に質問しても回答者が頑張ってくれるだろみたいな考えの質問者が多すぎなんだよ
919デフォルトの名無しさん (ワッチョイ d3ce-Jpma)
2023/01/26(木) 13:31:14.65ID:XU6i0xq00920913 (ワッチョイ ff02-qYbV)
2023/01/26(木) 13:32:06.85ID:NYppQtUx0921デフォルトの名無しさん (オッペケ Src7-CBlj)
2023/01/26(木) 13:35:53.75ID:bIyafktir >>917
あのさぁ、自分の説明が下手くそなくせにできないのは他人のせい、言語のせいにするのはよくないぞ
単にタイプミスって言っても自分がコード書くときにミスしないようにしたいのか、使う際にinputBox等で入力させるときにミスをなくしたいのかで全然違うだろ
エスパーじゃないんだから質問するならもっと具体的にしろよ
あのさぁ、自分の説明が下手くそなくせにできないのは他人のせい、言語のせいにするのはよくないぞ
単にタイプミスって言っても自分がコード書くときにミスしないようにしたいのか、使う際にinputBox等で入力させるときにミスをなくしたいのかで全然違うだろ
エスパーじゃないんだから質問するならもっと具体的にしろよ
922デフォルトの名無しさん (ワッチョイ d3ce-Jpma)
2023/01/26(木) 13:39:36.95ID:XU6i0xq00 >>920
ワークシートが1行目スタートだから
ワークシートが1行目スタートだから
923デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 14:28:02.25ID:jr7Apji9H >>921
いやinputboxなら全部文字列だろ
いやinputboxなら全部文字列だろ
924デフォルトの名無しさん (スップ Sd1f-88l+)
2023/01/26(木) 14:50:16.50ID:UvNszdC2d ExcelVBAは型に対する考慮が緩いから正直期待にそえる回答はないと思うよ
例えば変数名の先頭に型を付与するようなルール決めてもタイプミスって言葉で許されるなら破綻するだけだしね
例えば変数名の先頭に型を付与するようなルール決めてもタイプミスって言葉で許されるなら破綻するだけだしね
925デフォルトの名無しさん (オッペケ Src7-CBlj)
2023/01/26(木) 14:52:16.71ID:bIyafktir >>923
だから、最後までちゃんとかけや
それはinputBoxを格納する変数の話だろ
そんな話はしてないわ
色々な具体例があって様々な解決策があるのに、なんにも具体的な話を出さずに抽象的に話しして、一部に対してだけ反論してお前は馬鹿か?
だから、最後までちゃんとかけや
それはinputBoxを格納する変数の話だろ
そんな話はしてないわ
色々な具体例があって様々な解決策があるのに、なんにも具体的な話を出さずに抽象的に話しして、一部に対してだけ反論してお前は馬鹿か?
926デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 14:56:29.20ID:jr7Apji9H927デフォルトの名無しさん (オッペケ Src7-CBlj)
2023/01/26(木) 14:58:44.32ID:bIyafktir つーか
「単純にコードのミスを検出したいだけなんです
変数名を間違えた場合の保険程度のつもりなんです」
本当にこれだけだったら先頭にOption Explicitつけて似たような変数宣言するな、で終わる話だよな
さすがにOption Explicitをつけてない人はいないだろうからそんな超初歩的な事はありえないと思ってるけど
「単純にコードのミスを検出したいだけなんです
変数名を間違えた場合の保険程度のつもりなんです」
本当にこれだけだったら先頭にOption Explicitつけて似たような変数宣言するな、で終わる話だよな
さすがにOption Explicitをつけてない人はいないだろうからそんな超初歩的な事はありえないと思ってるけど
928デフォルトの名無しさん (オッペケ Src7-CBlj)
2023/01/26(木) 15:12:07.01ID:bIyafktir929デフォルトの名無しさん (スッップ Sd1f-RQPf)
2023/01/26(木) 15:26:02.63ID:PKxWUOv2d 例の零細企業の馬鹿社員だろ
930デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 15:51:08.82ID:jr7Apji9H >>928
結局回答できない無能で草
結局回答できない無能で草
931デフォルトの名無しさん (スッップ Sd1f-RQPf)
2023/01/26(木) 15:55:50.96ID:41WP6aJtd やっぱり
こういうのを相手にするのがそもそもの間違い
こういうのを相手にするのがそもそもの間違い
932デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/26(木) 16:26:35.24ID:QQqpl7Qdr >>929
ん?呼んだ?
ん?呼んだ?
933デフォルトの名無しさん (スプッッ Sd47-aTb4)
2023/01/26(木) 16:54:33.47ID:N0DN9EFmd IF Not Isnumeric( a + b ) then c = a + b
とか
c = a & b
とかの雑魚コードでも教えておけばよかったのに
とか
c = a & b
とかの雑魚コードでも教えておけばよかったのに
934デフォルトの名無しさん (ラクッペペ MM7f-ZVkQ)
2023/01/26(木) 17:03:23.50ID:UDgAljjqM a = 1 の暗黙の型変換でエラーにしたいならそう言えよ
935デフォルトの名無しさん (ワッチョイ cfda-88l+)
2023/01/26(木) 18:24:03.88ID:JQ22Y2sI0 >>928
なれると初心者の質問だって見抜けるようになるよ
なれると初心者の質問だって見抜けるようになるよ
936デフォルトの名無しさん (JP 0Hff-88l+)
2023/01/26(木) 18:44:31.80ID:jr7Apji9H 荒れすぎだろ
どうなってんだよ
どうなってんだよ
937デフォルトの名無しさん (スップ Sd1f-88l+)
2023/01/26(木) 19:02:58.68ID:UvNszdC2d 質問が雑だと回答する側は色々考えるからこういう感じになるんだよ
だから質問する側もちゃんと回答しやすいようにすればいいだけ
だから質問する側もちゃんと回答しやすいようにすればいいだけ
938デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/26(木) 19:07:48.41ID:lq03KzKz0 そんなの期待するだけ無駄
そっとスレを閉じればいいのよ
そっとスレを閉じればいいのよ
939デフォルトの名無しさん (ワンミングク MM9f-gSeq)
2023/01/26(木) 19:12:37.90ID:CIVBTG9eM 零細企業のアホみたいな奴に答えてやろうなんて思うから荒れる
助けてで始まる質問する奴や、頭が悪いのに自分はできるみたいに思っておかしな質問をする奴は無視するのが一番
助けてで始まる質問する奴や、頭が悪いのに自分はできるみたいに思っておかしな質問をする奴は無視するのが一番
940デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/26(木) 19:15:21.07ID:LFv4Wa39r てゆーかそんな事を言うやつがわざわざこんなとこ見るなよ
教えてやってるみたいな立ち位置でさw
教えてやってるみたいな立ち位置でさw
941デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/26(木) 19:17:05.41ID:fSHWBRl+H 変数が文字列ならエラーにすれば?
942デフォルトの名無しさん (ワッチョイ 0301-WyxW)
2023/01/26(木) 19:26:25.23ID:im4j/4Ys0 そもそも
> Str a
> Str b
> Str c
の時点で実際に動かしてないんだから相手する価値なし
> Str a
> Str b
> Str c
の時点で実際に動かしてないんだから相手する価値なし
943デフォルトの名無しさん (スッププ Sd1f-88l+)
2023/01/26(木) 20:00:51.10ID:BIrRkdsHd944デフォルトの名無しさん (ワッチョイ 6f19-1gWY)
2023/01/26(木) 20:10:49.10ID:omfXV+oL0 キチンとString型を宣言しているなら確か
+は文字列連結の意味になるんじゃなかったっけ?
であれば前のレスで言ってた人がいたけど
- 0とか*0とかすればエラーになるんじゃないかな?
逆にSQLとかで文字列を数値で扱いたい場合は
*0とか-0とかにすると暗黙の変換で数値にしてくれる。
VBAでは型宣言は絶対だけど、
VBSみたいにスカラー変数を使う場合は
VBAみたいな型指定の型宣言が出来ないんで少し戸惑うかもね。
でもここはVBAのスレなので、
基本的に型宣言は絶対だと思っていいと思うよ。
+は文字列連結の意味になるんじゃなかったっけ?
であれば前のレスで言ってた人がいたけど
- 0とか*0とかすればエラーになるんじゃないかな?
逆にSQLとかで文字列を数値で扱いたい場合は
*0とか-0とかにすると暗黙の変換で数値にしてくれる。
VBAでは型宣言は絶対だけど、
VBSみたいにスカラー変数を使う場合は
VBAみたいな型指定の型宣言が出来ないんで少し戸惑うかもね。
でもここはVBAのスレなので、
基本的に型宣言は絶対だと思っていいと思うよ。
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 [蚤の市★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ [Hitzeschleier★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 石破に後ろから鉄砲やめろ!て言う人いるじゃん?石破政権時の石破降ろしには後ろ撃ちと批判しなかったのはなぜ [472617201]
- はいはい
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【悲報】麻生太郎さん、オムツをしていた。晋さん…ここにいたんだね… [731544683]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★5
