Excel VBA 質問スレ Part75

■ このスレッドは過去ログ倉庫に格納されています
2022/02/09(水) 14:24:32.62ID:I0u44nFvd
!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
2022/02/24(木) 21:02:21.44ID:K0Kp1JdiM
>>186
おおおー!文字列になってるんですね、なるほど!明日会社でやってみます!
ご親切に教えていただきありがとうございました。

このスレの方すみませんでした。ありがとうございましたm(_ _)m
2022/02/24(木) 21:22:25.12ID:OIkOwNi30
>>187
おまえなんか話題振れよ
2022/02/24(木) 22:13:31.53ID:Nlim82gmM
さっき電車の中で向かいに若い女性の二人組が座っててさあ
2022/02/24(木) 23:52:39.32ID:CvXfU24U0
>>188
リアルすぎて草
2022/02/25(金) 03:22:55.08ID:hDgiDFze0
それで2人の会話を盗み聞きしたらさー
「職場にExcelマニアいるけどキッショいよねーwww」って言っていたよ〜
2022/02/25(金) 14:17:15.60ID:QcxlogpXM
そして、Excelマニアが退職したあと、Excelが壊れたとマニアに鬼電するまでがテンプレ
2022/02/25(金) 17:06:35.52ID:vXWN6Ngg0
Excelマニアってなんぞ
2022/02/25(金) 21:30:18.25ID:Wier9kYf0
関数式でif文書くだけでExcel詳しい人扱いされる国
197デフォルトの名無しさん (ワッチョイ ff89-iDSx)
垢版 |
2022/02/25(金) 22:44:14.64ID:DoxyywZF0
シートに写真をおいて,そこにマクロを登録するのですが,
クリックしている間は処理を継続させるようにするにはどうしたら良いでしょうか?
2022/02/25(金) 22:51:14.84ID:a/ksSb5+0
アルミ箔とリード線使うといいんじゃないか?
2022/02/25(金) 23:08:55.89ID:sygyzO5g0
イベント時で MouseOver とかか クリックし続けって無かったような MouseMove だっけ なんかその辺
2022/02/25(金) 23:33:04.48ID:O9IDWaUh0
Excelはマニアで済むけれど
Rubyなんて宗教だもんな
2022/02/26(土) 00:20:17.83ID:SY5M7+S/a
単なるあだ名だろw
2022/02/26(土) 03:20:22.62ID:T7kJgkW90
お前はカルメンか
2022/02/26(土) 07:13:12.65ID:S41FQOKr0
>>200
rubyが宗教って言われるのはrubyの製作者が熱心なクリスチャンだからだよ
まさかガチの狂信者が出てくるとは思わなかったが・・・w
204デフォルトの名無しさん (ワッチョイ ca89-ei6B)
垢版 |
2022/02/26(土) 10:24:59.15ID:jtqt4mXJ0
>>199
ありがとうございます!
2022/02/26(土) 18:17:50.12ID:duMrqy+m0
Excelマニアとデータ分析マニアは違うみたいね
2022/02/26(土) 18:30:22.44ID:ZAxvZ+Mc0
>>205
「分析」が「統計」だとすると、
最終的に中間処理やアウトプットはExcelでなくてRなんかに行っちゃうかも。
Excelは統計関係の関数がアレだし。
2022/02/26(土) 19:53:05.77ID:duMrqy+m0
それでも昔からみんなExcelで無理してきた感
2022/02/26(土) 20:05:05.05ID:JqjjL3aFa
そこでPython
2022/02/26(土) 20:10:28.10ID:bGmpH7iw0
言語ならRやPython
パッケージならSPSSやSAS
2022/02/26(土) 20:19:26.32ID:S41FQOKr0
今思えば256列の60000行でよくやってこれたなと思う
2022/02/26(土) 20:43:17.30ID:joT9B4PU0
今でも256列や60,000行を超える処理ならDBMSにするわ
2022/02/26(土) 21:51:16.00ID:ZAxvZ+Mc0
ワークシートに読込ませず、
Power Queryの「接続」(他所からクエリー)だけにしておくと
行数最大:1,048,576行
列数最大:16,384列
まで扱えるみたいだけど、なんか別の入れ物は必要・・・

