Excel VBA 質問スレ Part79(ワッチョイあり)

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (ワッチョイ aaa4-I2zm)
垢版 |
2023/01/28(土) 12:12:12.41ID:UjlIZ1Ov0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
Excel VBA 質問スレ Part77
https://mevius.2ch.net/test/read.cgi/tech/1658009255/
Excel VBA 質問スレ Part78
https://mevius.2ch.net/test/read.cgi/tech/1667104996/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2023/09/18(月) 12:24:57.59ID:96unkEOz0
>>802
絶対に試すべきだね。
2023/09/20(水) 11:06:33.59ID:GIJhei1D0
宣伝かよ削除依頼出した方がいいのかな?
2023/09/20(水) 11:48:24.12ID:vReq5NqSd
その方が良い
2023/09/21(木) 00:44:13.32ID:H7YqoNcR0
削除依頼って機能してるの?って疑問が
2023/09/21(木) 00:51:02.36ID:vSTRK7zj0
荒らしが多すぎてほとんど機能してない
依頼が100あっても実際に削除されるのは数個
2023/09/23(土) 08:13:34.89ID:EJsHT2SBd
他スレのこれに関しては削除依頼機能してるね
2023/09/23(土) 19:06:36.67ID:jmQqTPvF0
昔は削除人がすぐ動いてくれた気がする
2023/09/23(土) 21:22:49.47ID:yLXwI4cl0
悪ノリで真似してるやつも多いんだろ、しらんけど
2023/09/25(月) 14:49:00.33ID:AvFI4mAE0
Excelスレ、マクロスレともにだんだん過疎ってきてるのはネタが尽きたからかな?
それともExcel自体オワコンだから?
2023/09/25(月) 15:21:12.63ID:Hhr+Al0F0
最近5chの規制が厳しくなって、かなり書き込みがやりにくくなった
類似の掲示板がいくつもできて互いに潰し合いをしてて、人が分散した
2023/09/25(月) 17:48:13.18ID:AvFI4mAE0
そうなんだ。道理で寂しくなった訳だ。一週間以上書き込みなしとかザラ
2023/09/25(月) 19:51:38.65ID:h4JXV3std
書き込み規制が一番影響大きかった気がする
2023/09/25(月) 20:14:28.69ID:qz1xrI0zd
LINE掲示板への誘導もかなりひどいことになってるし
2023/09/26(火) 02:09:19.73ID:N1pTSTsE0
月イチで書き込み規制食らう。もう5ちゃんは終わりかも。
2023/09/26(火) 10:29:35.57ID:wjfDMRbv0
今VBAの質問したい場合はどこに書くのがベスト?
qiitaは鼻で笑われそう
知恵袋が年齢層とマッチしてるかな
2023/09/26(火) 12:02:20.02ID:fy30Qqf30
まずはここに書いてみ?
2023/09/26(火) 12:49:35.87ID:QhUA9uAI0
知恵袋も下火っぽいよ。
2023/09/26(火) 12:58:35.95ID:OBNYB9z3M
copilotに聞けばいいよ
2023/09/26(火) 13:21:45.27ID:LWSdo286d
copilotは知恵袋より信頼できると思う
2023/09/26(火) 18:13:51.85ID:N1pTSTsE0
ms純正だから信頼できるよね
823デフォルトの名無しさん (ワッチョイ 869b-lrL5)
垢版 |
2023/09/26(火) 18:28:27.80ID:RHujdELN0
MS製だから信用できんのだろうが
2023/09/26(火) 19:32:53.14ID:wjfDMRbv0
copilotってVBEでも使えるの?
他言語だがVSCodeでは使ってる
あれ凄いよね、もはや上手いコメント書いたら殆どコーディングしてくれる
体験版終わったら脳死で課金した
825デフォルトの名無しさん (ワッチョイ 1e8e-XHBf)
垢版 |
2023/09/26(火) 20:10:45.32ID:UX+CVdyj0
>>824
基本的なことがわからない探せないお前みたいな低次元の無能な人が重宝するだけ
2023/09/26(火) 20:47:48.58ID:e5wjlTrL0
まぁちょっとでもコーディング楽したいからカネ払うってのはアリカモとわ思いましたケドぬ
2023/09/27(水) 08:16:47.55ID:KzAf4gKK0
これ以上カネ払いたくない
2023/09/27(水) 11:24:21.36ID:pPbUGATv0
俺は こんな情報すら知らない『情弱』だったわ。
https://sogyotecho.jp/microsoft-365-copilot/
2023/09/28(木) 22:12:51.19ID:dYhUuhvT0
Redimって途中からの指定は無理なのか?
Redim Arry(1 to Ubound (Arry) , 5 to 10)みたいな感じにしたいんだが
2023/09/28(木) 23:04:37.28ID:Kp8uTxgJ0
無理
2023/09/29(金) 01:59:31.59ID:YBCTJXQl0
>>829
途中ってどういう意味だ?

