Excel VBA 質問スレ Part78

レス数が950を超えています。1000を超えると書き込みができなくなります。
2022/10/30(日) 13:43:16.31ID:6yf2E1Gz0
!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
2023/01/23(月) 06:47:14.18ID:7g54Dlndr
>>872
答えな
2023/01/23(月) 07:03:42.58ID:7g54Dlndr
>>865

変数を定義して範囲の右下のキーワードを拾って

ActiveSheet.PageSetup.PrintArea =

のところにその定義した変数を入れてやるという理屈で合ってますよね?

後はフサフサでも分かるEXCEL VBAの本が到着してから勉強します
2023/01/23(月) 07:11:24.85ID:iLyXDG2rH
よかったです、がんばってください!
2023/01/23(月) 08:50:43.95ID:rT2ytU3d0
>>858
> VBAのSETて参照するだけで、その参照したものを上位の配列にaddしても、
> 参照先情報みたいなものがaddされるだけで、別メモリーの情報がaddされるわけじゃない。
だから新規に作ってコピーしなよって書いたのに...
コードまで書いたのに無視するんならもうさじ投げるわ
2023/01/23(月) 09:10:22.34ID:+DM8uE5N0
>>869
新規に作るていっても、複雑な連想配列の塊をどうやって作る?
サンプルはたかだなNameとserifしかキーがないけど、
キーがいっぱいある構造のデーターをコード内でコピーするロジックを書くのは無理だと考える。
しかもその構造が動的だったらお手上げ。
2023/01/23(月) 09:18:38.98ID:0EjNvA6Wd
質問スレに回答してくる人は善意でやってるだけで最終的に自分で解決できないならあきらめろって話
2023/01/23(月) 09:32:51.14ID:QZVEgBP9a
>>870
> キーがいっぱいある構造のデーターをコード内でコピーするロジックを書くのは無理だと考える。
> しかもその構造が動的だったらお手上げ。
お前にはお手上げなだけだろw
>>854 に "Name" とか "serif" なんて書いてない、キーを動的に取得してコピーしてることすら読み取れないレベルなら諦めたほうがいいと思うよ
2023/01/23(月) 09:42:01.99ID:q/YAUd9Kd
マクロでやりたいなら行数が最大になるパターンで書式作っておいて、そこにデータ入力、不要な行の削除でそのまま印刷すればよくね?
2023/01/23(月) 09:55:52.06ID:+DM8uE5N0
>>872
すまんできたわ。
ありがとう。
Set Yukkuri1 = New Dictionary
を書く位置を間違えてた
2023/01/23(月) 13:24:02.41ID:2y89VdvQ0
またVBAが壊れた。
プロシージャの中でオブジェクト変数に割り当てる
ワークシート名やクエリー・テーブル名を
日本語にしているのはマズい?
2023/01/23(月) 15:15:51.75ID:cuqAJLzI0
インターネットが壊れた
2023/01/23(月) 17:40:15.92ID:zqGzpVPE0
vbaが壊れるという表現が分からない
プログラムは組んだようにしか動かない
2023/01/23(月) 18:35:46.07ID:2y89VdvQ0
先週までは問題なく動いていたブックを開くと、
すぐExcelが落ちて回復が入ってしまい、
回復ブックを開くと、プロシージャがモジュールごと丸々なくなっていた。

ワークシートのクエリーやテーブル、計算式やグラフは壊れていなさそうで、
新たにモジュールを作り直して
バックアップを取っていたプロシージャの記述をそのまま貼り付けたら、
一応、VBAも動くようになった。

