Excel VBA 質問スレ Part58

■ このスレッドは過去ログ倉庫に格納されています
2018/11/19(月) 06:47:24.99ID:Qq88xGOU
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part57
https://mevius.5ch.net/test/read.cgi/tech/1536583359/
2019/01/31(木) 12:52:33.19ID:xxTKFGAk
>>752
VBAでやろうとすれば自前で多倍長整数演算を実装する必要があり、開発とテストで誇張抜きで工数数百倍かかるよ
754デフォルトの名無しさん
垢版 |
2019/01/31(木) 16:39:19.38ID:aH0rCOCG
>LONGLONG

>100桁の整数

あほですか
2019/01/31(木) 19:07:59.37ID:B2lY3/DV
>>753
だからさ、まずお前の結論としてVBAじゃ無理というのがあって、それからだろPowerShell云々は。

で、本当のところ、無理かどうかは分からんが、仮に無理だとしてどうしてPowerShellになるんだ?
別に他でも良いわけだろ。
2019/01/31(木) 19:08:45.03ID:2eoSLZbf
>IsNumeric関数を使おうかと思うのですが

On Error Resume Next
数字じゃないとエラーが起きるような処理
エラーが起きたら終了みたいな
On Error Goto 0
2019/01/31(木) 19:28:01.37ID:ivIRiWY+
>>743
>>IsNumeric関数を使おうかと思うのですが、上限は文字列として扱える上限まで行けるんでしょうか?

ちょっと質問内容が良く分からないのですが、

・そもそもLongLong型(64bit=8バイト)の話では無かったのですか?100桁とは?
・ヘルプに有る通り文字列型の上限は2GBですが(以下同様)

仮に2GBの判定が出来たとしても、その膨大な時間を使うよりは例外処理してしまった方が早いと思います。
2019/01/31(木) 19:28:54.99ID:kne0z8/A
>>743
よくそんな仕事請け負ったな、依頼者に騙されてないか?
2019/01/31(木) 19:31:09.20ID:ivIRiWY+
お話を聞いてる限り、恐らく元々の依頼内容も勘違いされている部分があると思うので、
差し支えない範囲で教えて貰えれば根本的な部分に回答が出来るかもしれません。
2019/01/31(木) 19:31:49.59ID:ivIRiWY+
みんな同じ様な事言っててワロタ
2019/01/31(木) 21:50:14.70ID:xxTKFGAk
>>755
別にPowerShellでなくてもいいけど、標準のWindowsだけで特に追加で何か入れることなく使えて
多倍長演算もサポートしててVBAから簡単に呼べるのなんて他にある?
762デフォルトの名無しさん
垢版 |
2019/02/01(金) 01:19:40.80ID:UQQ7ub0a
>>757
そちらの質問は興味本位です。与えられた数値に見える文字列を信じるなら不要です
それと、LongLong型で済むなら配列はいりませんし

やりたいことは、例えば「100桁同士の四則演算をする」というようなことです。
コンパイラのインストールをセキュリティポリシーで禁止されているので
困っているのですよ。

>>759
そちらは時間があれば勉強してみようかと
ただ、それで実装すると引き継ぐときに後の人が大変そうですが
2019/02/01(金) 02:51:10.44ID:Jdk/7rOF
100桁ぐらいなら、Ruby でも演算できる
2019/02/01(金) 03:10:10.30ID:HKJPuzL8
>>762
あまりに馬鹿過ぎて話しにならん
どうして馬鹿と言われるか理解できるか?
2019/02/01(金) 04:03:45.69ID:bJm3iiDn
>>750
初回起動で設定しても元のブックをコピーし直せば何度でも使える
何の条件で期間指定したいのかわからないけど
パソコン限定ならレジストリでも使うのかな
2019/02/01(金) 07:03:41.22ID:gp0X8o+d
>>743
言語の動作もわかっていないこんな奴に依頼するなんて。頼む方も頼む方。
2019/02/01(金) 07:18:07.26ID:76fUr+Yk
Excel VBAの質問スレだろ
質問も回答もする気無いならスルー出来んのか?
768デフォルトの名無しさん
垢版 |
2019/02/01(金) 07:44:04.79ID:eMw5OSNU
答えられない質問はとりあえず馬鹿にして勢いで乗り切る方針のプロさんw
バカwww
2019/02/01(金) 08:37:10.62ID:UEAxmDKm
ComboBoxで↓を押して表示されるリストの行数は固定でしょうか?
表示行数を増やす方法がありましたら、ご教授ください