Accessを入れ物にしようとすると
テーブルはフィールド数最大255、
行数はファイル全体で2GBまでということか。
2022/02/26(土) 22:05:30.45ID:8Bo34rLG0
Pythonは途中から
数学で出てくる数式が分からないとキツくなるからちょっと保留してRust
2022/02/26(土) 22:10:39.56ID:duMrqy+m0
理系向きなのね?
2022/02/26(土) 22:16:53.94ID:ZAxvZ+Mc0
営業でも重回帰分析だの相関係数だのやってるところもあるから・・・
統計に使う数学は
もはや文系/理系に関係ない時代の模様
216デフォルトの名無しさん (ワッチョイ de8e-BsgF)
垢版 |
2022/02/26(土) 22:23:53.97ID:XZXEjFci0
ID:ZAxvZ+Mc0

また知ったか馬鹿か
2022/02/26(土) 22:31:17.36ID:e5W/1zqv0
平均とグラフが作れればうちの所は余裕だ…
2022/02/26(土) 22:35:46.73ID:ZAxvZ+Mc0
>>216
知ったか?
そうかね?
デカいデータを四則演算だけで済ませられるのは
財務会計くらいやん。
2022/02/26(土) 23:12:20.49ID:S41FQOKr0
ダントツで扱い易いのは偏差値かな
相対的な指標としては良く使う
2022/02/26(土) 23:12:53.14ID:S41FQOKr0
って営業は作らんやろ
さすがにそこは営業事務が作ってあげると思う
221デフォルトの名無しさん (ワッチョイ de8e-BsgF)
垢版 |
2022/02/26(土) 23:51:35.28ID:XZXEjFci0
>>218
言い訳すればするほど馬鹿さらけ出し
2022/02/27(日) 00:09:08.97ID:XQfZTF0E0
うちの営業はExcelの使い方すら知らん
Excelなんて使わないよなー、Wordの方が使うわって会話聞いて戦慄した
2022/02/27(日) 03:40:18.89ID:vE3gjDOr0
Executeexcel4macroでwindowsapiを使う場合、
戻りがオブジェクトだったらどうするの?
2022/02/27(日) 03:54:20.37ID:eD286Vb90
祈る
2022/02/27(日) 06:03:46.97ID:So6tXBwD0
>>223
どうするもこうするも、setして使うしかないじゃろ
以下だってsheets関数に引数1入れて、sheetオブジェクトが返ってきてるわけだし、同じです
Set ws = Sheets(1)
2022/02/27(日) 06:07:27.75ID:a0+qdDh70
>>223
おまえが作ったコードは見たくないな
2022/02/27(日) 06:10:51.70ID:So6tXBwD0
>>226
まぁまぁ・・・
setは最初はとっつきにくいので・・・
2022/02/27(日) 07:03:43.76ID:vE3gjDOr0
そうじゃなくて2JNとか指定するやつ。
オブジェクトが無くて絶望的なんだけど。
2022/02/27(日) 07:22:28.14ID:So6tXBwD0
>>228
あぁHWNDとかの奴か。ごめん、これは昔諦めた。他の人お願い。
やりたいことを先に書けば、それっぽいコード書いてくれる人がでてくるかも
230デフォルトの名無しさん (テテンテンテン 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

この書き方でとりあえず消えるのですが、[ 獲得ポイント ]が無かった時にエラーになり止まってしまいます。
で、スルーしてほしいのですが、なにをやってもスルーしてもらえません。
なにもしないことがこんなに難しいとは思いませんでした。
ほっといて欲しいだけなのに

どうするとアホでもわかりますかね?
2022/02/27(日) 11:09:42.41ID:amhd0I0YM
On Error Resume Nextを頭に入れるだけ
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 でエラーが起きる可能性絶大
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

で大丈夫な感じですか
動作はしました。(他の命令のエラーはちゃんと出るかな?と)
234デフォルトの名無しさん (テテンテンテン MM86-jC74)
垢版 |
2022/02/27(日) 11:31:51.84ID:F9ScTckVM
>>232
あれ? まじですか
ちょっとわからない

ちなみにMsgBox を出したくないんです。
そのままスルーしてほしいのです
2022/02/27(日) 11:40:19.04ID:So6tXBwD0
>>233
onerrorはなるだけ使わない方が良いと思う。俺は使わずに書いてるよ
>>233でもいいけど、なるだけ少ない方が後々の変更が楽になる

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
End If

End Sub
2022/02/27(日) 11:42:39.74ID:amhd0I0YM
>>234
動いたんならまず一旦良しとしていいと思う
良いやり方が他にもあるから今後更に知識が付いたその時に改良していけば良いさ
237デフォルトの名無しさん (テテンテンテン MM86-jC74)
垢版 |
2022/02/27(日) 11:53:19.82ID:F9ScTckVM
どうもありがとう

ただ、なんかわからないのだが、ほかの所がエラー吐いてしまっています。
ちょっと死にそうですが、悩んでみます。
多分、また来ますw
2022/02/27(日) 12:19:45.80ID:So6tXBwD0
どうぞ〜がんばって〜
2022/02/27(日) 14:32:58.22ID:F9ScTckVM
>>235
おま、これすごい

これにしてみたら他に出たエラーもピシっと消えた
On Error は動いたけど、イレギュラーなパターンだとなぜか他でエラーになった
これも試したらイレギュラーでもバッチり

つーか、俺が昨日の夜中からずううとやっていてもこんなの作れないありがとう
ホント君らすげーよ
これ作るのに寿命を迎えるレベルだわ
2022/02/27(日) 14:49:32.88ID:So6tXBwD0
>>239
笑った
影響が最小限になるように、ちゃんと書く方が楽なんだよ
onerrorとかですっ飛ばすと、後で余計に大変になる
2022/02/27(日) 17:57:55.85ID:JWEArlQD0
関数て約500種類弱あるけど、全部マスターする必要あるのかな??
知人が、「Excelができる人材の定義は関数を全部マスターしているヤツの事だ!」とか言い出しているから
2022/02/27(日) 18:04:55.19ID:ZPGXXCGc0
VBAなら関数って自作が基本じゃないの?知らんけど
2022/02/27(日) 18:06:25.05ID:So6tXBwD0
>>241
>関数て約500種類弱あるけど、全部マスターする必要あるのかな??
ないよ
2022/02/27(日) 18:28:40.28ID:CUu39Gd8M
https://forest.watch.impress.co.jp/docs/news/1293471.html
2022/02/27(日) 18:34:38.78ID:a0+qdDh70
そら作れば無限に出来るわいな
2022/02/27(日) 18:39:37.90ID:tDC5899T0
>>241
EXCELが(凄く)できる人かEXCELが(初心者だけど)できる人では違うんじゃね
2022/02/27(日) 18:47:42.24ID:NFpbXNxz0
>>241
その知人に認めたくない人がいてExcelできる人で通ってるけど
関数はマスターしてないから言ってるだけ説
2022/02/27(日) 18:50:42.59ID:AJPusFVK0
知ってる関数の数なんて誇る奴がいたら失笑もんだわ
2022/02/27(日) 18:55:10.53ID:a0+qdDh70
標準の関数は少ないよな
俺はSUM CONCATENATE IFくらいしか覚えてない(ヘルプが必要)がその知人よりは多分出来ると思う
2022/02/27(日) 18:58:34.59ID:WwuIS/YcM
>>247
多分合ってるんだろうけどメッチャ理解し難いぐちゃぐちゃ関数式の様な日本語
251デフォルトの名無しさん (ワッチョイ de8e-BsgF)
垢版 |
2022/02/27(日) 19:18:55.52ID:Jrkr8SKF0
>>241
その知人が馬鹿なだけだぞ
2022/02/27(日) 19:50:11.71ID:So6tXBwD0
知人ぼろかすで草
2022/02/27(日) 19:54:03.00ID:XX45AiX5d
Excelにどんな機能がある=関数
ってしかいえない人の戯言では
2022/02/27(日) 20:40:55.89ID:D3HmGJ+n0
>>241

If 友人が「Excelができる人材の定義は関数を全部マスターしているヤツの事だ!」と言った then
  throw 友人 どこか
End If

以下正常処理
2022/02/27(日) 20:51:03.99ID:nGlHhzSe0
If 友人が Then
 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
のチェックをしておかないと例外が発生しかねんぞ
2022/02/27(日) 21:18:59.32ID:f8g0XzTm0
>>254
そこはRaiseだろ
2022/02/27(日) 21:27:51.88ID:So6tXBwD0
?友人 is nothing
true
2022/02/27(日) 21:34:07.20ID:nGlHhzSe0
確認事項
・友人はいますか
・親友はいますか
・彼女はいますか
・配偶者はいますか
・家族はいますか
・老後の心配はありませんか
2022/02/27(日) 21:42:34.72ID:NFpbXNxz0
>>250
知人A, 知人が認めたくない人B
Bは皆にできる人って思われてる
Aはそれが気に食わない
だから関数をマスターしていない事を理由に言ってるだけ説

ごめん頼んだ
2022/02/27(日) 21:46:20.69ID:pkdB1ort0
人生の大抵の困難はon erorr resume nextで解決可能である
2022/02/27(日) 21:52:09.54ID:nGlHhzSe0
On Error Shutdown And Reboot With Next Life
2022/02/27(日) 22:13:39.17ID:amhd0I0YM
>>262

例外処理が抜けてる

If You = カーズ Then
Do Until 地球からの距離 = 0
地球からの距離 = 地球からの距離 + 1
Loop
Elseif You = ディアブロ Then
死ぬ前:
死にそう
Goto:死ぬ前
死んだ

End if
2022/02/27(日) 22:37:19.46ID:oWne56vR0
Dim tmp As String
tmp = "どんまい"
MsgBox tmp
2022/02/27(日) 23:16:15.15ID:JWEArlQD0
関数そこまで必要かな?
マクロできるなら全部マクロでやれば良いじゃんね
266デフォルトの名無しさん (ワッチョイ de8e-BsgF)
垢版 |
2022/02/27(日) 23:42:12.81ID:Jrkr8SKF0
>>265
類は友を呼ぶ
お前もどうしようもない馬鹿だ
2022/02/28(月) 03:06:37.96ID:kykjWS4h0
いやだなぁ〜先輩、冗談すよ冗談
職場になんでもVBA、VBAといってマジでVBAで片付けていた偉い人がいたもんでw
2022/02/28(月) 08:14:19.86ID:9UyyIrQV0
知人が、偉い人が、全て他人の話
ほんとうは・・・?
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
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
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
2022/02/28(月) 21:56:13.38ID:1x7bPtTEd
ぶっちゃけFindは滅多やたら使わん方が良いけどまあ良かったじゃん
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関数の正しい書き方を教えてもらいたいのですが。
2022/03/01(火) 22:29:13.54ID:Nv0Sds8Bd
ちゃんと見ていないが、とりあえず.cellsの前にも全部ワークシートを指定しよう
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)
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関数で切り上げしているのが原因なのでしょうか?
どなたかご教示いただきたいです…
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"))
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
2022/03/02(水) 18:43:03.81ID:Dpz5qFA70
>>279
MRoundにしてみたらできました!
ありがとうございます!

