!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
Excel VBA 質問スレ Part71
https://mevius.5ch.net/test/read.cgi/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part72
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (スププ Sdaa-x2SP)
2021/07/18(日) 08:42:15.37ID:KskL7bEXd491デフォルトの名無しさん (ワッチョイ 8101-AL+r)
2021/08/13(金) 20:37:12.04ID:fD7XP3Na0 変数を日本語にすると頭に入りやすい
492デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/13(金) 20:55:03.16ID:Dh6ZDsQC0493デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/13(金) 20:57:12.23ID:Dh6ZDsQC0494デフォルトの名無しさん (ワッチョイ 9901-ic7f)
2021/08/13(金) 21:57:30.74ID:IVydqk9y0 >>479
やっぱりどう考えてもVBAで数値計算って無理がありそうですよね
数値計算自体も偏微分方程式の解を求めたり、モンテカルロで期待値を求めたりするので、結構重いです・・・
学生なんで確信を持って言えないのですが、恐らく就職希望している業界がVBAとc++がメインなのでVBAで数値計算をできるようになっておく必要があると思います。
とりあえずまだ時間があるので、一度自分でVBAで書いてみてからデメリットを実感して見ようかと思います
やっぱりどう考えてもVBAで数値計算って無理がありそうですよね
数値計算自体も偏微分方程式の解を求めたり、モンテカルロで期待値を求めたりするので、結構重いです・・・
学生なんで確信を持って言えないのですが、恐らく就職希望している業界がVBAとc++がメインなのでVBAで数値計算をできるようになっておく必要があると思います。
とりあえずまだ時間があるので、一度自分でVBAで書いてみてからデメリットを実感して見ようかと思います
495デフォルトの名無しさん (ワッチョイ 9901-ic7f)
2021/08/13(金) 21:59:38.88ID:IVydqk9y0496デフォルトの名無しさん (ワッチョイ 71e4-gilQ)
2021/08/13(金) 22:15:24.05ID:al2VsHhL0 その分野には詳しくないんだが、不向きなのに何故VBAを数値計算に使うんだ?
エクセルならVBA使わずとも関数とかソルバーで出来るんじゃない?
エクセルならVBA使わずとも関数とかソルバーで出来るんじゃない?
497デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/13(金) 22:24:34.19ID:zvWaH7NU0498デフォルトの名無しさん (オイコラミネオ MMd6-Lo6P)
2021/08/13(金) 23:20:47.22ID:WIfN9845M 賑わってるね
499デフォルトの名無しさん (ワッチョイ 8101-AL+r)
2021/08/14(土) 00:11:33.82ID:p2FjIi+P0 >>497
あっ…なるほど(察し
あっ…なるほど(察し
500デフォルトの名無しさん (ワッチョイ 8232-/m/d)
2021/08/14(土) 00:32:25.73ID:8xoU1q0D0 夏季休暇に突入したぜウェーイ!
501デフォルトの名無しさん (アウアウウー Saa5-5/Wf)
2021/08/14(土) 03:50:50.70ID:2+Zp3qYIa c++とvbaを両方とも使うのありますよ
ターボファンの3次元ブレード図面の自動生成をする為に
autoCAD用APIをc++使ってdirectXのシェーダーでやり
流体計算はcudaの並列計算する一方で
ユーザーインターフェースはExcelVBAで寸法入力させるんですよ
ターボファンの3次元ブレード図面の自動生成をする為に
autoCAD用APIをc++使ってdirectXのシェーダーでやり
流体計算はcudaの並列計算する一方で
ユーザーインターフェースはExcelVBAで寸法入力させるんですよ
502デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 07:34:08.52ID:olTKpvXL0 何度も申し訳ありません
期間の日付をA5〜A100に自動で打ちあがるようにしたいのですが
例えばB1に整数3が入りB2に整数5が入った場合
A5〜A7に3、4、5
と自動で打ちあがるようにしたいです
B2に整数以外が文字などが入る場合は
例えばB1に3B2に英字のKが入った場合
A5に3A6にK
が打ち上がるようにしたいのですが
下記コードだと2回目以降はB1の値が変わっただけでは発火しないので
B2も変更しなければなりません
B1の値が変更されたら即発火させるにはどのようなコードで記述したらいいのでしょうか?
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address <> "$B$2" And Target.Address <> "$B$1" Then Exit Sub
Range("A5:A100").Clear
Dim cnt As Long
Dim i As Long, j As Long
j = 0
cnt = Target.Value - Target.Offset(-1).Value
For i = 5 To cnt + 5
Cells(i, 1) = Target.Offset(-1).Value + j
Cells(i, 1).NumberFormatLocal = "@"
j = j + 1
Next i
End Sub
期間の日付をA5〜A100に自動で打ちあがるようにしたいのですが
例えばB1に整数3が入りB2に整数5が入った場合
A5〜A7に3、4、5
と自動で打ちあがるようにしたいです
B2に整数以外が文字などが入る場合は
例えばB1に3B2に英字のKが入った場合
A5に3A6にK
が打ち上がるようにしたいのですが
下記コードだと2回目以降はB1の値が変わっただけでは発火しないので
B2も変更しなければなりません
B1の値が変更されたら即発火させるにはどのようなコードで記述したらいいのでしょうか?
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address <> "$B$2" And Target.Address <> "$B$1" Then Exit Sub
Range("A5:A100").Clear
Dim cnt As Long
Dim i As Long, j As Long
j = 0
cnt = Target.Value - Target.Offset(-1).Value
For i = 5 To cnt + 5
Cells(i, 1) = Target.Offset(-1).Value + j
Cells(i, 1).NumberFormatLocal = "@"
j = j + 1
Next i
End Sub
503デフォルトの名無しさん (ブーイモ MMb6-usf7)
2021/08/14(土) 07:41:00.78ID:X5b04eQGM 打ちあがるって何?
504デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/14(土) 07:49:40.96ID:WRC7pvXs0505デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 08:01:31.03ID:olTKpvXL0506デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 08:04:36.53ID:olTKpvXL0507デフォルトの名無しさん (ブーイモ MM62-GUjw)
2021/08/14(土) 08:16:43.15ID:FeW4uPBDM IsNumericでB2を判定してTrueならFor文を走らせて、FalseならB2をA6へ
508デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/14(土) 08:16:49.28ID:WRC7pvXs0 >>502
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo err
'B1B2じゃなければ終了
If Intersect(Target, Range("B1:b2")) Is Nothing Then Exit Sub
'とりあえずクリア
Range("A5:A100").Clear
'メイン。整数じゃなければerrに飛んでコピーして終わり。trycacheみたいな事がしたかった
最初 = Cells(1, 2)
最後 = Cells(2, 2)
'
If (Int(最初) = 最初 And Int(最後) = 最後) Then
行 = 5
For i = 最初 To 最後
Cells(行, 1) = i
行 = 行 + 1
Next
Exit Sub
End If
'整数以外
err:
Range("a5:a6").Value = Range("B1:b2").Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo err
'B1B2じゃなければ終了
If Intersect(Target, Range("B1:b2")) Is Nothing Then Exit Sub
'とりあえずクリア
Range("A5:A100").Clear
'メイン。整数じゃなければerrに飛んでコピーして終わり。trycacheみたいな事がしたかった
最初 = Cells(1, 2)
最後 = Cells(2, 2)
'
If (Int(最初) = 最初 And Int(最後) = 最後) Then
行 = 5
For i = 最初 To 最後
Cells(行, 1) = i
行 = 行 + 1
Next
Exit Sub
End If
'整数以外
err:
Range("a5:a6").Value = Range("B1:b2").Value
End Sub
509デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/14(土) 08:17:31.92ID:WRC7pvXs0510デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 08:32:21.96ID:olTKpvXL0511デフォルトの名無しさん (ブーイモ MM62-GUjw)
2021/08/14(土) 08:34:31.28ID:FeW4uPBDM あぁそうか整数の時だけなのか
でもOnErrorResumeNextはバグを見逃しやすくなるから個人的にはあんまり使いたくねぇなぁ
lsNumenic(B2)の後にB2=CLng(B2)で整数判定かけるのってどう?……見辛くなるか
でもOnErrorResumeNextはバグを見逃しやすくなるから個人的にはあんまり使いたくねぇなぁ
lsNumenic(B2)の後にB2=CLng(B2)で整数判定かけるのってどう?……見辛くなるか
512デフォルトの名無しさん (アウアウウー Saa5-++7W)
2021/08/14(土) 09:09:38.05ID:LMRL1zmta >>502がそもそも何で質問の様な動作になるかがわかってないとこれからも簡単なことでつまずくと思うよ
当初と違って最初のif分に「Target.Address <> "$B$1"」が含まれたことでB1でも下のロジックが動くようになったけど
「cnt = Target.Value - Target.Offset(-1).Value」これがB1がTargetだと右のOffsetが存在しないから以降のコードが正しく動作しない状態になってる
B2→Target.ValueはB2、Target.Offset(-1)はB1
B1→Target.ValueはB1、Target.Offset(-1)は存在しないセルなのでエラー
ここをB1でもB2でも正しくセルの値を参照できるようにすればいいのでは
ちなみに「On Error Resume Next」のせいでエラーになっているのを無視して動作するようになってるので外したほうがいいのでは
当初と違って最初のif分に「Target.Address <> "$B$1"」が含まれたことでB1でも下のロジックが動くようになったけど
「cnt = Target.Value - Target.Offset(-1).Value」これがB1がTargetだと右のOffsetが存在しないから以降のコードが正しく動作しない状態になってる
B2→Target.ValueはB2、Target.Offset(-1)はB1
B1→Target.ValueはB1、Target.Offset(-1)は存在しないセルなのでエラー
ここをB1でもB2でも正しくセルの値を参照できるようにすればいいのでは
ちなみに「On Error Resume Next」のせいでエラーになっているのを無視して動作するようになってるので外したほうがいいのでは
513デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/14(土) 09:17:38.32ID:WRC7pvXs0514デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 09:25:22.77ID:olTKpvXL0 >>512
> >>502がそもそも何で質問の様な動作になるかがわかってないとこれからも簡単なことでつまずくと思うよ
> 当初と違って最初のif分に「Target.Address <> "$B$1"」が含まれたことでB1でも下のロジックが動くようになったけど
> 「cnt = Target.Value - Target.Offset(-1).Value」これがB1がTargetだと右のOffsetが存在しないから以降のコードが正しく動作しない状態になってる
> B2→Target.ValueはB2、Target.Offset(-1)はB1
> B1→Target.ValueはB1、Target.Offset(-1)は存在しないセルなのでエラー
> ここをB1でもB2でも正しくセルの値を参照できるようにすればいいのでは
> ちなみに「On Error Resume Next」のせいでエラーになっているのを無視して動作するようになってるので外したほうがいいのでは
ネットで拾ったコードにOn Error Resume Nextを
加えたりして動くように自分なりにやってみたのですが
cnt = Target.Value - Target.Offset(-1).Value
の意味が理解できなくて・・・
少々自分にはレベルの高いコードでした
仕事でどうしてもエクセル使わないといけなかったので無理しましたw
ご教授ありがとうございます!
> >>502がそもそも何で質問の様な動作になるかがわかってないとこれからも簡単なことでつまずくと思うよ
> 当初と違って最初のif分に「Target.Address <> "$B$1"」が含まれたことでB1でも下のロジックが動くようになったけど
> 「cnt = Target.Value - Target.Offset(-1).Value」これがB1がTargetだと右のOffsetが存在しないから以降のコードが正しく動作しない状態になってる
> B2→Target.ValueはB2、Target.Offset(-1)はB1
> B1→Target.ValueはB1、Target.Offset(-1)は存在しないセルなのでエラー
> ここをB1でもB2でも正しくセルの値を参照できるようにすればいいのでは
> ちなみに「On Error Resume Next」のせいでエラーになっているのを無視して動作するようになってるので外したほうがいいのでは
ネットで拾ったコードにOn Error Resume Nextを
加えたりして動くように自分なりにやってみたのですが
cnt = Target.Value - Target.Offset(-1).Value
の意味が理解できなくて・・・
少々自分にはレベルの高いコードでした
仕事でどうしてもエクセル使わないといけなかったので無理しましたw
ご教授ありがとうございます!
515デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/14(土) 09:28:14.25ID:olTKpvXL0516デフォルトの名無しさん (ワッチョイ c2da-oCel)
2021/08/14(土) 10:58:30.72ID:UIvxBUgE0 Excelの関数とか覚える必要ないでしょ
全部マクロでやれば済むはずだし。
全部マクロで処理している人が職場にいる。
全部マクロでやれば済むはずだし。
全部マクロで処理している人が職場にいる。
517デフォルトの名無しさん (ワッチョイ 7168-NTPF)
2021/08/14(土) 11:02:58.83ID:WZYuRp6L0 適材適所
518デフォルトの名無しさん (ワッチョイ 9901-ic7f)
2021/08/14(土) 11:11:37.37ID:Wd8wuOU/0 >>496
使う理由は確かにわからないんですよね・・・
ただ、日本語以外の本でもその業界の数値計算のコード例がC++かVBAかMATLABなので恐らく業界のデファクトスタンダード
になっているんだと思います。
VBA以外にも使えそうなエクセルの機能があるなら使っていこうかと思います
使う理由は確かにわからないんですよね・・・
ただ、日本語以外の本でもその業界の数値計算のコード例がC++かVBAかMATLABなので恐らく業界のデファクトスタンダード
になっているんだと思います。
VBA以外にも使えそうなエクセルの機能があるなら使っていこうかと思います
519デフォルトの名無しさん (ワッチョイ 9901-ic7f)
2021/08/14(土) 11:13:11.03ID:Wd8wuOU/0520デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/14(土) 11:22:28.35ID:WRC7pvXs0521デフォルトの名無しさん (アウアウウー Saa5-oCel)
2021/08/14(土) 11:37:23.70ID:WNZYUSqEa たまになのによくみる?
522デフォルトの名無しさん (エムゾネ FF62-BgPC)
2021/08/14(土) 12:03:40.37ID:MjnqNUAdF >>515
5ちゃんを観るのを止めると綺麗なコード描けるようになる
5ちゃんを観るのを止めると綺麗なコード描けるようになる
523デフォルトの名無しさん (ブーイモ MMb6-aBRF)
2021/08/14(土) 12:21:33.89ID:r4eiaXelM524デフォルトの名無しさん (ワッチョイ 3d28-/KFf)
2021/08/14(土) 12:31:49.92ID:egxXCzK30 if,and,orと変数の使い方を覚える
Functionの使い方を覚える(Byval,ByRef)
Range(”A2”)みたいな書き方から、Worksheet.Cells(2,1)の様な書き方に変える
配列、Dictionary,Collectionの使い方を覚える
ユーザーフォームを作れるようになる
(クラスの使い方を覚える)
こんな流れで順々にやれることを増やしていくといいよ
Functionの使い方を覚える(Byval,ByRef)
Range(”A2”)みたいな書き方から、Worksheet.Cells(2,1)の様な書き方に変える
配列、Dictionary,Collectionの使い方を覚える
ユーザーフォームを作れるようになる
(クラスの使い方を覚える)
こんな流れで順々にやれることを増やしていくといいよ
525デフォルトの名無しさん (ワッチョイ 7168-NTPF)
2021/08/14(土) 12:35:39.31ID:WZYuRp6L0526デフォルトの名無しさん (ワッチョイ 498e-JtI+)
2021/08/14(土) 16:05:31.07ID:9rufdIX60 ID:olTKpvXL0
いつものあいつ
いつものあいつ
527デフォルトの名無しさん (ブーイモ MM62-GUjw)
2021/08/14(土) 16:13:08.42ID:FeW4uPBDM いつものあいつって言いたいだけの例の人
528デフォルトの名無しさん (ワッチョイ 7168-NTPF)
2021/08/14(土) 16:13:36.00ID:WZYuRp6L0 いつものあいつに粘着してるやつ
529デフォルトの名無しさん (ワッチョイ 8101-AL+r)
2021/08/14(土) 16:16:12.93ID:p2FjIi+P0 Rubyの人だっけ
530デフォルトの名無しさん (ワントンキン MM92-4yzW)
2021/08/14(土) 19:17:04.70ID:QQrfTJ+jM またも引っ掛かる間抜けな人達
531デフォルトの名無しさん (ワッチョイ 9901-pBez)
2021/08/14(土) 23:40:30.92ID:0AEpqYcN0 VBAはビジネスソフト板でやれ。
ム板でVBAの話する奴は全員荒らし。
ム板でVBAの話する奴は全員荒らし。
532デフォルトの名無しさん (ワッチョイ 42ad-NTPF)
2021/08/15(日) 01:41:34.07ID:Ab4oMS/u0 ListBoxAに複数行の内容を表示し、その行数をラベルに表示させている。
RemoveItemで行を削除した後、ラベルの表示内容を更新したい。
といった場合に、
RemoveItemの後でラベルの数字を1マイナスする、という手動処理ではなくて、
ListBoxAの内容が変更されたことをトリガーとして行数を再計算する、という自動処理にしたいんですが、
どのイベントプロシージャを使えばいいですか?
RemoveItemで行を削除した後、ラベルの表示内容を更新したい。
といった場合に、
RemoveItemの後でラベルの数字を1マイナスする、という手動処理ではなくて、
ListBoxAの内容が変更されたことをトリガーとして行数を再計算する、という自動処理にしたいんですが、
どのイベントプロシージャを使えばいいですか?
533デフォルトの名無しさん (ワッチョイ 8101-AL+r)
2021/08/15(日) 09:02:47.73ID:Vp1mNkx00 またでたー
534デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/15(日) 10:47:47.12ID:FNsj8xWN0 >>532
無いっぽい
>RemoveItemの後でラベルの数字を1マイナスする
例えばcommandbuttonでRemoveItemしてるなら、
以下のようにするしか
Private Sub CommandButton1_Click()
'removeitemの処理がここに
Debug.Print ListBox1.ListCount
End Sub
無いっぽい
>RemoveItemの後でラベルの数字を1マイナスする
例えばcommandbuttonでRemoveItemしてるなら、
以下のようにするしか
Private Sub CommandButton1_Click()
'removeitemの処理がここに
Debug.Print ListBox1.ListCount
End Sub
535デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/15(日) 10:48:11.05ID:FNsj8xWN0 RemoveItemにevent追加するほうが綺麗だけどねぇ
vbaじゃ無理だねぇ
vbaじゃ無理だねぇ
536デフォルトの名無しさん (ワッチョイ c242-rA07)
2021/08/15(日) 11:06:26.14ID:47f+T2dk0 仮にイベントがあったとしてもremoveitemのあとに再計算の処理を書いたほうがスッキリしていいと思うが
537デフォルトの名無しさん (ワッチョイ 4201-VYeI)
2021/08/15(日) 11:24:14.03ID:U+FsjVqC0 >>536
RemoveItemしてるのが1箇所ならいいかも知れんが複数あったら面倒だろ
RemoveItemしてるのが1箇所ならいいかも知れんが複数あったら面倒だろ
538デフォルトの名無しさん (アウアウウー Saa5-oCel)
2021/08/15(日) 11:44:01.29ID:PuWX92Pra 一ヶ所にまとめればいいだけだし
539デフォルトの名無しさん (ワッチョイ 4201-VYeI)
2021/08/15(日) 11:48:45.57ID:U+FsjVqC0 イベントに書ければ1箇所にまとめる手間もないし1年後に改修した時に1箇所にまとめたのを忘れてRemoveItem単体で使ってバグることもないし…
まあVBAでは夢物語なんだけどね
まあVBAでは夢物語なんだけどね
540532 (ワッチョイ 42ad-NTPF)
2021/08/15(日) 12:12:51.35ID:Ab4oMS/u0 ありがとうございます。
その後、試してみたこととして、
ListBoxのChangeイベントに再計算の処理を書いておき、
RemoveItemの後で.listIndex=0の処理を入れたところ、
一発目のRemoveItem後は、期待どおりChangeイベントが発生してくれましたが、
二発目以降は、.listIndexが0→0と変化なしのせいか、イベントは発生しませんでした。
行数を再計算したい、と書きましたが、
単純に全体の行数であれば、RemoveItemの後で.listCountをラベルに代入するだけの一行で済みますが、
実際は、リストの1カラム目(ID欄として使用)が100未満の場合と100以上の場合で分けてカウントしており、
FOR文で、ID100未満までの間でヒットするIDがあるたびに対象のカウントをインクリメントし、
2つ目のFOR文で、ID100以上について同様の処理を行う、
という風にしようとした時に、これが冗長に思えました。
もし、使えるイベントがあれば、
そのイベントプロシージャの中で、
それぞれのカウンタラベルのうち対象となる方のみマイナスした値に変更する、
という処理を入れるだけでOKになりそう、と考えました。
結論としては、
イベントに頼らず、
指定したIDの行を.RemoveItemする処理のところで、
そのIDが100未満か100以上かで分岐させて、
その分岐の中で、対象となるカウンタをマイナスする、
という処理にしました。
その後、試してみたこととして、
ListBoxのChangeイベントに再計算の処理を書いておき、
RemoveItemの後で.listIndex=0の処理を入れたところ、
一発目のRemoveItem後は、期待どおりChangeイベントが発生してくれましたが、
二発目以降は、.listIndexが0→0と変化なしのせいか、イベントは発生しませんでした。
行数を再計算したい、と書きましたが、
単純に全体の行数であれば、RemoveItemの後で.listCountをラベルに代入するだけの一行で済みますが、
実際は、リストの1カラム目(ID欄として使用)が100未満の場合と100以上の場合で分けてカウントしており、
FOR文で、ID100未満までの間でヒットするIDがあるたびに対象のカウントをインクリメントし、
2つ目のFOR文で、ID100以上について同様の処理を行う、
という風にしようとした時に、これが冗長に思えました。
もし、使えるイベントがあれば、
そのイベントプロシージャの中で、
それぞれのカウンタラベルのうち対象となる方のみマイナスした値に変更する、
という処理を入れるだけでOKになりそう、と考えました。
結論としては、
イベントに頼らず、
指定したIDの行を.RemoveItemする処理のところで、
そのIDが100未満か100以上かで分岐させて、
その分岐の中で、対象となるカウンタをマイナスする、
という処理にしました。
541デフォルトの名無しさん (ワッチョイ 62f0-/m/d)
2021/08/15(日) 14:06:03.01ID:Q1u7LxQ80542デフォルトの名無しさん (アウアウウー Saa5-++7W)
2021/08/15(日) 14:16:20.36ID:044XE2rOa そういうの知っても意味ないから放置でいいのでは
質問されたら答えるだけで無理に関係ない話題でレスを進める必要はないのでは
質問されたら答えるだけで無理に関係ない話題でレスを進める必要はないのでは
543デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/15(日) 14:35:34.20ID:FNsj8xWN0544デフォルトの名無しさん (ワッチョイ 6e68-NTPF)
2021/08/15(日) 15:32:30.69ID:mzIErmSO0545デフォルトの名無しさん (ワッチョイ c242-rA07)
2021/08/15(日) 22:31:41.12ID:47f+T2dk0546デフォルトの名無しさん (ワッチョイ 0668-MFFZ)
2021/08/15(日) 22:49:28.66ID:FNsj8xWN0547デフォルトの名無しさん (ワッチョイ 4201-VYeI)
2021/08/15(日) 23:03:09.52ID:U+FsjVqC0 >>545
> そもそもまとめたことを忘れるようなやつはイベントの存在も忘れてる
だから忘れてもいいって話
> つーかVBAじゃなくても標準でそんなイベント発生する言語はないと思うぞ
C#とかなら標準にはなくても派生して作れるってこと
> そもそもまとめたことを忘れるようなやつはイベントの存在も忘れてる
だから忘れてもいいって話
> つーかVBAじゃなくても標準でそんなイベント発生する言語はないと思うぞ
C#とかなら標準にはなくても派生して作れるってこと
548デフォルトの名無しさん (ワッチョイ 2e10-YTvb)
2021/08/15(日) 23:33:36.15ID:HzefVCWR0 フォームのチェンジイベントをイチイチ回避させないといけないのマジで面倒くさい
フラグ作ってif からのexit subとかマジで面倒くさい
フラグ作ってif からのexit subとかマジで面倒くさい
549デフォルトの名無しさん (ワッチョイ 6eda-NTPF)
2021/08/16(月) 05:14:26.01ID:XafigDS10 EXCEL以外の言語なら簡単にできるとかいう人っていつもの人ですか?
550デフォルトの名無しさん (ワッチョイ 8101-AL+r)
2021/08/16(月) 20:23:33.18ID:pkWTpyDW0 少なくとも一番ムキになってるアレがそうなんでしょうね
551デフォルトの名無しさん (ワッチョイ c2da-oCel)
2021/08/17(火) 02:14:38.57ID:XfCCEtxD0 昔はこのスレまともだったのに、変な荒らしが現れてからおかしくなっただけ
552デフォルトの名無しさん (アウアウウー Saa5-oCel)
2021/08/17(火) 14:49:45.30ID:n4WKWZLba 昔?あ、俺生まれてないや
553デフォルトの名無しさん (ブーイモ MMb6-aBRF)
2021/08/17(火) 15:23:12.86ID:2f/o9RsTM >>552
いつ生まれたの?w
いつ生まれたの?w
554デフォルトの名無しさん (ブーイモ MM6d-usf7)
2021/08/17(火) 20:35:18.63ID:4IURpNomM555デフォルトの名無しさん (ワッチョイ e292-/m/d)
2021/08/19(木) 01:46:41.56ID:GJSA9V5J0 す、巣窟?
556デフォルトの名無しさん (ワッチョイ 468c-nLcX)
2021/08/19(木) 12:48:42.55ID:gPE31PeS0 そ う だ よ
557デフォルトの名無しさん (ワッチョイ ff63-RUy2)
2021/08/20(金) 00:11:44.24ID:YzPl1p2A0 Dim mysubfiles As Files
Dim mysubfile As File
For Each mysubfile In mysubfiles
中略
Next
このループ中で作成したファイルも
このループ内の処理を通したいのですが
どうしたらよいでしょうか。
具体的な状況は以下のとおりです。
・ループ内では拡張子xlsxのファイルを加工したい。
・しかしxlsmで保存されている場合もある。
・ループの最初にxlsmを開いてxlsxとして保存する処理を入れたものの
そのxlsxが加工されない
Dim mysubfile As File
For Each mysubfile In mysubfiles
中略
Next
このループ中で作成したファイルも
このループ内の処理を通したいのですが
どうしたらよいでしょうか。
具体的な状況は以下のとおりです。
・ループ内では拡張子xlsxのファイルを加工したい。
・しかしxlsmで保存されている場合もある。
・ループの最初にxlsmを開いてxlsxとして保存する処理を入れたものの
そのxlsxが加工されない
558デフォルトの名無しさん (ワッチョイ 1f5f-N+XL)
2021/08/20(金) 00:21:12.76ID:EM+6hHZh0 >>557
xlsmがあればフラグをTrueにして、最後までループしたらもう一度その処理をするとか?
それなら「元々xlsmだったもの のみ」の処理はできないが、中略の中身によってはOKでしょう
「元々xlsmだったもの のみ」処理するのであれば、xlsm処理時点でDictionaryにファイル名をAddして、ループ終わった後に再度ループさせ、Dictionaryにあるファイルのみ処理する
になるかな
読みづらくはなると思うけど仕方ない
xlsmがあればフラグをTrueにして、最後までループしたらもう一度その処理をするとか?
それなら「元々xlsmだったもの のみ」の処理はできないが、中略の中身によってはOKでしょう
「元々xlsmだったもの のみ」処理するのであれば、xlsm処理時点でDictionaryにファイル名をAddして、ループ終わった後に再度ループさせ、Dictionaryにあるファイルのみ処理する
になるかな
読みづらくはなると思うけど仕方ない
559デフォルトの名無しさん (ワッチョイ 9f01-AxjU)
2021/08/20(金) 03:30:46.68ID:fkNLvzJY0 >>557
ループ中で新たに作成したxlsxファイルも、
元々xlsxだっとファイルと同じ処理を行いたいって事でいいでしょうか。
編集するファイル用の変数(例えばTargetFile)を新たに用意して、
中略部分は mysubfile ではなく TargetFile を処理するというコードにしておきます。
冒頭にその TargetFile を何に割り当てるかを決定するコードを書きます。
・mysubfileがxlsxである場合は、mysubfileの参照をTargetFileへそのまま代入
・そうでない場合はxlsxとして保存しなおして、保存したxlsxを取得してTargetFileへ代入
条件によって反復子から取得した値がそのまま扱えない場合はこういう書き方をするのが一般的かと思います。
中略部分を関数にして引数に渡す値を変えるといった表現方法でもいいでしょう。
ループ中で新たに作成したxlsxファイルも、
元々xlsxだっとファイルと同じ処理を行いたいって事でいいでしょうか。
編集するファイル用の変数(例えばTargetFile)を新たに用意して、
中略部分は mysubfile ではなく TargetFile を処理するというコードにしておきます。
冒頭にその TargetFile を何に割り当てるかを決定するコードを書きます。
・mysubfileがxlsxである場合は、mysubfileの参照をTargetFileへそのまま代入
・そうでない場合はxlsxとして保存しなおして、保存したxlsxを取得してTargetFileへ代入
条件によって反復子から取得した値がそのまま扱えない場合はこういう書き方をするのが一般的かと思います。
中略部分を関数にして引数に渡す値を変えるといった表現方法でもいいでしょう。
560デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/20(金) 06:44:10.09ID:O2iQQ7aA0561デフォルトの名無しさん (ワッチョイ 9f2f-RUy2)
2021/08/20(金) 07:35:23.32ID:+liSrGPN0 自分で配列なりコレクションなり用意してDoでループ回せよ
562デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/20(金) 07:43:25.84ID:6SYvdNEC0 ループの中で処理するんじゃなく、サブルーチンにして呼び出す方がいいな
563デフォルトの名無しさん (ワッチョイ 9f2f-RUy2)
2021/08/20(金) 14:52:28.33ID:+liSrGPN0 そのサブルーチンを呼び出すのにどうやってループさせるの?
もしくは
そのサブルーチンのなかでどうやって列挙させるの?
って話だと思うんだが
もしくは
そのサブルーチンのなかでどうやって列挙させるの?
って話だと思うんだが
564デフォルトの名無しさん (ブーイモ MM4f-7Mq8)
2021/08/20(金) 14:57:01.36ID:01P72Y3qM xlsmだったらxlsxにしてそのファイルを引数にして渡す
xlsxだったらそのまま渡す
それだけのこと
xlsxだったらそのまま渡す
それだけのこと
565デフォルトの名無しさん (ワッチョイ 9f01-AxjU)
2021/08/20(金) 15:39:01.41ID:fkNLvzJY0 前々から思ってたんだけど、抽象的に質問書く人多いね
あと謎用語作ったり(この前も「打ちあがる」とか何とか)
テンプレ作った方がいいんじゃないか?
あと謎用語作ったり(この前も「打ちあがる」とか何とか)
テンプレ作った方がいいんじゃないか?
566デフォルトの名無しさん (アウアウウー Sa63-FcIJ)
2021/08/20(金) 15:48:44.06ID:XV1yMITLa 別に適当に質問してくるなら適当に返せばいいでしょ
それなりの回答を求めるならそれなりに質問するのが常識では
それなりの回答を求めるならそれなりに質問するのが常識では
567デフォルトの名無しさん (ワッチョイ 1f5f-H9yk)
2021/08/20(金) 18:27:44.18ID:pH4dbDdN0568デフォルトの名無しさん (ワッチョイ ffb0-+zBM)
2021/08/20(金) 19:51:09.61ID:qaJDzmMG0 質問スレなのに質問しにくい雰囲気を作っていくぅ〜
569デフォルトの名無しさん (ワッチョイ ffda-FcIJ)
2021/08/20(金) 22:28:26.67ID:tsSDUWXI0 問題ない
570デフォルトの名無しさん (ワッチョイ 7f92-Awm0)
2021/08/21(土) 00:15:10.89ID:fb/04mNm0571デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/21(土) 03:34:48.94ID:ezVaAvb40 >>557
んだよコレクションにFileオブジェクト積み立ててFor Eachの最中にコレクションにFile追加したら追加した分だけループしねーのかと思っちまったじゃねーか。
普通に回るわ。
コレクションに積み立てたFileがxlsmのときはxlsxでセーブしてコレクションの中身の参照をそっちに置き換えて開いて加工してセーブすりゃいいだけじゃねーか。
ループし切らないと思ったから、ファイル情報を抱えるエンティティクラス作って、そんなかに加工済みフラグとか設けて、ファイル追加したときにループ処理再帰してもう加工済みだったら処理飛ばすとかしなきゃいけないとか思ったから実は結構骨のある質問じゃないのか?とか思ってバカ見たわ。
いや、単に俺の知識不足だな。すまんかったな。もう寝るわ。
んだよコレクションにFileオブジェクト積み立ててFor Eachの最中にコレクションにFile追加したら追加した分だけループしねーのかと思っちまったじゃねーか。
普通に回るわ。
コレクションに積み立てたFileがxlsmのときはxlsxでセーブしてコレクションの中身の参照をそっちに置き換えて開いて加工してセーブすりゃいいだけじゃねーか。
ループし切らないと思ったから、ファイル情報を抱えるエンティティクラス作って、そんなかに加工済みフラグとか設けて、ファイル追加したときにループ処理再帰してもう加工済みだったら処理飛ばすとかしなきゃいけないとか思ったから実は結構骨のある質問じゃないのか?とか思ってバカ見たわ。
いや、単に俺の知識不足だな。すまんかったな。もう寝るわ。
572デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/21(土) 11:04:58.97ID:zxg8KyYK0 For Eachの順序はファイル名か何かだから、
既にforeachの処理が過ぎたファイル名だと実行されないぞ
既にforeachの処理が過ぎたファイル名だと実行されないぞ
573デフォルトの名無しさん (ワッチョイ 7fad-FcIJ)
2021/08/21(土) 17:09:47.50ID:aaIGTne20574デフォルトの名無しさん (JP 0Hc3-FcIJ)
2021/08/21(土) 20:04:21.12ID:NaiRsfJYH 最初のループは一覧を2セット作るだけにして次のループで処理したら?
575デフォルトの名無しさん (ワッチョイ ff02-VfHF)
2021/08/21(土) 20:35:14.71ID:7GAoG1Iq0 Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しでView types参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、Cのソースコードを吐き出せるのでC言語でリモートワークされ
ている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しでView types参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、Cのソースコードを吐き出せるのでC言語でリモートワークされ
ている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
576デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/21(土) 23:03:58.45ID:ezVaAvb40 >>572
んなこたぁない。
実際やってみてコレクションに追加されたもんは頭から順にファイル名に関係なくFor Eachで拾えるのは確認済み。
ソース展開してもいいけどどっかにソース張り付けて展開出来るサイトない?
そこそこ大きくなったのと5chに貼り付けると連続した半角スペースが1個になるから見づらいもんね。
んなこたぁない。
実際やってみてコレクションに追加されたもんは頭から順にファイル名に関係なくFor Eachで拾えるのは確認済み。
ソース展開してもいいけどどっかにソース張り付けて展開出来るサイトない?
そこそこ大きくなったのと5chに貼り付けると連続した半角スペースが1個になるから見づらいもんね。
577デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/21(土) 23:17:33.77ID:ezVaAvb40 >>575
ぶっちゃけ始めるのにいい言語スレの誤爆だろうが、Rustは新し過ぎて本とかも殆ど出てないから初心者には向かないよ。
て言うかVisual Studio Codeで開発環境構築しようとしたけど動かん。
手順教えてくれるとありがたいんだがのう。
ま、スレ違いになるからそっちのスレ行くか。
ぶっちゃけ始めるのにいい言語スレの誤爆だろうが、Rustは新し過ぎて本とかも殆ど出てないから初心者には向かないよ。
て言うかVisual Studio Codeで開発環境構築しようとしたけど動かん。
手順教えてくれるとありがたいんだがのう。
ま、スレ違いになるからそっちのスレ行くか。
578デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/22(日) 00:09:36.86ID:3/Qg+sLj0 >>576
foreachは順序の保証は無いから途中で追加したり削除するとどうなるか分からない。
言語によってはエラー出るぐらいの変な挙動
試しにworksheetsでやってみたけど、途中で追加したものは処理されない
Sub foo()
flg = True
For Each x In Worksheets
'1周目の時だけworksheetを追加する
If flg Then
Worksheets.Add
flg = False
End If
Debug.Print x.Name
Next
End Sub
foreachは順序の保証は無いから途中で追加したり削除するとどうなるか分からない。
言語によってはエラー出るぐらいの変な挙動
試しにworksheetsでやってみたけど、途中で追加したものは処理されない
Sub foo()
flg = True
For Each x In Worksheets
'1周目の時だけworksheetを追加する
If flg Then
Worksheets.Add
flg = False
End If
Debug.Print x.Name
Next
End Sub
579デフォルトの名無しさん (ワッチョイ ff68-RJcP)
2021/08/22(日) 00:11:00.32ID:3/Qg+sLj0 >>578の続き
追加したものに対してもforeach内の処理かましたければ、
サブルーチンとして外に出して個別に実行した方が良い
※arrayに入れてから別のfoeachループにしたほうが良いかもしれない
Sub foo()
flg = True
For Each x In Worksheets
'各シートの処理
Call print_worksheets_name(x)
If flg Then
Set 新シート = Worksheets.Add
'新シートの処理
Call print_worksheets_name(新シート)
flg = False
End If
Next
End Sub
'メインの処理はここ
Function print_worksheets_name(x)
Debug.Print x.Name
End Function
追加したものに対してもforeach内の処理かましたければ、
サブルーチンとして外に出して個別に実行した方が良い
※arrayに入れてから別のfoeachループにしたほうが良いかもしれない
Sub foo()
flg = True
For Each x In Worksheets
'各シートの処理
Call print_worksheets_name(x)
If flg Then
Set 新シート = Worksheets.Add
'新シートの処理
Call print_worksheets_name(新シート)
flg = False
End If
Next
End Sub
'メインの処理はここ
Function print_worksheets_name(x)
Debug.Print x.Name
End Function
580デフォルトの名無しさん (アウアウウー Sa63-FcIJ)
2021/08/22(日) 00:39:14.99ID:vfl1uW7oa ググったらサンプルがあったから試してみた。コードはこれ
Sub Sample_Files()
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim myFiles As Object
Dim myFile As Object
Dim strFiles As String
Set myFiles = FSO.GetFolder("D:\test\").Files
strFiles = "ファイル数:" & myFiles.Count & vbCrLf
For Each myFile In myFiles
strFiles = strFiles & myFile.Name & vbCrLf '★
Next
MsgBox strFiles
End Sub
対象のフォルダに「新しいテキスト ドキュメント2.txt」「新しいテキスト ドキュメント4.txt」の2ファイルを格納
★にブレークポイントを設定して止まった時点で
対象のフォルダに「新しいテキスト ドキュメント1.txt」「新しいテキスト ドキュメント3.txt」の2ファイルを格納
この結果はMsgBoxは最初に格納されていたファイルのみが表示された
これを踏まえたらファイルを新たに保存しても保存したファイルはループ中は参照されないのでは
Sub Sample_Files()
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim myFiles As Object
Dim myFile As Object
Dim strFiles As String
Set myFiles = FSO.GetFolder("D:\test\").Files
strFiles = "ファイル数:" & myFiles.Count & vbCrLf
For Each myFile In myFiles
strFiles = strFiles & myFile.Name & vbCrLf '★
Next
MsgBox strFiles
End Sub
対象のフォルダに「新しいテキスト ドキュメント2.txt」「新しいテキスト ドキュメント4.txt」の2ファイルを格納
★にブレークポイントを設定して止まった時点で
対象のフォルダに「新しいテキスト ドキュメント1.txt」「新しいテキスト ドキュメント3.txt」の2ファイルを格納
この結果はMsgBoxは最初に格納されていたファイルのみが表示された
これを踏まえたらファイルを新たに保存しても保存したファイルはループ中は参照されないのでは
581デフォルトの名無しさん (ワッチョイ 7f4f-AI8d)
2021/08/22(日) 04:22:11.55ID:HSx9B6Zm0 >>578-580
なるほど言いたいことは分かった。
確かにFor Eachの取得順が保証されないのは正しい。
だがその話には続きがある。
For Each の取得順序が保証されていないのは、
取得元のObjectに依存するから。
https://thom.hateblo.jp/entry/2018/08/11/194900
そしてくだすれでソース展開用サイト教えてもらったから
ソース貼っといた。
https://pastebin.com/RBXU7SyT
Test3.xlsmとTest4.xlsx作って先にコレクションに登録。
ループ途中でTest1.xlsmとTest2.xlsxを作成して追加しているが、
挙動がおかしいようであれば言ってくれ。
なるほど言いたいことは分かった。
確かにFor Eachの取得順が保証されないのは正しい。
だがその話には続きがある。
For Each の取得順序が保証されていないのは、
取得元のObjectに依存するから。
https://thom.hateblo.jp/entry/2018/08/11/194900
そしてくだすれでソース展開用サイト教えてもらったから
ソース貼っといた。
https://pastebin.com/RBXU7SyT
Test3.xlsmとTest4.xlsx作って先にコレクションに登録。
ループ途中でTest1.xlsmとTest2.xlsxを作成して追加しているが、
挙動がおかしいようであれば言ってくれ。
582デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/22(日) 08:13:33.74ID:bz4GO5A/0 FileSystemObjectのFilesの話だけどCollectionで問題ないから俺の勝ちー
ってか?w
ってか?w
583デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/22(日) 08:38:21.01ID:HSx9B6Zm0584デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/22(日) 09:40:51.11ID:bz4GO5A/0585デフォルトの名無しさん (ワッチョイ ffda-FcIJ)
2021/08/22(日) 09:49:45.02ID:AgYnuzAe0 いつもの質問に相手した時点で負け
586デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/22(日) 10:04:31.73ID:HSx9B6Zm0 >>584
別にコレクションじゃなくても配列だろうがディクショナリだろうが何でもいいよ。Filesの中身を最初に積み立て直してループしてやればいいこと。
詰め込み対象のループの動作保証が欲しいなら>571で言った通りエンティティクラス用意して何かに詰め込んで一度加工したかどうかのフラグ持って、追加したらエンティティクラスも追加しといて、ファイル追加したらループ再帰して加工したフラグが立っていれば処理飛ばせばいいこと。
まぁ何故Filesを持ち回ることにそんなに執着しているのか知らんけど、そうでなければこの方法で実現出来るのは確か。
そんなにFiles持ち回ることに拘るなら人の作ったもんに文句ばかり言ってないでそれで実現出来るコード晒せばいい。
別にコレクションじゃなくても配列だろうがディクショナリだろうが何でもいいよ。Filesの中身を最初に積み立て直してループしてやればいいこと。
詰め込み対象のループの動作保証が欲しいなら>571で言った通りエンティティクラス用意して何かに詰め込んで一度加工したかどうかのフラグ持って、追加したらエンティティクラスも追加しといて、ファイル追加したらループ再帰して加工したフラグが立っていれば処理飛ばせばいいこと。
まぁ何故Filesを持ち回ることにそんなに執着しているのか知らんけど、そうでなければこの方法で実現出来るのは確か。
そんなにFiles持ち回ることに拘るなら人の作ったもんに文句ばかり言ってないでそれで実現出来るコード晒せばいい。
587デフォルトの名無しさん (アウアウウー Sa63-FcIJ)
2021/08/22(日) 10:46:11.18ID:vfl1uW7oa こうすればいいよって回答してあげるのはかまわないけど
そもそもなぜそれがダメなのかを指摘してあげたるのも大事では
当初の質問であれば
>・ループの最初にxlsmを開いてxlsxとして保存する処理を入れたものの
> そのxlsxが加工されない
「ループの中で新たなファイルを作ってもFilesではそのファイルが取得できないようだ」という問題点を教えて
そのうえで中略のコードをSub化してループで取得したファイルもループの中で作成したファイルも
そのSubを呼び出すようにするとか解決策を提示したほうがいいんじゃないかねえ
そもそもなぜそれがダメなのかを指摘してあげたるのも大事では
当初の質問であれば
>・ループの最初にxlsmを開いてxlsxとして保存する処理を入れたものの
> そのxlsxが加工されない
「ループの中で新たなファイルを作ってもFilesではそのファイルが取得できないようだ」という問題点を教えて
そのうえで中略のコードをSub化してループで取得したファイルもループの中で作成したファイルも
そのSubを呼び出すようにするとか解決策を提示したほうがいいんじゃないかねえ
588デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/22(日) 11:08:18.32ID:bz4GO5A/0589デフォルトの名無しさん (ワッチョイ 7f4f-cvdf)
2021/08/22(日) 11:11:26.73ID:HSx9B6Zm0590デフォルトの名無しさん (ワッチョイ 7f01-9KvQ)
2021/08/22(日) 11:39:16.64ID:bz4GO5A/0 はじめから頓珍漢だっていう指摘だから誰かさんにまともな理解力あれば既に終わってた話なんだけどねw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 三角形はカッコいい
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- みなみけ三姉妹誰が一番好き?
- 俺はヤンキーだから
- 【速報】高市早苗、起床 [779938112]
- ぬるぽ