過去には新たなモジュールすら作れなくなったことも。
2023/01/23(月) 19:12:29.48ID:g2a0jdgy0
自力で解決した自慢ですね、わかります
2023/01/23(月) 19:45:05.26ID:GmkrhCzJ0
過去に学んでこの際だからぜんぶ変えてしまおう またいつアプデ地獄に巻き込まれるか知れたもんじゃ無いし
https://qiita.com/Q11Q/items/7a9d4c89726cfaa7abd6
2023/01/23(月) 20:16:53.47ID:iLyXDG2rH
「VBAが消えてしまった!マクロが壊れて動かない!」
ってな感じで検索してみたら?
2023/01/23(月) 20:31:12.87ID:XEd9VR/30
ACCESSで、NLSの問題でカナ含むVBAモジュールが開けなくなるってのはあったな
2023/01/23(月) 21:06:30.67ID:2y89VdvQ0
>>881
ああ、そういえばIMAGE関数が家庭向けサブスクにも配布されたからと、
日曜日にExcelをバージョン2301に更新したんだった・・・
2023/01/23(月) 21:23:58.29ID:7qHnsy280
確認したけど2212が最新で更新できなかった
2023/01/23(月) 21:28:06.31ID:c8LJJic2H
NAME?
2023/01/23(月) 21:37:36.60ID:2y89VdvQ0
これが原因かどうかはまだ分からないけど。
https://i.imgur.com/49fEgC7.png

Office Insiderには参加していない。
2023/01/23(月) 21:54:37.35ID:c8LJJic2H
>>886
10年ぐらい前、変数を日本語名にしてると一切動かなくなるってバグがあったな
確かACCESSだった
変数を日本語名にしても、あまりいい事はないと思う

>>878
あと、この方法はあまり良くない
一度壊れたブックは、内部的にゴミデータが残っている可能性がある
使いまわすと、そことバッティングする可能性がある
新規ファイルを作り、シートを一つずつコピー、vbaもテキスト単位でコピー、
といった感じで作り直した方が良い
めんどくさいけど、やっておいた方がいいよとは言っておく
2023/01/23(月) 21:59:43.45ID:2y89VdvQ0
>>887
> といった感じで作り直した方が良い

やっぱり・・・orz
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
に変えるとコマンドラインウィンドウが出なくなる
2023/01/24(火) 14:18:41.94ID:kQQ7KETY0
Dim a As Long
Dim b As Short
2023/01/24(火) 14:22:05.82ID:kQQ7KETY0
Dim a As Single
Dim b As Double
Dim c As Triple
2023/01/24(火) 20:20:19.23ID:Fm53fhAfr
フサVBAの本が届いた~
分からないとこはよろしく
2023/01/25(水) 00:33:41.40ID:E3f+ZKf20
>>889
どうしてわざわざEdgeをチョイスするのかと
2023/01/25(水) 01:52:23.37ID:WwTOH1I60
Edgeと言いながらプロトコル的にchronium系共通だし
OSに元から入ってるEdgeならIE難民にはちょうどいいんじゃね
2023/01/25(水) 11:18:39.60ID:PxGM72CY0
他社との業務連携用途とかだと他の選択肢が無かったりする
2023/01/25(水) 11:41:19.68ID:qyEQLwkW0
自分にできないことを引き受けるから失敗する
2023/01/25(水) 14:14:51.65ID:uj/UrXzd0
できるだろうって思ってガンガン仕様変更されても
2023/01/26(木) 07:02:58.95ID:QQqpl7Qdr
質問です

VBAを使ってこのスレの人にアンケートを取りたい