よろしくお願いします
2019/02/01(金) 08:51:37.94ID:76fUr+Yk
>>765
Excelのレジストリ操作だと簡単なのはそのパソコンのユーザー毎の設定だな
無論APIを使えば何でもできるけどね
所詮はバーチャルマシンも考えればユーザー側も何でもできる
その程度と思って使うか ネットにDB持つかだな
2019/02/01(金) 08:51:40.44ID:8kRZ6Lw/
最近はexcel2010とVB.netで改元対応しています。
excelのイベント少ないなって思っているのですが、2016などの新しいのはイベントや関数などは増えているのでしょうか?
2019なんかはタブレット操作用のイベントもあったりするとかでしょうか?
2019/02/01(金) 09:05:53.38ID:qPCno0Ra
なんかすごいところだな
>>764とか上から目線ってかもう天から垂直に見下ろして魔法打ち込んでるレベルだな
しかも書き込んでる時間が深夜3:00とか超絶生活者
2019/02/01(金) 10:01:49.43ID:FlvBcwUR
763 名前:デフォルトの名無しさん[sage] 投稿日:2019/02/01(金) 02:51:10.44 ID:Jdk/7rOF
100桁ぐらいなら、Ruby でも演算できる


ゲラゲラゲラゲラゲラゲラ
2019/02/01(金) 10:50:03.45ID:3Ud/K8J0
>>773
計算するライブラリーが有るってことじゃないの
Rubyしらんが
2019/02/01(金) 10:54:24.80ID:rRNrmt+/
>>771
VBAはレガシー扱いだからMSのポリシー的に積極的な機能追加は不可
ちなみにVB.NETのWindowsフォームも既にレガシーで開発終了してる
2019/02/01(金) 10:55:12.36ID:3Ud/K8J0
>>773
計算できるライブラリーがあるだけじゃないの
どんな言語でも、4則演算程度なら作れるだろ
2019/02/01(金) 10:56:26.07ID:wTTD69jh
VBAだって超多倍長演算ライブラリぐらいネットに転がってんじゃない?
ちなLongLongで扱えるのは18桁まで、乗除算でオーバーフローを起こさないようにするなら半分以下の桁で使うのが無難
2019/02/01(金) 10:57:36.71ID:3Ud/K8J0
すまん、ダブって書き込みしても〜た
779デフォルトの名無しさん
垢版 |
2019/02/01(金) 15:50:46.63ID:eD54qyaY
VBAなんて低級言語を真剣にやってるバカ
言い訳は色々あるんだろうけどそろそろちゃんとしたのを覚える時期だよ
2019/02/01(金) 16:15:57.80ID:9mJigrZN
>>779
心が病んでるな、かわいそうに。
2019/02/01(金) 17:19:33.59ID:oMFegD+z
低級言語・高級言語の意味すら分かってないのって
かわいいな
2019/02/01(金) 18:56:31.92ID:dMBA0PwK
もしレベル的な意味合いで貶すなら下級または低俗じゃないかな
低級だと金額的な意味合いだからオフィス製品みたいな安い言語使いやがって、という意味か
高い開発言語ってなんだろ
2019/02/01(金) 19:14:07.93ID:OpRhgdeW
>>779
お前の馬鹿頭ではアセンブラは何言語になっているんだ?
2019/02/01(金) 19:21:01.59ID:69So7CMb
どんな状況で100桁の計算が必要なんだよwwwwww
弾道計算でもするのかよwwwwww