Sub test()
Dim Arry()
ReDim Arry(5, 10)
ReDim Arry(1 To UBound(Arry), 5 To 10)
End Sub

とくにエラーはでないが?
2023/09/29(金) 06:16:54.23ID:hPMCTGyUr
>>831
分かりにくくてすまん
Redim Arry(1 to Ubound (Arry) , 5 to 10)と書いてもエラーは出ないけど実際二次元側の配列に格納されるの1〜6の値になるってこと
2023/09/30(土) 00:04:10.69ID:u5B7upPH0
>>832
ますます意味がわからん
ReDimした段階で中身は空なんだが?
834デフォルトの名無しさん (ワッチョイ 23ea-/hnu)
垢版 |
2023/09/30(土) 10:41:38.51ID:e5dXzvv10
>>832
う〜ん、言っている内容がわからない。画面キャプチャして貼ってみて。
https://i.imgur.com/LPlz6iE.jpg
2023/09/30(土) 12:02:57.08ID:+2S9roRWd
値なのか添字なのかハッキリしてくれ
2023/09/30(土) 19:39:00.90ID:HRNdSGlC0
度々すいません

Sub test()

Dim Arry()

Arry = Sheet1.Range(“A1”).CurrentRegion.Value

Redim Arry(1 to Ubound (Arry) , 5 to 10)

End Sub

これで二次元側の値をArryの5〜10の値を格納したいけど1〜6の値がはいります

そもそも無理なんでしょうか?
2023/09/30(土) 19:44:55.14ID:HRNdSGlC0
Preserve書き忘れてましたけど実際は書いてます
2023/09/30(土) 20:30:52.83ID:ITwwqQZud
こいつずっと日本語おかしいけど
なんなの?w
839デフォルトの名無しさん (ワッチョイ 23ea-4a9y)
垢版 |
2023/09/30(土) 21:43:15.63ID:e5dXzvv10
>>836
何をやりたいのか書いた方がいいかも。
見た感じ、Redimの使い方を間違ってる、機能を誤解している印象。
2023/09/30(土) 21:52:52.81ID:UMbhW8aD0
>>836
>>834
841デフォルトの名無しさん (ワッチョイ 23ea-/hnu)
垢版 |
2023/10/01(日) 08:29:59.20ID:Po2H+ILb0
Redimは配列の要素数を変更するもの。元々の添字が1〜10でRedimで5 to 10としたら要素数を6に変更し添字が5から始まるようになるだけ。 Preserveを使っているなら元の値の頭から変更後の要素数分だけ持ってくる。

てか、この後どう使っているか知らないけどRedimする必要ある?
配列から値を読み出す時に添字をいじればいいんじゃない?

c = 4 ‘今回の使い方だと-4?
d = arry(a, b + c)
842デフォルトの名無しさん (ワッチョイ 0502-5C2y)
垢版 |
2023/10/01(日) 14:22:43.95ID:n3YXj22r0
素人質問で申し訳ありません。
VBAをコピーしつつ組んだのですが下記がエラーが出てしまいます。
ご教示いただけますと幸いです。
A行(A1:A100)をダブルクリックするとA行に1加算され、
B行(B1:B100)をダブルクリックすると、B行には年月日が、C行には時間が記載される。
D行(D1:D100)をダブルクリックすると、D行には時間が記載される。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, Range("A1:A100")) Is Nothing Then Target.Value = Target.Value + 1
If Not IsEmpty(Target) Then Exit Sub
If Intersect(Target, Range("B1:B100,D1:D100")) Is Nothing Then Exit Sub
If Target.Column = 2 Then
Target.Value = Date
Target.Offset(, 1).Value = Time
ElseIf Target.Column = 3 Then
Target.Value = Time
ElseIf Target.Column = 4 Then
Target.Value = Time
End If
Cancel = True
Cancel = True
End Sub
2023/10/01(日) 16:06:27.86ID:BhexpavYd
どんなときにどんなエラーが出るか(どのコードでエラーがでるかなど)ぐらい書いたほうがいいんじゃね
素人でもそれぐらいはできるでしょ
844842 (ワッチョイ 0502-UA51)
垢版 |
2023/10/01(日) 17:20:06.14ID:n3YXj22r0
>>843
すみません。エラーが出るというより、A行とD行しか反応しません。
2023/10/02(月) 03:50:19.29ID:oQhLkSNR0
>>842
とりあえずこれで動くけど、何か説明が抜けてない?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Intersect(Target, Range("A1:A100,B1:B100,D1:D100")) Is Nothing Then Exit Sub
  If Target.Column = 1 Then 'A列
    Target.Value = Target.Value + 1
  ElseIf Target.Column = 2 Then 'B列
    Target.Value = Date
    Target.Offset(, 1).Value = Time
  ElseIf Target.Column = 4 Then 'D列
    Target.Value = Time
  End If
  Cancel = True