TimeValueについて書き損じ失礼しました
本来は"23:30"ではなく変数が入っていて、変数には23:30のシリアル値が入っています
なぜ0になってしまうのか謎ですが解決してよかったです
2022/03/02(水) 19:19:22.93ID:n7HPCvTSa
23時の次は24時ではなく0時だからだわな
2022/03/02(水) 19:25:50.55ID:ydQ1ic0a0
>>281
いや、書式設定が[h]なら24と表示されるはず
2022/03/03(木) 07:42:09.33ID:LvEeINitr
>>276
無事に動きました。
ありがとうございました。
284デフォルトの名無しさん (テテンテンテン 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を行き来して片方はマクロを作動させた時にアクティブだったシートって条件にしたいのです。
2022/03/03(木) 14:00:06.45ID:rCo9Fm7Z0
AvtIVeやらしてる時点で作者も大した事なさそう
2022/03/03(木) 14:13:34.66ID:9O05M6/x0
>>284
For Each Ws In Worksheets
Ws.Activate
〜色々な動作〜
Next Ws

sheets("ワークシート名").Activate

WSをWorksheet("ワークシート名")
に変える
あと、Ws.Activateはなるべくやめたほうがいい
PCが重くてアクティブなシートやブックが変わると、大惨事になる可能性がある

本当にやるならopenなどで対象ファイルを開き、戻り値をsetするのが理想

>>285
??
2022/03/03(木) 14:19:57.38ID:KJVc8U50M
>>286
ありがとうございます。
この”ワークシート名”が分からなくても動かしたいのです。
つまり、hogehoge.xlsx だったり zukozuko.xlsxだったりするので
最初にアクティブだったファイル(シート)に戻ってくる汎用性がほしい。
2022/03/03(木) 14:22:48.58ID:9O05M6/x0
>>287
あぁ、じゃあ
ActiveSheet
でいいよ
ActiveSheet.Cells(1, 1) = 1
みたいな感じで使える
■ このスレッドは過去ログ倉庫に格納されています