皆さんは文系ですか?理系ですか?
もともとプログラミング出来る人ですか?
それとも経理とか必要に迫られて覚えた方ですか?
2023/01/26(木) 07:44:32.02ID:im4j/4Ys0
>>898
マ板でやれ
2023/01/26(木) 08:08:19.42ID:QQqpl7Qdr
マ板って何?
包丁切れますか?
2023/01/26(木) 08:12:22.27ID:jr7Apji9H
無意味なアンケート
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
2023/01/26(木) 08:40:12.57ID:InTdWzkF0
c = a - b
2023/01/26(木) 08:47:05.40ID:jr7Apji9H
>>903
お、マイナスだとエラーになるんですね!
・・・ならんやないかーい
905デフォルトの名無しさん (スプッッ Sd47-aTb4)
垢版 |
2023/01/26(木) 09:03:16.60ID:N0DN9EFmd
皆さんはお仕事何されてますか
事務をやって三年、仕事を楽にするために始めたExcelVBAは人並みに身についた気がしますが
ただの事務では給与が足りずプログラマに転向するには経験が浅いのです
906デフォルトの名無しさん (ワッチョイ ff02-qYbV)
垢版 |
2023/01/26(木) 09:11:16.84ID:NYppQtUx0
エクセルのvbaエディタ?がすごくつかいずらくて、
vsCodeでvbaが記述できるxvbaというツールを利用しようと試みています。
ですが、
エクセルで書かれたvbaの日本語文字が、vsCodeで読み込むと文字化けしてしまいます。
おそらく、エクセルの方のエディタがUTF-8ではないのかと思いますが。
このあたり、経験されているかた。どのように対処されていますでしょうか?
どうぞアドバイスください。
2023/01/26(木) 09:44:15.86ID:eGur5fW5M
>>906
よく分からんけど逆にVSCでCP932使えば良いのでは?
2023/01/26(木) 10:08:42.84ID:UvNszdC2d
>>902
質問の意味が分からんけどそもそもabcをStringにしてるのはなぜ?
c = a + bに3と戻したいならc = Val(a) + Val(b)とでもすれば
2023/01/26(木) 10:40:51.75ID:im4j/4Ys0
> Str a
> Str b
> Str c
なんていう謎の言語はスレ違いかと
2023/01/26(木) 11:00:07.24ID:UvNszdC2d
>>905
スレ違いです
2023/01/26(木) 11:10:42.36ID:JQ22Y2sI0
>>905
転職なら早い方がいい、年齢が若ければ新しい職場にもすぐ慣れるだろうから
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関数を使いたかったんじゃね?
書き方間違えてるから謎の言語になってるけど。
913デフォルトの名無しさん (ワッチョイ ff02-qYbV)
垢版 |
2023/01/26(木) 12:41:55.63ID:NYppQtUx0
Transposeで作る配列の
一番最初の要素の添字は0じゃなくて、1であってます?
2023/01/26(木) 12:53:54.77ID:XU6i0xq00
>>902
(1)たとえセルの書式が文字列でも
(2)数字っぽい内容だと
(3)勝手に数値型に変換されてしまう
https://i.imgur.com/0xrxf44.png

何がやりたいのか、ぼかさずに具体的に説明してくれないと無理
2023/01/26(木) 12:55:07.08ID:jr7Apji9H
>>908
単純にコードのミスを検出したいだけなんです
変数名を間違えた場合の保険程度のつもりなんです

>>909
すいません
別言語触ってて何もかも間違えました
変数宣言dim a as stringのつもりでした

Sub foo()

Dim a As String
Dim b As String
Dim c As String

a = 1
b = 2
c = a + b