どうしても必要だとして、
16777216を、256×256×256で表現するRGBみたいに、
分離して計算できないの?
2019/02/01(金) 19:48:56.75ID:oMFegD+z
桁数じゃあなくて精度の問題だろ
何桁精度が必要か
全部なら分けて計算するんだろ
整数限定かよ
2019/02/01(金) 20:43:56.48ID:ldeBmXAI
>>762
Mid関数がString型の限界である20 億文字(桁)まで対応出来るようなので、限界まで判定可能です。
実際に試そうと思ったのですが、1000万桁あたりからエラーは起きないものの処理が終わる気配がありませんでした。
また、311桁目から判定がFalseとなり正常に判定できませんので注意してください。
787デフォルトの名無しさん
垢版 |
2019/02/01(金) 21:29:30.54ID:6BaLLxbK
>>772
腹筋イタイwww
2019/02/01(金) 21:35:52.61ID:yy1ts1sJ
>>782
>低級だと金額的な意味合いだから
は?????????
789デフォルトの名無しさん
垢版 |
2019/02/01(金) 23:01:14.33ID:UXXgl86T
>>764
中学生かそれ以下の質問だな
790デフォルトの名無しさん
垢版 |
2019/02/01(金) 23:02:01.30ID:UXXgl86T
>>769
64kbの壁でぐぐれ
2019/02/02(土) 02:17:14.50ID:nzR6xkI9
>>786
こんな馬鹿に人月とかで請求されたらブチ切れる
馬鹿だから時間を食うだけだろ
2019/02/02(土) 03:55:47.52ID:XBSRuYVd
機械よりか人間よりかで低いか高いか
2019/02/02(土) 06:09:03.94ID:jIzNjlQE
>743
何桁通るかは別として、IsNumericって例えば"1.2e3"とか"\30"とかでもTrue返すんだけど、それはいいの?
2019/02/02(土) 09:04:05.51ID:jIzNjlQE
あと"&hDEADBEEF"とか"&o77"とか
ついでに全角/半角が混在しててもTrueだし、文字列の前後にスペースタブ改行なんかが入っててもTrueだね
2019/02/02(土) 11:42:55.97ID:QW9QiURg
declareのシグニチャー間違えたらフリーズするんだけどdllから型情報取れないの?????
2019/02/02(土) 13:15:40.31ID:C6ef9W0S
>>795
調べりゃ出てくるんだからそんな面倒なことしなくてもよくね?
2019/02/02(土) 19:22:50.38ID:VsnxbMPu
そんなに桁数使うことあるの?
桁数ならアセンブラなら言語的な制限がないから
C++のインラインアセンブラで作ってDLL化しておけばいいんじゃない?
ま、あまり桁数が多い場合は外に出しても数字として扱えないだろうから
文字列として扱うしかないけど
2019/02/02(土) 20:08:24.01ID:mZCa7M9L
>>797
アホか
CPUがネイティブで扱える桁数は決まっている
2019/02/02(土) 21:45:51.31ID:l+0aiRcv
8bitCPUがネイティブで扱える電卓は決まっている
2019/02/02(土) 22:18:38.36ID:Ep74GMaU
昔々、256桁の四則演算ルーチン組んだことある。アセンブラで。
今なら VBAでも同じくらいの速度で動くんだろうな…
2019/02/02(土) 22:40:50.50ID:nzR6xkI9
このスレで質問する薄ら馬鹿に匹敵する馬鹿ばっか
Python3使えよというまともな提案が未だなし
2019/02/02(土) 22:57:11.62ID:IQGxMEya
801<カマッテー、カマッテー、ボクチャンヲ カマッテー
2019/02/02(土) 23:30:42.83ID:32vETS5N
シート1をアクティブにしてWEBクエリで取り込んだあとReplaceで置換したいのですが
うまくいきません。なぜかF8でステップ実行したらできるのですが、普通に実行すると置換されません。
何がいけないんでしょうか。
2019/02/03(日) 00:12:07.90ID:1X9tFGjy
>>798
アホか桁繰り上げ繰り下げのフラグを知らんのか?
むかーしのZ80や6502だってメモリの許す限り
際限なく計算出来るわ
2019/02/03(日) 00:35:40.02ID:1X9tFGjy
そもそもそう言った計算方法を
知らなかったとしても
8bitや16bitしか演算に扱えなかった時代に
テレビゲームとかで255や65535を超える
スコアが表示されていたことを思い出せば
普通は人をアホ呼ばわりすることを
書き込む前に気付きそうなもんだけどな
2019/02/03(日) 06:14:34.05ID:eVzJd4zP
そういう処理をアセンブラでしかできないと思ってるからアホだって言われるんだよ
2019/02/03(日) 06:43:05.61ID:Q6V8DKqV
多少非効率になるけどたいていの言語で多倍長演算はできる
なので
> 桁数ならアセンブラなら言語的な制限がないから
とか意味わからん、って話だろ
2019/02/03(日) 06:57:12.02ID:1X9tFGjy
>>806
いや>>798はあからさまに
「CPUがネイティブで扱える桁数は決まっている」からって言ってるんだが?