End Sub
846842 (ワッチョイ 756f-4zuU)
垢版 |
2023/10/02(月) 08:22:38.98ID:9fso2rak0
>>845
ありがとうございます。
やってみます。
説明できる限りのことは書いたのですが
要領を得なかったら申し訳ありません。
2023/10/02(月) 09:11:09.89ID:MMPwIajKd
>>846
自分の書いてる説明には
If Not IsEmpty(Target) Then Exit Sub
これに相当することが書かれてないけど必要なの?
これがあるとB列とD列は一度設定されると以降の処理が動作しないよね(未設定の時だけ設定される動作)
(そういう点では>>845のコードは説明に合わせたコード)
あと
ElseIf Target.Column = 3 Then
Target.Value = Time
これは自分の説明にはない動作だよね(「C列をダブルクリックしたら時間を設定」だけど実際にはIntersectの範囲に含まれないから動作しない)
848デフォルトの名無しさん (ワッチョイ 7d9a-/sIl)
垢版 |
2023/10/02(月) 12:25:48.10ID:ld9+k8U+0
>>反応しません
ってので見てるとこがね…
849デフォルトの名無しさん (ワッチョイ 7d9a-/sIl)
垢版 |
2023/10/02(月) 12:26:02.80ID:ld9+k8U+0
>>反応しません
ってので見てるとこがね…
850デフォルトの名無しさん (ワッチョイ 859d-iLfk)
垢版 |
2023/10/11(水) 12:18:31.21ID:VviNns4z0
vbaを含むxlsmファイルのライセンスってどこに含めるのが一般的ですか?
851デフォルトの名無しさん (ワッチョイ 8554-tLBJ)
垢版 |
2023/10/11(水) 12:24:39.89ID:nuQ0rfxo0
つくったとこじゃね
2023/10/15(日) 13:46:37.05ID:f8ckKaeDM
VBA使えなくなるんですか???
https://gigazine.net/news/20231012-microsot-kill-off-vbscript/
2023/10/15(日) 13:55:09.75ID:vVffQC480
YES
854デフォルトの名無しさん (ワッチョイ fbbf-3tBr)
垢版 |
2023/10/15(日) 14:15:54.32ID:BVKbSlte0
>>852
馬鹿
2023/10/15(日) 14:24:09.38ID:vRG6kfBHM
VBSとVBAは別物なのでまだ当面使えなくなることはないだろうけどそろそろ別の手段を考え始めた方が良さげな感じではある
2023/10/15(日) 15:28:22.49ID:j1k0qbJm0
セキュリティリスクだからVBA使うなって会社もそろそろ増えてきてるだろうしな
857デフォルトの名無しさん (ワッチョイ 0bda-xRLz)
垢版 |
2023/10/15(日) 17:42:26.62ID:H9M8XB6j0
excelが悪い
2023/10/16(月) 09:17:56.44ID:1jmJ2+9pM
もう今はExcelとVBAではなくモダンExcelとPowerPlatformの時代
859デフォルトの名無しさん (アウアウウー Sadd-f0fU)
垢版 |
2023/10/16(月) 09:59:53.14ID:kgcCjrnKa
>>856
同じ理由ならpowershellも廃止すべきでは
860デフォルトの名無しさん (ワッチョイ 2bf7-xRLz)
垢版 |
2023/10/17(火) 07:51:58.43ID:mIHb8CZV0
自分が使わなければいいだけでしょ
2023/10/18(水) 10:45:13.63ID:BxVgF2oz0
なんでやねん、説明して
2023/10/18(水) 11:05:14.43ID:IL9b7uemd
>>861
スレチなので当該スレでやって
2023/10/19(木) 20:33:49.11ID:k8TjAFfd0
ACCESSの連結フォームのように、Excelのセルとフォームを簡単に連動させるテクニックはありますか?
2023/10/19(木) 20:36:45.56ID:k8TjAFfd0
ACCESSの連結フォームのように、Excelのセルとフォームを簡単に連動させるテクニックはありますか?
2023/10/19(木) 20:37:04.09ID:k8TjAFfd0
ACCESSの連結フォームのように、Excelのセルとフォームを簡単に連動させるテクニックはありますか?
2023/10/19(木) 20:37:18.34ID:k8TjAFfd0
ACCESSの連結フォームのように、Excelのセルとフォームを簡単に連動させるテクニックはありますか?
2023/10/19(木) 23:17:38.32ID:3q17UY2e0
Excelのセルを使ってVBAソースを作る
似たような式をフィルでズズーと作ると気持ちいいぞ
2023/10/20(金) 03:27:46.40ID:mGpX8NcL0
>>867
狙ったとこだけ変えるテクを教えてください
2023/10/20(金) 18:26:19.01ID:YxHuWP400
これを参考にしてみて、この程度でいいならいちばんシンプル
https://forest.watch.impress.co.jp/docs/serial/exceltips/1208637.html