End Sub
2023/01/26(木) 13:02:48.18ID:bIyafktir
>>915
それなら素直にlongで宣言するべきでしょ
変数名間違えた時の保険って、紛らわし変数名にするなって話だし
変数名間違えたときのための保険って言い出したら何も出来ないじゃん
じゃあその「変数名間違ってたときの確認のためのコードの」変数名が間違ってたらどうするの?
その確認のための変数名確認のためのコードをつけるのか?
それが間違ってたら?
確認のための変数名確認のための変数名確認のためのコードをやるの?
って話になる
2023/01/26(木) 13:11:07.62ID:jr7Apji9H
>>916
逆で、文字列を数値として使ってしまった場合に検出したい
単にタイポ時の保険としてエラーが起こってほしいってだけだよ
vbaに無いなら仕方ない、そういう言語なんだなってだけで
別にそこには期待しないよ
2023/01/26(木) 13:21:15.99ID:UvNszdC2d
少し上にいた大量にレスしてた奴みたいなおかしな質問者もいるし
適当に質問しても回答者が頑張ってくれるだろみたいな考えの質問者が多すぎなんだよ
2023/01/26(木) 13:31:14.65ID:XU6i0xq00
>>915
とりまOption Explicitは入れとけ
それ以上はVBA単独ではどうにもならん
型安全な処理系と組み合わせろ
920913 (ワッチョイ ff02-qYbV)
垢版 |
2023/01/26(木) 13:32:06.85ID:NYppQtUx0
ググって解決しましたが。
https://qiita.com/ShortArrow/items/0cf655aaebf0f253a0d4
何故に1から。。
2023/01/26(木) 13:35:53.75ID:bIyafktir
>>917
あのさぁ、自分の説明が下手くそなくせにできないのは他人のせい、言語のせいにするのはよくないぞ
単にタイプミスって言っても自分がコード書くときにミスしないようにしたいのか、使う際にinputBox等で入力させるときにミスをなくしたいのかで全然違うだろ
エスパーじゃないんだから質問するならもっと具体的にしろよ
2023/01/26(木) 13:39:36.95ID:XU6i0xq00
>>920
ワークシートが1行目スタートだから
2023/01/26(木) 14:28:02.25ID:jr7Apji9H
>>921
いやinputboxなら全部文字列だろ
2023/01/26(木) 14:50:16.50ID:UvNszdC2d
ExcelVBAは型に対する考慮が緩いから正直期待にそえる回答はないと思うよ
例えば変数名の先頭に型を付与するようなルール決めてもタイプミスって言葉で許されるなら破綻するだけだしね
2023/01/26(木) 14:52:16.71ID:bIyafktir
>>923
だから、最後までちゃんとかけや
それはinputBoxを格納する変数の話だろ
そんな話はしてないわ
色々な具体例があって様々な解決策があるのに、なんにも具体的な話を出さずに抽象的に話しして、一部に対してだけ反論してお前は馬鹿か?
2023/01/26(木) 14:56:29.20ID:jr7Apji9H
>>924
ですよね
ありがとうございました

>>925
質問を理解できないアホw
2023/01/26(木) 14:58:44.32ID:bIyafktir
つーか
「単純にコードのミスを検出したいだけなんです
変数名を間違えた場合の保険程度のつもりなんです」
本当にこれだけだったら先頭にOption Explicitつけて似たような変数宣言するな、で終わる話だよな
さすがにOption Explicitをつけてない人はいないだろうからそんな超初歩的な事はありえないと思ってるけど
2023/01/26(木) 15:12:07.01ID:bIyafktir
>>926
え、>>924で解決したのか?
ってことはマジでOption Explicitをつけてなかっただけ?
そこまで超ド初心者だとは思わんかったわ
2023/01/26(木) 15:26:02.63ID:PKxWUOv2d
例の零細企業の馬鹿社員だろ
2023/01/26(木) 15:51:08.82ID:jr7Apji9H
>>928
結局回答できない無能で草
2023/01/26(木) 15:55:50.96ID:41WP6aJtd
やっぱり
こういうのを相手にするのがそもそもの間違い
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
とかの雑魚コードでも教えておけばよかったのに
2023/01/26(木) 17:03:23.50ID:UDgAljjqM
a = 1 の暗黙の型変換でエラーにしたいならそう言えよ
2023/01/26(木) 18:24:03.88ID:JQ22Y2sI0
>>928
なれると初心者の質問だって見抜けるようになるよ
2023/01/26(木) 18:44:31.80ID:jr7Apji9H
荒れすぎだろ
どうなってんだよ
2023/01/26(木) 19:02:58.68ID:UvNszdC2d
質問が雑だと回答する側は色々考えるからこういう感じになるんだよ
だから質問する側もちゃんと回答しやすいようにすればいいだけ
2023/01/26(木) 19:07:48.41ID:lq03KzKz0
そんなの期待するだけ無駄
そっとスレを閉じればいいのよ
2023/01/26(木) 19:12:37.90ID:CIVBTG9eM
零細企業のアホみたいな奴に答えてやろうなんて思うから荒れる
助けてで始まる質問する奴や、頭が悪いのに自分はできるみたいに思っておかしな質問をする奴は無視するのが一番
2023/01/26(木) 19:15:21.07ID:LFv4Wa39r
てゆーかそんな事を言うやつがわざわざこんなとこ見るなよ
教えてやってるみたいな立ち位置でさw
2023/01/26(木) 19:17:05.41ID:fSHWBRl+H
変数が文字列ならエラーにすれば?
2023/01/26(木) 19:26:25.23ID:im4j/4Ys0
そもそも
> Str a
> Str b
> Str c
の時点で実際に動かしてないんだから相手する価値なし
2023/01/26(木) 20:00:51.10ID:BIrRkdsHd
相手にしたくないならほっておけばいいんだから無駄なレス書いて荒らすなよ