それに俺は実現方法の一例を挙げただけだと思うが「アセンブラでしか出来ない」なんて
どこに書いてあるんだ?

もっとも、桁数制限のない計算を
もっと効率よくVBAで使用する方法が
あるのであればそれはそれで聞いてみたいけど
2019/02/03(日) 07:06:03.78ID:1X9tFGjy
>>807
効率を考えなければ別にC++の時点で出来るんだよ
なんでC++からインラインアセンブラを
使用するような話をしていると思う?
2019/02/03(日) 07:34:17.85ID:Q6V8DKqV
>>808-809
>>797を見てからレスしなよ…
2019/02/03(日) 08:52:19.94ID:kk/DtOkp
>>805
まあ、単位が100点だと、後ろの00は飾りだと思うけどな。
2019/02/03(日) 09:10:44.36ID:eVzJd4zP
>>808-809
なに効率とか後付けしてんだアホ

あと「コンパイラのインストールをセキュリティポリシーで禁止されている」って書いてあるのを読めてないのもアホ
813デフォルトの名無しさん
垢版 |
2019/02/03(日) 09:36:56.46ID:C7VVL/VH
ゼビウス1000万点超えは9999990で表示が止まるがゲーム続行
2019/02/03(日) 09:40:40.04ID:J1QLe6/n
足し算ならExcelでも実用レベルで作れるわ
2019/02/03(日) 10:00:11.19ID:tEc8TngX
>>812
> あと「コンパイラのインストールをセキュリティポリシーで禁止されている」って書いてあるのを読めてないのもアホ
今時C#とかVB.NETのコンパイラなんてインストールいらんぞ
情弱なのかXPでドヤってるのかは知らんけどw
2019/02/03(日) 10:19:47.32ID:vrXjtSxX
>>812
今のWindowsはインストールしなくてもC#コンパイラが最初から入ってる
2019/02/03(日) 10:39:36.74ID:eVzJd4zP
誰がC#とかVBの話してんだよアホども
2019/02/03(日) 11:12:27.82ID:tEc8TngX
>>817
コンパイラの話な
恥ずかしいからもう出てくんなw
819デフォルトの名無しさん
垢版 |
2019/02/03(日) 11:42:00.66ID:o6ig8vkN
>>818←恥を知らないプロさんwww
2019/02/03(日) 12:05:01.97ID:Q6V8DKqV
ダサw
2019/02/03(日) 15:02:23.40ID:kTgfWuu8
>>817
日本語に不自由か真性のバカ発見
2019/02/03(日) 15:51:29.62ID:xJhhUajw
html?のようなパラメーターのあるURLから ActiveSheet.QueryTables.Add を使って
WEBクエリで取り込むにはどうすればいいでしょうか?
一部変数を使うのですが文字列を結合するやり方ではうまくいきません。
2019/02/03(日) 16:02:39.05ID:vrXjtSxX
>>822
認証やクッキーが必要か、URLが間違ってるか、エンコードが必要か、原因は色々考えられる
824デフォルトの名無しさん
垢版 |
2019/02/03(日) 22:56:23.72ID:xJhhUajw
>>823
エンコードが原因みたいです。
&や=は使えないのですね。
返信ありがとうございました。
825デフォルトの名無しさん
垢版 |
2019/02/03(日) 23:53:48.67ID:OgrV47La
以下のアプリを作って欲しい

画面上でオンスクリーンかなんでもいいので、文字が瞬間的に現れて消えるアプリ。
1つのばりばらに並んだ文字につき!約1秒から0.05秒の間で調節できるようにしたい。