もっと深く踏み込んだのが欲しければ、ここで在庫管理とかを解説してる 
真似するだけで、かなりのものに仕上がる
https://www.minizaiko.com/entry/ZaiSis102
2023/10/21(土) 03:50:37.64ID:4nC0eILg0
>>866
RowSourceとかControlSourceとか
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/listbox-control-boundcolumn-controlsource-rowsource-properties-example

>>869
今のエクセル、入力用フォーム自動生成してくれるのか
もう無茶苦茶な機能追加だな
でも自分でそのフォームカスタマイズできないのは魅力半減だな
2023/10/21(土) 03:54:30.35ID:+5aGT6RT0
設定ファイルを書き換えればカスタマイズできる
2023/10/25(水) 10:36:26.65ID:eJmjtmbA0
Excelなのですが、複数セルに条件付き書式を一括で追加したいです。(条件は各行変化する)
FomulaとFormatConditions.addを組み合わせる様な事をしたいのですが、
実際やるとエラーで通りません。

例えば
FormatConditions.Add(2,3, '=A2TRUE')
と言った具合で、範囲で追加したときAの値A2,A3,A4と変化させたい感じです。

また別言語(Powershell)から呼び出しているのでWith構文は使えないと思います。
Forで回しても良いのですが、1000行近くあるので時間が結構かかる為避けたいです。
873デフォルトの名無しさん (ワッチョイ c1a0-i2wx)
垢版 |
2023/10/25(水) 12:26:50.69ID:SA71alYG0
もっとよく考えたほうがいいと思う
2023/10/25(水) 20:06:44.00ID:FhNheB/20
>>872
1000行なんてパソコンにとっては全然多くない
どうやろうが一瞬で終わる程度の量
そんな作業はどう考えてもForで回した方が速い
2023/10/26(木) 11:27:43.31ID:0owHhtRH0
VBA内なら1000行すぐ終わるかも知れませんが
Powershellから呼び出しだと結構時間かかります
試しにComObject作成して確認してみて下さい
2023/10/26(木) 11:37:44.62ID:q3pE0MJPd
最初の質問から24時間以上経過してるけど、その間にパソコンを動かしてたら遅い方法でもとっくに終わってたやろうなあ
2023/10/26(木) 11:38:24.30ID:ewuxy2JXd
実際のセルの処理は時間がかかる
描画を止めてから処理すれば多少早くなるから、
Application.ScreenUpdating=Falseしてから処理をはじめ、
終わったらApplication.ScreenUpdating=True
計算処理も同様に
Application.Calculation = xlCalculationManual
やってからはじめて、
Application.Calculation = xlCalculationAutomaticでおえる
2023/10/26(木) 11:39:48.79ID:ewuxy2JXd
>>876
何度も使うつもりなら速いに越したことはないでしょ
一回切りなら尤もな話だけどさ
2023/10/26(木) 12:19:58.33ID:0owHhtRH0
質問取り下げます
まともに回答するつもりの方いない様なので
書き込む前から雰囲気悪いなと思ったけどやっぱりか・・
2023/10/26(木) 12:46:23.38ID:UgEvltp9M
変化する条件を一括設定したい
これだけ聞いたら「もう少し考えたら?」の回答しか出ないよ
2023/10/26(木) 14:25:49.72ID:w9aGlpnFd
>>879
与えられた条件で速くなりうる手段を考えて回答したのに、
まともな回答じゃないって判断されたんだね
考える時間もレスする時間も無駄にしたわ
2023/10/26(木) 14:46:30.23ID:Sxr6n1fv0
> VBA内なら1000行すぐ終わるかも知れませんが
> Powershellから呼び出しだと結構時間かかります