>>926
サンプル書けばわかると思うけど例えば下のようなコードは最後の数値型に数値以外の代入のみエラーとなるからコーディングミスしないように注意するしかないという話
Dim a As String
Dim b As Long
a = "a" '文字の"a"
a = 1 '文字の"1"
b = "1" '数字の1
b = "a" '変換エラー

>>928
そういう話じゃないと思うぞ
944デフォルトの名無しさん (ワッチョイ 6f19-1gWY)
垢版 |
2023/01/26(木) 20:10:49.10ID:omfXV+oL0
キチンとString型を宣言しているなら確か
+は文字列連結の意味になるんじゃなかったっけ?
であれば前のレスで言ってた人がいたけど
- 0とか*0とかすればエラーになるんじゃないかな?

逆にSQLとかで文字列を数値で扱いたい場合は
*0とか-0とかにすると暗黙の変換で数値にしてくれる。

VBAでは型宣言は絶対だけど、
VBSみたいにスカラー変数を使う場合は
VBAみたいな型指定の型宣言が出来ないんで少し戸惑うかもね。

でもここはVBAのスレなので、
基本的に型宣言は絶対だと思っていいと思うよ。
2023/01/27(金) 00:45:46.26ID:PwZKt+DmH
>>944
>+は文字列連結の意味になるんじゃなかったっけ?
ならないよ
2023/01/27(金) 00:52:57.14ID:Gy/KHy720
>>945
https://i.imgur.com/v220L7Z.png
2023/01/27(金) 01:00:12.13ID:PwZKt+DmH
>>946
!?
https://i.imgur.com/NYHsRgw.png

どうなってんだ?
2023/01/27(金) 02:03:03.20ID:sVJGpHK80
>>944
> - 0とか*0とかすればエラーになるんじゃないかな?
暗黙の型変換がある以上、数値として認識できる文字列が入ってたらエラーになるとは限らん
VBAは型宣言はあるけど、Variant型と暗黙の変換があるから、絶対とまでは言えないのだよ

>>947
イミディエイトウィンドウの内容なんて書き換えできるからな
釣りじゃないってんならちゃんと詳しい環境かいてみ
2023/01/27(金) 03:26:55.09ID:wPosq0f50
>>944
>+は文字列連結の意味になるんじゃなかったっけ?
JavascriptやRubyの話だね
2023/01/27(金) 04:22:04.52ID:WUhobyCY0
演算子一覧表
https://support.microsoft.com/ja-jp/office/e1bc04d5-8b76-429f-a252-e9223117d6bd

連結演算子
& 2 つの文字列を組み合わせて、1 つの文字列を作成します。
+ 2 つの文字列を組み合わせて、1 つの文字列を作成し、Null 値を伝達します (一方の値が Null の場合、式全体が Null と評価されます)。
2023/01/27(金) 09:27:20.18ID:JeWwXD830
VBAはあまり書かなくて理解足らないのは承知しているが、

配列に0から200の値を書き込むサンプル

これは、型があわないとアラートが返ってきます。
ダメな理由を教えてください。

Sub test()
Dim arrs As Variant
Dim i As Long
For i = 0 To 200
arrs(i) = i
Next i
End Sub
2023/01/27(金) 09:46:51.11ID:HtuDNqBEd
全ての行に「Debug.Print TypeName(arrs)」を入れてみると何でダメかわかってくるかもね
2023/01/27(金) 09:50:45.30ID:Gy/KHy720
>>951
Variant型は便利だけどVBAでは取り扱いが初心者には難しい方だと思う
昨日も変数の型のことで荒れてたけど、できるだけ適切な型を指定した方がバグになりにくい