文字のデータベースは、同ブック内の別シートにて管理するものとする。
2019/02/03(日) 23:59:07.80ID:I0mCFuyH
>>825
死ね
827デフォルトの名無しさん
垢版 |
2019/02/04(月) 03:07:11.70ID:ZoDPv0KA
>>825
ExcelとかVBAじゃなくていいなら作るけど
2019/02/04(月) 06:46:04.48ID:d8a/a/xM
>>825
作るのは他の要件が有るだろうから他の人に
Excelのシートから枠線を消して全画面表示
ランダムに出す文字はワードアートを挿入したり
消すだけでいいだろ
2019/02/04(月) 07:25:45.63ID:d8a/a/xM
>>824
>&や=は使えないのですね。
エンコードでは使えるだろ、デコードはデコードする
文字の法則があるけど
ちなみに、エンコードやデコードは必要なの?
2019/02/04(月) 07:29:54.23ID:d8a/a/xM
このスレもワッチョイ入れたら?
831デフォルトの名無しさん
垢版 |
2019/02/04(月) 08:04:31.54ID:q/1gUcq+
>>827
じゃあ、Androidアプリでいいから、つくってフリーでGoogleストアにだせる?
2019/02/04(月) 08:24:31.69ID:zwEJkqhi
ルパン三世?
2019/02/04(月) 09:55:11.03ID:fGXzCPh9
>>831
Androidアプリ関係ないだろ
VB C#なんかでCVS形式などでパラメーターで受けて表示するプログラムなら簡単に作れるってことだろ
2019/02/04(月) 10:53:03.12ID:Kbv/gmVc
フラッシュ暗算みたいなやつか?
835デフォルトの名無しさん
垢版 |
2019/02/04(月) 12:14:30.52ID:q/1gUcq+
>>834
イエス。言語を選ばないとやっぱり難しい?
2019/02/04(月) 12:40:18.01ID:OuHrukdw
>>835
別にVBAでも簡単だと思うけど作成依頼だったら費用が発生するのが普通だと思うんだが。

0.05秒ってのがどうかだね。
837デフォルトの名無しさん
垢版 |
2019/02/04(月) 12:58:23.32ID:+5141PVg
費用が発生しとる作成依頼なんか見たことないわw
何を言っとるんやこのバカw
2019/02/04(月) 13:05:48.06ID:aEyGOWy8
>>835
死ねよ
2019/02/04(月) 14:32:52.57ID:d8a/a/xM
>>835
別に難しくない
0.05秒を気にしている人もいるが、正確な時間を取得することは出来る
ワードアートの作成・削除の時間を気にしているなら、表示・非表示の切り替えで
対応すればよいだけ
全画面表示・タイトルバー・スクロールバー・シートタブの非表示
ボーダーも0に設定すれば良いだけ
2019/02/04(月) 14:47:47.78ID:Mgc+6WQD
取得できても(人間の反応速度と比較して無視できる程度の誤差で)正確に表示するのはExcelでは厳しいでしょ
ちらつきまくるよ
2019/02/04(月) 15:08:11.96ID:d8a/a/xM
まあ、出来ない人間には出来ないだけ、書き込む必要もないのに
やり方なんていくらでもある
2019/02/04(月) 17:01:02.28ID:fGXzCPh9
細かいこといわなければパワポでVBAで十分だろ
2019/02/04(月) 18:26:41.76ID:OuHrukdw
>>841
やってから言ってんの?
俺はまだ、やってないから気にしただけなんだが。

ちなみに、俺はVBAのUserFormもシートも使うつもりは無い。
スピードも速いとは思うが、何ぶん計測したことは無いからね。
2019/02/04(月) 18:38:32.34ID:OuHrukdw
>>837
自分は何もせずに依頼すれば出てくるというのは虫が良いだろという意味なんだが。
2019/02/04(月) 18:51:55.31ID:VG0XR/Gw
でも結局誰も作ってなくて草
2019/02/04(月) 18:53:45.79ID:fefAq5Di
まあ 出来の悪い奴は文句も多いからな
2019/02/04(月) 19:28:29.36ID:iZ37iel0
CSS アニメで作れば?
848デフォルトの名無しさん
垢版 |
2019/02/04(月) 19:59:53.09ID:q/1gUcq+
>>845
1に作成依頼受け付けますと書いてあったから期待して依頼したが、馬鹿を見たよ
2019/02/04(月) 20:02:20.97ID:aEyGOWy8
>>848
じゃあ、
「ExcelのVBAに関する質問スレです」も守れや。死ねよ。
850デフォルトの名無しさん
垢版 |
2019/02/04(月) 20:08:32.00ID:5NG821Xc
>>848
分かったよ
受けるよ
2019/02/04(月) 20:19:41.54ID:R+dJYoTm
vbaやってるサラリーって何故かマッチョ多くね?
2019/02/04(月) 20:54:17.47ID:VG0XR/Gw
>>848
https://www.axfc.net/u/3957636
初学者が作ってやったぞwほらよw
まぁもっと良いの>>850が作ってくれるやろw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況