これよくわからない
時間がかかってるのはExcelの起動やらとかであって、Forの実行はVBA内で行われるんじゃないの?
2023/10/26(木) 14:51:50.68ID:ZtFvM5yP0
取り下げたんだからもう良いんじゃねw
自分の恥ずかしいところとか見つかったんだろうよw
2023/10/27(金) 15:12:43.55ID:fcYuq+zB0
>>883
> また別言語(Powershell)から呼び出しているのでWith構文は使えないと思います。
これもよくわからないし

Powershellって人がプロシージャに書いてある文章を一行ずつ読みにいって、自己解釈の元で自分で実行するみたいな発想だったのかね
ここまで意味不明な解釈してる人がどこで何に気がついたのか知らないけど>>879の捨て台詞は必要だったのかね
そして何よりもID:ewuxy2JXdが不憫で仕方がない
2023/10/27(金) 17:17:23.69ID:NmWpMbd70
これからこういう人多く成るんだよ? 高学歴が邪魔するのか何だか知らんけど
プライドだけは変な方向に高い 実務に即さない解決策を講じる 選択肢が間違ってても突っ走る
2023/10/27(金) 18:21:28.41ID:HOnfPTgV0
ChatGPTでしらべたけどよくわからん、みたいな?
887デフォルトの名無しさん (ワッチョイ 4ec2-WPgu)
垢版 |
2023/10/27(金) 21:02:38.87ID:4EmYUF1P0
馬鹿が考える解決方法はそんなもの
馬鹿ほど己の間違え方法にこだわる
2023/10/28(土) 00:17:29.34ID:jY1bWC/90
やっている本人しかわからない可能性があることなんていくらでもあるだろう。
2023/10/28(土) 06:04:48.34ID:frVn+RL00
セルに○○と打ち込んだ
これを.Valueで取ったら"○○"
.Textで取ったら" ○○ "になった
その前後のスペースはどこから来たんじゃい?
2023/10/28(土) 08:55:39.42ID:GGD6bBOU0
>>889
再現しない
https://i.imgur.com/6cSraSv.png
2023/10/28(土) 11:13:55.25ID:EfsxXat70
>>889
朝から寝ぼけたんじゃね
2023/10/28(土) 11:19:53.47ID:frVn+RL00
だよなあ
20年やっててこんなこと初めてだわ
2023/10/28(土) 15:22:33.56ID:Jo+R6/p70
馬鹿馬鹿って頻繁に書き込んでる人はよほど優秀なんだろうね。
Excelマクロ教室でも開けば良いのに。
2023/10/28(土) 20:44:15.82ID:13jr+kZc0
>>889
セルの書式
2023/10/29(日) 01:44:54.53ID:IGVL7C2J0
>>894
標準か文字型
○○は漢字で、
Cells(1, 1).Text = "○○" がFalseで、
Cells(1, 1).Value = "○○" がTrueになったので、
んなわけあるか!と思ってDebug.Printしたら、
.Textには前後に変な空白があったのよ
2023/10/29(日) 10:01:38.54ID:9r8OlfFd0
とりあえずトリムっとけばおk
2023/10/29(日) 10:54:39.06ID:j00+fEWV0
同じやん
https://i.imgur.com/ULDMIE0.png
2023/10/29(日) 12:32:43.45ID:T4jRmqRS0
>>895
問題のセルがA1だったとして、A1の表示形式を"標準"にする。
(一旦別の表示形式にして"標準"にするのがよい)
その状態からF2で一旦入力状態にして、Enterで確定。

これで同じになれば値をどうやって入れたかを調べる。
同じ列の別の行で同じことが起こるか、などいろいろ。

動けばいいんだったら、違うことを前提にして回避策をいれればいい。
2023/10/30(月) 00:45:58.32ID:ok297MD20
1セルだけ書式が会計になってたわ
>>891の言うとおりだった
すまん

しかし、なんで会計だと空白が付くのかという新たな疑問が
2023/10/30(月) 01:23:46.28ID:B1G43WsB0
>>899
セルや罫線の中で見やすくするためかしら?
桁区切り付き数値にしても、値の後に空白が入る。
2023/10/30(月) 10:34:02.92ID:upgSC0LO0
Textはあくまで見た目のデータだからね
書式設定のウインドウでも位置がズレることが確認できるはず
何故かはしらん、マイナスとかついたときの位置を固定するためとかやろ
2023/10/30(月) 11:27:34.15ID:TNhE6eNI0
標準で入ってる書式にもスペース入ってるのあるはず(前はあったが…)
あれみた時、見えない爆弾仕込んでるな…と思った
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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