そのまま動くようにするなら
Sub test()
  Dim arrs() As Variant
  ReDim arrs(200)
  Dim i As Long
  For i = 0 To 200
    arrs(i) = i
  Next i
End Sub

俺が推奨したい書き方は
Const arr_max = 200
Sub test()
  Dim arrs(arr_max) As Long
  Dim i As Long
  For i = 0 To arr_max
    arrs(i) = i
  Next i
End Sub
2023/01/27(金) 09:50:46.53ID:+MAp+PmZM
VBAじゃなくてもダメだろ
2023/01/27(金) 10:21:25.20ID:JeWwXD830
ありがとうございます。

>>954
JSなら。こんな感じ。
var arrs = [];
for (var i=0; i<200; i++) {
arrs[i] = i;
}
2023/01/27(金) 10:22:55.83ID:JeWwXD830
>>952,>>953
ありがとうございました。VBAの配列は癖が強いねえ。
2023/01/27(金) 10:49:30.02ID:PwZKt+DmH
古い言語だからね
仕方ないね
2023/01/27(金) 12:06:47.69ID:HtuDNqBEd
>>955のコードはarrsは配列として宣言するような代入してるけど
>>951は配列の宣言がどこにもないからね
癖というよりも単なる勘違いでしょ
959デフォルトの名無しさん (アウアウウー Saa7-sGmE)
垢版 |
2023/01/27(金) 15:35:27.15ID:nAK+7/AUa
0から200だと201回繰り返すのも注意
2023/01/27(金) 16:29:58.00ID:JeWwXD830
>>953
200個の要素数が確定されている場合ですかね。
将来配列の要素数が変わることがわかる場合、
どうなりますか。

うーん。
VBAで配列操作するより、セル関数でデータを加工していった方が早いし、
分かりやすい気がしてきた。
2023/01/27(金) 17:27:12.70ID:HtuDNqBEd
>>960
VB(VBA)の場合は配列の再定義するためのRedimというのが用意されている
Dim a(0 to 200) as long
Redim Preserve a(0 to 1000)
とすることで0から200までの値を保証して0から1000までの配列に拡張ができる
まあ正解なんて1つじゃないんだから自分にしっくりくる作り方でいいと思うけどね

あと細かいようだけど>>955の「for (var i=0; i<200; i++) {」は
VBの質問に合わせるなら「i<=200」が正しいんじゃない?
962デフォルトの名無しさん (スプッッ Sd1f-aTb4)
垢版 |
2023/01/27(金) 17:38:42.59ID:EY8clDJJd
>>960
DimRedimは先に回答した人がいるから

>VBAで配列操作するより、セル関数でデータを加工していった方が早いし、
>分かりやすい気がしてきた。

用途にもよるが分かりやすさとしては間違いなくそう
VBA分からないやつでもどんな操作をしているか分かるのはでかいし
特異なケースのテストもわりと少ない手間で試せる

データの成形入れ替え並び替えは全部関数でやって
そうすると関数の参照先シートを変更する度に重くなるから
マクロでは関数が入ったブックの呼び出しと
操作するデータを参照先シートにコピペする作業を任せる

こんなやり方もあり
一応配列格納のほうがいちいちセルの読み取りしない分速いことは速いが
VBAで書き出す手間とエラーチェックの手間と
仕事ならそれを誰かに引き継ぐことを考えると…って感じ
963デフォルトの名無しさん (ワッチョイ ff02-qYbV)
垢版 |
2023/01/27(金) 17:55:20.59ID:JeWwXD830
ありがとうございます。
そうですね。「i<=200」が正しいです。

要素数をいちいち定義したり再定義しないといけないのは
ちょっと不便ですね。自分でも他の方法ないか調べてみます。



データとして直接見えるというのが、セル関数の良さですね。
VBAの配列だと中のデータ見るのに手間かかる。


参考になりました。みなさんありがとうございました。
2023/01/27(金) 19:38:09.77ID:FOQwFQw10
別に要素数が不確定ならそれなりの組み方があるけどな
2023/01/27(金) 20:25:55.36ID:uIWhZEdtM
相手にしたら負け
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。