!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
探検
Excel VBA 質問スレ Part79(ワッチョイあり)
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ aaa4-I2zm)
2023/01/28(土) 12:12:12.41ID:UjlIZ1Ov0851デフォルトの名無しさん (ワッチョイ 8554-tLBJ)
2023/10/11(水) 12:24:39.89ID:nuQ0rfxo0 つくったとこじゃね
852デフォルトの名無しさん (ブーイモ MM1d-YcX+)
2023/10/15(日) 13:46:37.05ID:f8ckKaeDM VBA使えなくなるんですか???
https://gigazine.net/news/20231012-microsot-kill-off-vbscript/
https://gigazine.net/news/20231012-microsot-kill-off-vbscript/
853デフォルトの名無しさん (ワッチョイ 131f-ty0S)
2023/10/15(日) 13:55:09.75ID:vVffQC480 YES
854デフォルトの名無しさん (ワッチョイ fbbf-3tBr)
2023/10/15(日) 14:15:54.32ID:BVKbSlte0 >>852
馬鹿
馬鹿
855デフォルトの名無しさん (ラクッペペ MMeb-BOBA)
2023/10/15(日) 14:24:09.38ID:vRG6kfBHM VBSとVBAは別物なのでまだ当面使えなくなることはないだろうけどそろそろ別の手段を考え始めた方が良さげな感じではある
856デフォルトの名無しさん (ワッチョイ 7b77-fsiV)
2023/10/15(日) 15:28:22.49ID:j1k0qbJm0 セキュリティリスクだからVBA使うなって会社もそろそろ増えてきてるだろうしな
857デフォルトの名無しさん (ワッチョイ 0bda-xRLz)
2023/10/15(日) 17:42:26.62ID:H9M8XB6j0 excelが悪い
858デフォルトの名無しさん (ラクッペペ MMeb-BOBA)
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も廃止すべきでは
同じ理由ならpowershellも廃止すべきでは
860デフォルトの名無しさん (ワッチョイ 2bf7-xRLz)
2023/10/17(火) 07:51:58.43ID:mIHb8CZV0 自分が使わなければいいだけでしょ
861デフォルトの名無しさん (ワッチョイ 8bcf-ye+N)
2023/10/18(水) 10:45:13.63ID:BxVgF2oz0 なんでやねん、説明して
862デフォルトの名無しさん (スッププ Sd33-1cTI)
2023/10/18(水) 11:05:14.43ID:IL9b7uemd >>861
スレチなので当該スレでやって
スレチなので当該スレでやって
863デフォルトの名無しさん (ワッチョイ b1ad-42pc)
2023/10/19(木) 20:33:49.11ID:k8TjAFfd0 ACCESSの連結フォームのように、Excelのセルとフォームを簡単に連動させるテクニックはありますか?
864デフォルトの名無しさん (ワッチョイ b1ad-42pc)
2023/10/19(木) 20:36:45.56ID:k8TjAFfd0 ACCESSの連結フォームのように、Excelのセルとフォームを簡単に連動させるテクニックはありますか?
865デフォルトの名無しさん (ワッチョイ b1ad-42pc)
2023/10/19(木) 20:37:04.09ID:k8TjAFfd0 ACCESSの連結フォームのように、Excelのセルとフォームを簡単に連動させるテクニックはありますか?
866デフォルトの名無しさん (ワッチョイ b1ad-42pc)
2023/10/19(木) 20:37:18.34ID:k8TjAFfd0 ACCESSの連結フォームのように、Excelのセルとフォームを簡単に連動させるテクニックはありますか?
867デフォルトの名無しさん (ワッチョイ d902-5vOF)
2023/10/19(木) 23:17:38.32ID:3q17UY2e0 Excelのセルを使ってVBAソースを作る
似たような式をフィルでズズーと作ると気持ちいいぞ
似たような式をフィルでズズーと作ると気持ちいいぞ
868デフォルトの名無しさん (ワッチョイ 5901-Q3Hg)
2023/10/20(金) 03:27:46.40ID:mGpX8NcL0 >>867
狙ったとこだけ変えるテクを教えてください
狙ったとこだけ変えるテクを教えてください
869デフォルトの名無しさん (ワッチョイ d9eb-AzOG)
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
https://forest.watch.impress.co.jp/docs/serial/exceltips/1208637.html
もっと深く踏み込んだのが欲しければ、ここで在庫管理とかを解説してる
真似するだけで、かなりのものに仕上がる
https://www.minizaiko.com/entry/ZaiSis102
870デフォルトの名無しさん (ワッチョイ ce2f-Nl27)
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
今のエクセル、入力用フォーム自動生成してくれるのか
もう無茶苦茶な機能追加だな
でも自分でそのフォームカスタマイズできないのは魅力半減だな
RowSourceとかControlSourceとか
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/listbox-control-boundcolumn-controlsource-rowsource-properties-example
>>869
今のエクセル、入力用フォーム自動生成してくれるのか
もう無茶苦茶な機能追加だな
でも自分でそのフォームカスタマイズできないのは魅力半減だな
871デフォルトの名無しさん (ワッチョイ 79ce-JD/u)
2023/10/21(土) 03:54:30.35ID:+5aGT6RT0 設定ファイルを書き換えればカスタマイズできる
872デフォルトの名無しさん (ワッチョイ 7ae6-RhFg)
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行近くあるので時間が結構かかる為避けたいです。
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 もっとよく考えたほうがいいと思う
874デフォルトの名無しさん (ワッチョイ 79ce-JD/u)
2023/10/25(水) 20:06:44.00ID:FhNheB/20875デフォルトの名無しさん (ワッチョイ 7ae6-dytz)
2023/10/26(木) 11:27:43.31ID:0owHhtRH0 VBA内なら1000行すぐ終わるかも知れませんが
Powershellから呼び出しだと結構時間かかります
試しにComObject作成して確認してみて下さい
Powershellから呼び出しだと結構時間かかります
試しにComObject作成して確認してみて下さい
876デフォルトの名無しさん (スップ Sd7a-JD/u)
2023/10/26(木) 11:37:44.62ID:q3pE0MJPd 最初の質問から24時間以上経過してるけど、その間にパソコンを動かしてたら遅い方法でもとっくに終わってたやろうなあ
877デフォルトの名無しさん (スッププ Sd9a-pqHO)
2023/10/26(木) 11:38:24.30ID:ewuxy2JXd 実際のセルの処理は時間がかかる
描画を止めてから処理すれば多少早くなるから、
Application.ScreenUpdating=Falseしてから処理をはじめ、
終わったらApplication.ScreenUpdating=True
計算処理も同様に
Application.Calculation = xlCalculationManual
やってからはじめて、
Application.Calculation = xlCalculationAutomaticでおえる
描画を止めてから処理すれば多少早くなるから、
Application.ScreenUpdating=Falseしてから処理をはじめ、
終わったらApplication.ScreenUpdating=True
計算処理も同様に
Application.Calculation = xlCalculationManual
やってからはじめて、
Application.Calculation = xlCalculationAutomaticでおえる
878デフォルトの名無しさん (スッププ Sd9a-pqHO)
2023/10/26(木) 11:39:48.79ID:ewuxy2JXd879デフォルトの名無しさん (ワッチョイ 7ae6-dytz)
2023/10/26(木) 12:19:58.33ID:0owHhtRH0 質問取り下げます
まともに回答するつもりの方いない様なので
書き込む前から雰囲気悪いなと思ったけどやっぱりか・・
まともに回答するつもりの方いない様なので
書き込む前から雰囲気悪いなと思ったけどやっぱりか・・
880デフォルトの名無しさん (ラクッペペ MMee-qMVt)
2023/10/26(木) 12:46:23.38ID:UgEvltp9M 変化する条件を一括設定したい
これだけ聞いたら「もう少し考えたら?」の回答しか出ないよ
これだけ聞いたら「もう少し考えたら?」の回答しか出ないよ
881デフォルトの名無しさん (スッププ Sd9a-pqHO)
2023/10/26(木) 14:25:49.72ID:w9aGlpnFd882デフォルトの名無しさん (ワッチョイ dd51-CxP9)
2023/10/26(木) 14:46:30.23ID:Sxr6n1fv0 > VBA内なら1000行すぐ終わるかも知れませんが
> Powershellから呼び出しだと結構時間かかります
これよくわからない
時間がかかってるのはExcelの起動やらとかであって、Forの実行はVBA内で行われるんじゃないの?
> Powershellから呼び出しだと結構時間かかります
これよくわからない
時間がかかってるのはExcelの起動やらとかであって、Forの実行はVBA内で行われるんじゃないの?
883デフォルトの名無しさん (ワッチョイ 1947-mqGH)
2023/10/26(木) 14:51:50.68ID:ZtFvM5yP0 取り下げたんだからもう良いんじゃねw
自分の恥ずかしいところとか見つかったんだろうよw
自分の恥ずかしいところとか見つかったんだろうよw
884デフォルトの名無しさん (ワッチョイ dd4e-CxP9)
2023/10/27(金) 15:12:43.55ID:fcYuq+zB0885デフォルトの名無しさん (ワッチョイ a551-dytz)
2023/10/27(金) 17:17:23.69ID:NmWpMbd70 これからこういう人多く成るんだよ? 高学歴が邪魔するのか何だか知らんけど
プライドだけは変な方向に高い 実務に即さない解決策を講じる 選択肢が間違ってても突っ走る
プライドだけは変な方向に高い 実務に即さない解決策を講じる 選択肢が間違ってても突っ走る
886デフォルトの名無しさん (ワッチョイ c1a5-ANn9)
2023/10/27(金) 18:21:28.41ID:HOnfPTgV0 ChatGPTでしらべたけどよくわからん、みたいな?
887デフォルトの名無しさん (ワッチョイ 4ec2-WPgu)
2023/10/27(金) 21:02:38.87ID:4EmYUF1P0 馬鹿が考える解決方法はそんなもの
馬鹿ほど己の間違え方法にこだわる
馬鹿ほど己の間違え方法にこだわる
888デフォルトの名無しさん (ワッチョイ 29a5-zW/F)
2023/10/28(土) 00:17:29.34ID:jY1bWC/90 やっている本人しかわからない可能性があることなんていくらでもあるだろう。
889デフォルトの名無しさん (ワッチョイ 29ca-mA8z)
2023/10/28(土) 06:04:48.34ID:frVn+RL00 セルに○○と打ち込んだ
これを.Valueで取ったら"○○"
.Textで取ったら" ○○ "になった
その前後のスペースはどこから来たんじゃい?
これを.Valueで取ったら"○○"
.Textで取ったら" ○○ "になった
その前後のスペースはどこから来たんじゃい?
890デフォルトの名無しさん (ワッチョイ d9ce-H9h+)
2023/10/28(土) 08:55:39.42ID:GGD6bBOU0891デフォルトの名無しさん (ワッチョイ 41da-c8RC)
2023/10/28(土) 11:13:55.25ID:EfsxXat70 >>889
朝から寝ぼけたんじゃね
朝から寝ぼけたんじゃね
892デフォルトの名無しさん (ワッチョイ 29ca-mA8z)
2023/10/28(土) 11:19:53.47ID:frVn+RL00 だよなあ
20年やっててこんなこと初めてだわ
20年やっててこんなこと初めてだわ
893デフォルトの名無しさん (ワッチョイ 19a9-v7Oi)
2023/10/28(土) 15:22:33.56ID:Jo+R6/p70 馬鹿馬鹿って頻繁に書き込んでる人はよほど優秀なんだろうね。
Excelマクロ教室でも開けば良いのに。
Excelマクロ教室でも開けば良いのに。
894デフォルトの名無しさん (ワッチョイ eb35-5Bl4)
2023/10/28(土) 20:44:15.82ID:13jr+kZc0 >>889
セルの書式
セルの書式
895デフォルトの名無しさん (ワッチョイ 296e-mA8z)
2023/10/29(日) 01:44:54.53ID:IGVL7C2J0 >>894
標準か文字型
○○は漢字で、
Cells(1, 1).Text = "○○" がFalseで、
Cells(1, 1).Value = "○○" がTrueになったので、
んなわけあるか!と思ってDebug.Printしたら、
.Textには前後に変な空白があったのよ
標準か文字型
○○は漢字で、
Cells(1, 1).Text = "○○" がFalseで、
Cells(1, 1).Value = "○○" がTrueになったので、
んなわけあるか!と思ってDebug.Printしたら、
.Textには前後に変な空白があったのよ
896デフォルトの名無しさん (ワッチョイ 1302-owJL)
2023/10/29(日) 10:01:38.54ID:9r8OlfFd0 とりあえずトリムっとけばおk
897デフォルトの名無しさん (ワッチョイ d9ce-H9h+)
2023/10/29(日) 10:54:39.06ID:j00+fEWV0898デフォルトの名無しさん (ワッチョイ d949-CP9B)
2023/10/29(日) 12:32:43.45ID:T4jRmqRS0 >>895
問題のセルがA1だったとして、A1の表示形式を"標準"にする。
(一旦別の表示形式にして"標準"にするのがよい)
その状態からF2で一旦入力状態にして、Enterで確定。
これで同じになれば値をどうやって入れたかを調べる。
同じ列の別の行で同じことが起こるか、などいろいろ。
動けばいいんだったら、違うことを前提にして回避策をいれればいい。
問題のセルがA1だったとして、A1の表示形式を"標準"にする。
(一旦別の表示形式にして"標準"にするのがよい)
その状態からF2で一旦入力状態にして、Enterで確定。
これで同じになれば値をどうやって入れたかを調べる。
同じ列の別の行で同じことが起こるか、などいろいろ。
動けばいいんだったら、違うことを前提にして回避策をいれればいい。
899デフォルトの名無しさん (ワッチョイ 1310-mA8z)
2023/10/30(月) 00:45:58.32ID:ok297MD20900デフォルトの名無しさん (ワッチョイ 51da-c8RC)
2023/10/30(月) 01:23:46.28ID:B1G43WsB0901デフォルトの名無しさん (ワッチョイ 1949-NstI)
2023/10/30(月) 10:34:02.92ID:upgSC0LO0 Textはあくまで見た目のデータだからね
書式設定のウインドウでも位置がズレることが確認できるはず
何故かはしらん、マイナスとかついたときの位置を固定するためとかやろ
書式設定のウインドウでも位置がズレることが確認できるはず
何故かはしらん、マイナスとかついたときの位置を固定するためとかやろ
902デフォルトの名無しさん (ワッチョイ 5101-LiJd)
2023/10/30(月) 11:27:34.15ID:TNhE6eNI0 標準で入ってる書式にもスペース入ってるのあるはず(前はあったが…)
あれみた時、見えない爆弾仕込んでるな…と思った
あれみた時、見えない爆弾仕込んでるな…と思った
903デフォルトの名無しさん (ワッチョイ 19e0-2XMF)
2023/10/30(月) 12:07:45.37ID:RmOFtzKv0 前の空白は数値で付くのはわかるが後ろの空白は謎
904デフォルトの名無しさん (ラクッペペ MM8b-BAEP)
2023/10/30(月) 12:28:45.35ID:lBYVOk8eM おそらく非表示の書式文字はアンダーバー+半角スペース1文字
905デフォルトの名無しさん (ワッチョイ d1b8-CP9B)
2023/10/30(月) 15:52:04.09ID:lVrtS1Ry0 会計を設定した場合に隙間が空くのは、次のような表示形式が行われるからです
_ \* #,##0_ ;_ \* -#,##0_ ;_ \* "-"_ ;_ @_
https://www.officepro.jp/exceltips/tips_format/index16.html
基本のキ
_ \* #,##0_ ;_ \* -#,##0_ ;_ \* "-"_ ;_ @_
https://www.officepro.jp/exceltips/tips_format/index16.html
基本のキ
906デフォルトの名無しさん (ワッチョイ 1949-vgKx)
2023/10/30(月) 16:33:05.01ID:upgSC0LO0 いやそれが何故かっていう疑問なんじゃないの・・・
(言い換えれば空ける理由、空けなくてもいいんじゃない?っていう疑問だと思う)
答え出るかわからんし闇っぽいから、はい次の方
(言い換えれば空ける理由、空けなくてもいいんじゃない?っていう疑問だと思う)
答え出るかわからんし闇っぽいから、はい次の方
907デフォルトの名無しさん (スップ Sd33-ZXrR)
2023/10/30(月) 16:45:21.41ID:+WHjaEV1d 闇って言いたいだけだろ
908デフォルトの名無しさん (ワッチョイ 296e-mA8z)
2023/10/30(月) 22:20:23.95ID:8XyBI/Ix0 書式設定を変えた時、文字の位置が少し変わるのは知ってたけど、まさかそれを内部的には空白で表現してるとは思わなかったよ
909デフォルトの名無しさん (ワッチョイ 1387-zW/F)
2023/11/01(水) 01:09:45.26ID:hjpDJv/i0 【質問】
Excelのソートに関しての質問です。
①シートの1列目の文字列に基づいて昇順でソートする。
②シートの1列目の文字列の先頭に「○」や「☆」などの記号がある場合は、それらを無視して2文字目の文字に基づいてソートしたい。
そこで下記コードを実行したところ、
「実行時エラー '1004': 並べ替えの参照が正しくありません。」というエラーが出ます。
どこをどう修正すればよいでしょうか?
Excelのソートに関しての質問です。
①シートの1列目の文字列に基づいて昇順でソートする。
②シートの1列目の文字列の先頭に「○」や「☆」などの記号がある場合は、それらを無視して2文字目の文字に基づいてソートしたい。
そこで下記コードを実行したところ、
「実行時エラー '1004': 並べ替えの参照が正しくありません。」というエラーが出ます。
どこをどう修正すればよいでしょうか?
910デフォルトの名無しさん (ワッチョイ 1387-zW/F)
2023/11/01(水) 01:11:37.64ID:hjpDJv/i0 Sub CustomSort()
Dim LastRow As Long
Dim SortRange As Range
Dim SortKeyRange As Range
Dim i As Long
With ActiveSheet
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
Set SortRange = .Range("A2:A" & LastRow)
Set SortKeyRange = .Range("B2:B" & LastRow)
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=SortRange, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SetRange SortRange
.Sort.Header = xlNo
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
Dim LastRow As Long
Dim SortRange As Range
Dim SortKeyRange As Range
Dim i As Long
With ActiveSheet
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
Set SortRange = .Range("A2:A" & LastRow)
Set SortKeyRange = .Range("B2:B" & LastRow)
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=SortRange, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SetRange SortRange
.Sort.Header = xlNo
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
911デフォルトの名無しさん (ワッチョイ 1387-zW/F)
2023/11/01(水) 01:12:11.61ID:hjpDJv/i0 For i = 2 To LastRow
If Left(SortKeyRange(i, 1), 1) Like "[○☆]" Then
SortKeyRange(i, 1) = Mid(SortKeyRange(i, 1), 2, 1)
End If
Next i
With ActiveSheet
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=SortKeyRange, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SetRange SortRange
.Sort.Header = xlNo
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
For i = 2 To LastRow
If Left(SortKeyRange(i, 1), 1) Like "[○☆]" Then
SortKeyRange(i, 1) = "○" & SortKeyRange(i, 1)
End If
Next i
End Sub
If Left(SortKeyRange(i, 1), 1) Like "[○☆]" Then
SortKeyRange(i, 1) = Mid(SortKeyRange(i, 1), 2, 1)
End If
Next i
With ActiveSheet
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=SortKeyRange, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SetRange SortRange
.Sort.Header = xlNo
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
For i = 2 To LastRow
If Left(SortKeyRange(i, 1), 1) Like "[○☆]" Then
SortKeyRange(i, 1) = "○" & SortKeyRange(i, 1)
End If
Next i
End Sub
912デフォルトの名無しさん (ワッチョイ d9ce-H9h+)
2023/11/01(水) 03:09:14.48ID:u6oKBIyz0 >>909
何もかも違ってる気がするので丸ごと作り直してみたけど、これで希望の結果になってるかはわからない
Sub CustomSort()
Dim LastRow As Long
Dim SortRange As Range
Dim SortKeyRange As Range
Dim i As Long
With ActiveWorkbook.ActiveSheet
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
Set SortRange = .Range("A2:B" & LastRow)
Set SortKeyRange = .Range("B2:B" & LastRow)
.Range("A2:A" & LastRow).Copy Destination:=SortKeyRange
For i = 2 To LastRow
If Left(.Cells(i, 1), 1) Like "[〇☆]" Then
.Cells(i, 2) = Mid(.Cells(i, 1), 2, 1)
End If
Next i
With .Sort
.SortFields.Clear
.SortFields.Add2 Key:=SortKeyRange
.SetRange SortRange
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End Sub
何もかも違ってる気がするので丸ごと作り直してみたけど、これで希望の結果になってるかはわからない
Sub CustomSort()
Dim LastRow As Long
Dim SortRange As Range
Dim SortKeyRange As Range
Dim i As Long
With ActiveWorkbook.ActiveSheet
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
Set SortRange = .Range("A2:B" & LastRow)
Set SortKeyRange = .Range("B2:B" & LastRow)
.Range("A2:A" & LastRow).Copy Destination:=SortKeyRange
For i = 2 To LastRow
If Left(.Cells(i, 1), 1) Like "[〇☆]" Then
.Cells(i, 2) = Mid(.Cells(i, 1), 2, 1)
End If
Next i
With .Sort
.SortFields.Clear
.SortFields.Add2 Key:=SortKeyRange
.SetRange SortRange
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End Sub
913デフォルトの名無しさん (スフッ Sd33-wFsA)
2023/11/01(水) 03:13:41.64ID:H7+Ix2LYd >>909
ほぼマルチんこ
ほぼマルチんこ
914デフォルトの名無しさん (ワッチョイ 1387-zW/F)
2023/11/01(水) 07:02:30.74ID:hjpDJv/i0 >>912
ありがとうございます。
ただ、そのコードを実行してみたら、ちょっとセルの中身がずれたりしていたので、色々試した結果、下記のコードで解決しました。
Sub CustomSortWithSymbol()
Dim LastRow As Long
Dim ws As Worksheet
Dim i As Long, j As Long, k As Long
Dim sortKey As String
Dim originalValue As String
Set ws = ThisWorkbook.ActiveSheet ' アクティブなシートを設定
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 最後の行を取得
Dim sortKeys() As String ' カスタムソートのため、ソートキーを一時的に保持
ReDim sortKeys(1 To LastRow)
For i = 2 To LastRow ' ○や☆の文字で始まる文字列の場合、次の3文字をソートキーとして設定
originalValue = ws.Cells(i, 1).Value
If Left(originalValue, 1) = "○" Or Left(originalValue, 1) = "☆" Then
sortKeys(i) = UCase(Mid(originalValue, 2, 3))
Else
sortKeys(i) = UCase(Left(originalValue, 3))
End If
Next i
ありがとうございます。
ただ、そのコードを実行してみたら、ちょっとセルの中身がずれたりしていたので、色々試した結果、下記のコードで解決しました。
Sub CustomSortWithSymbol()
Dim LastRow As Long
Dim ws As Worksheet
Dim i As Long, j As Long, k As Long
Dim sortKey As String
Dim originalValue As String
Set ws = ThisWorkbook.ActiveSheet ' アクティブなシートを設定
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 最後の行を取得
Dim sortKeys() As String ' カスタムソートのため、ソートキーを一時的に保持
ReDim sortKeys(1 To LastRow)
For i = 2 To LastRow ' ○や☆の文字で始まる文字列の場合、次の3文字をソートキーとして設定
originalValue = ws.Cells(i, 1).Value
If Left(originalValue, 1) = "○" Or Left(originalValue, 1) = "☆" Then
sortKeys(i) = UCase(Mid(originalValue, 2, 3))
Else
sortKeys(i) = UCase(Left(originalValue, 3))
End If
Next i
915デフォルトの名無しさん (ワッチョイ 1387-zW/F)
2023/11/01(水) 07:04:31.49ID:hjpDJv/i0 For i = 2 To LastRow ' ソートキーを使ってソート順を決定
For j = i + 1 To LastRow
If sortKeys(i) > sortKeys(j) Then
Dim tempKey As String ' ソートキーの順序を入れ替え
tempKey = sortKeys(i)
sortKeys(i) = sortKeys(j)
sortKeys(j) = tempKey
Dim tempValue As String ' A列のセルの値も入れ替え
tempValue = ws.Cells(i, 1).Value
ws.Cells(i, 1).Value = ws.Cells(j, 1).Value
ws.Cells(j, 1).Value = tempValue
For k = 2 To 10 ' B列~J列のセルの値も入れ替え
tempValue = ws.Cells(i, k).Value
ws.Cells(i, k).Value = ws.Cells(j, k).Value
ws.Cells(j, k).Value = tempValue
Next k
End If
Next j
Next i
End Sub
For j = i + 1 To LastRow
If sortKeys(i) > sortKeys(j) Then
Dim tempKey As String ' ソートキーの順序を入れ替え
tempKey = sortKeys(i)
sortKeys(i) = sortKeys(j)
sortKeys(j) = tempKey
Dim tempValue As String ' A列のセルの値も入れ替え
tempValue = ws.Cells(i, 1).Value
ws.Cells(i, 1).Value = ws.Cells(j, 1).Value
ws.Cells(j, 1).Value = tempValue
For k = 2 To 10 ' B列~J列のセルの値も入れ替え
tempValue = ws.Cells(i, k).Value
ws.Cells(i, k).Value = ws.Cells(j, k).Value
ws.Cells(j, k).Value = tempValue
Next k
End If
Next j
Next i
End Sub
916デフォルトの名無しさん (ワッチョイ 1946-Kw1v)
2023/11/02(木) 01:34:57.09ID:qnTt38vU0 めっちゃ解りやすい。上手ですね
917デフォルトの名無しさん (ワッチョイ 1949-NstI)
2023/11/02(木) 10:47:14.24ID:I7yCwl+w0 いえいえ
918デフォルトの名無しさん (ワッチョイ f3ad-2XMF)
2023/11/02(木) 12:10:56.31ID:T6fjkERA0 swap関数作るともっと簡単に
919デフォルトの名無しさん (ワッチョイ d23d-GxXh)
2023/11/10(金) 14:54:35.91ID:A5qmTFWx0 VBAでスクレイピングをしてるんだが
これはOK
Set o_elem = Driver.FindElementsByCss("ul.M_pager > li[class = 'next'] > a")
これはOK
Set o_elem = Driver.FindElementsByCss("ul.M_pager > li[class *= 'next'] > a")
これはエラーになる
Set o_elem = Driver.FindElementsByCss("ul.M_pager > li[class != 'next'] > a")
VBAのFindElementsByCssで!=を使う方法てある?
もちろん<>もだめ。
これはOK
Set o_elem = Driver.FindElementsByCss("ul.M_pager > li[class = 'next'] > a")
これはOK
Set o_elem = Driver.FindElementsByCss("ul.M_pager > li[class *= 'next'] > a")
これはエラーになる
Set o_elem = Driver.FindElementsByCss("ul.M_pager > li[class != 'next'] > a")
VBAのFindElementsByCssで!=を使う方法てある?
もちろん<>もだめ。
920デフォルトの名無しさん (ラクッペペ MM26-BCVm)
2023/11/10(金) 18:46:25.71ID:W6cpCxu4M ソレってVBAではなくDriverさんの文法ですよね?
921デフォルトの名無しさん (ワッチョイ c2c8-Q7Hv)
2023/11/10(金) 20:05:43.07ID:SDTABjlf0 コレでどーなるか ちょっと試してみてもらえるかぬ
Set o_elem = Driver.FindElementsByCss(“ul.M_pager > li:not([class = ‘next’]) > a”)
Set o_elem = Driver.FindElementsByCss(“ul.M_pager > li:not([class = ‘next’]) > a”)
922デフォルトの名無しさん (ワッチョイ d23d-GxXh)
2023/11/10(金) 23:38:13.76ID:A5qmTFWx0923デフォルトの名無しさん (スッップ Sd9f-Oetp)
2023/11/11(土) 00:16:15.21ID:QtW8OgmTd 解決オメだぬ
924デフォルトの名無しさん (ワッチョイ ff4f-ljUV)
2023/11/12(日) 20:06:42.57ID:evQWrDt50 デスクトップに保存したhtmlファイルを、Shell ("エッジのパス\msedge.exe" & path, vbNormalFocus)で開いています。
んで、そのhtmlファイルには複数個のリンクがあります。
各リンクを自動的にonClick()でクリックするにはどのようにすればいいでしょうか?
んで、そのhtmlファイルには複数個のリンクがあります。
各リンクを自動的にonClick()でクリックするにはどのようにすればいいでしょうか?
925デフォルトの名無しさん (ワッチョイ 9f30-i63k)
2023/11/13(月) 01:56:20.78ID:zqycnYO50 知らんが、onclickするより、
そのhtmlをテキストで読み込んで、
アドレス調べて直接開いた方がはやい
そのhtmlをテキストで読み込んで、
アドレス調べて直接開いた方がはやい
926デフォルトの名無しさん (ワッチョイ 7f53-5PwW)
2023/11/13(月) 07:48:09.28ID:qmUd3R410 >>924
ウイルスみたいなことは止めてね
ウイルスみたいなことは止めてね
927あぼーん
NGNGあぼーん
928デフォルトの名無しさん (ワッチョイ ff5d-qIOU)
2023/11/13(月) 10:34:01.20ID:M/Z3XSeO0 >>927
これは試す価値あるな
これは試す価値あるな
929デフォルトの名無しさん (スプッッ Sd7f-EFnx)
2023/11/13(月) 11:23:51.91ID:MRrvj9HMd >>924
イベントハンドラ(onClick)を自動的にクリックとか表現してるあたり、なんか基本がわかってなさそうなふいんきだけど、大丈夫?
Edgeに限らず、Shellで開いたアプリをクリックするのは不可能じゃないけどかなり大変
APIを使わないと無理なんだけど、Shell以外の方法で開くのはだめなの?
イベントハンドラ(onClick)を自動的にクリックとか表現してるあたり、なんか基本がわかってなさそうなふいんきだけど、大丈夫?
Edgeに限らず、Shellで開いたアプリをクリックするのは不可能じゃないけどかなり大変
APIを使わないと無理なんだけど、Shell以外の方法で開くのはだめなの?
930デフォルトの名無しさん (ワッチョイ ffb6-EFnx)
2023/11/13(月) 20:01:33.22ID:lWzkFiOt0 そういうのは、Ruby, Selenium WebDriver で出来そう
931デフォルトの名無しさん (ワッチョイ 7f07-1GGZ)
2023/11/14(火) 05:23:36.97ID:OZUGvDNw0 アクティブブックを保存してBluetoothでファイル転送。の方法をお教えいただきたくお願いいたします。
上記についてはウェブサイトでも見つかりませんでした。今は手段をメール添付にして似た動作で行っていますが、ローカルPCでも自動ファイル転送するケースがでてきたため、Bluetooth転送方法をお願いいたします。
上記についてはウェブサイトでも見つかりませんでした。今は手段をメール添付にして似た動作で行っていますが、ローカルPCでも自動ファイル転送するケースがでてきたため、Bluetooth転送方法をお願いいたします。
932デフォルトの名無しさん (ワッチョイ 9ffd-Oetp)
2023/11/14(火) 07:04:54.83ID:iOHrZmQ00 転送したいファイルを右クリックして 送る で BTデバイスを選択するダケと思いましたケドぬ
933デフォルトの名無しさん (ワッチョイ 9fce-lv/m)
2023/11/14(火) 13:08:23.76ID:nlIF0ifC0 >>931
BT通信の自動化はかなりめんどい
専門家に開発費を払って作ってもらうレベル
自分でやりたいなら、ここを参考にして
https://www.softech.co.jp/mm_170705_tr.htm
BT通信の自動化はかなりめんどい
専門家に開発費を払って作ってもらうレベル
自分でやりたいなら、ここを参考にして
https://www.softech.co.jp/mm_170705_tr.htm
934デフォルトの名無しさん (ワッチョイ ffbd-f7HJ)
2023/11/16(木) 21:59:20.91ID:NlRecVbU0 Microsoft 365 Excel バージョン2310 ビルド 16924.20124だけど、
name no
a 1
b 2
c 3
みたいなテーブル1を作ってワークシート上で
XLOOKUP("a",テーブル1[name],テーブル1[no],"")
ってやると当然1が帰るけど、
vbaで
With ThisWorkbook.Sheets(1).ListObjects("テーブル1").DataBodyRange
MsgBox Application.WorksheetFunction.XLookup("a", .Range("テーブル1[name]"), .Range("テーブル1[no]"), "")
End With
みたいにするとaだけ帰ってこない b以降はOK これは何でしょ?
name no
a 1
b 2
c 3
みたいなテーブル1を作ってワークシート上で
XLOOKUP("a",テーブル1[name],テーブル1[no],"")
ってやると当然1が帰るけど、
vbaで
With ThisWorkbook.Sheets(1).ListObjects("テーブル1").DataBodyRange
MsgBox Application.WorksheetFunction.XLookup("a", .Range("テーブル1[name]"), .Range("テーブル1[no]"), "")
End With
みたいにするとaだけ帰ってこない b以降はOK これは何でしょ?
935デフォルトの名無しさん (ワッチョイ 9ffd-Oetp)
2023/11/17(金) 00:30:19.09ID:82JP36FI0 With ThisWorkbook.Sheets(1).ListObjects("テーブル1").DataBodyRange
MsgBox Application.WorksheetFunction.XLookup("a", .Range("テーブル1[name]A1:A3"), .Range("テーブル1[no]"), "")
End With
こんなカンジで試してみてどーかぬ
MsgBox Application.WorksheetFunction.XLookup("a", .Range("テーブル1[name]A1:A3"), .Range("テーブル1[no]"), "")
End With
こんなカンジで試してみてどーかぬ
936デフォルトの名無しさん (ワッチョイ 7fea-ElWn)
2023/11/17(金) 05:58:28.92ID:cP0QxO9W0937デフォルトの名無しさん (スッップ Sd9f-ze79)
2023/11/17(金) 10:29:57.13ID:n+3yrbg2d938デフォルトの名無しさん (ワッチョイ ff02-czGt)
2023/11/17(金) 12:35:58.54ID:pS9NmqjV0 商社から上司経由でシステムの売り込みとかよく来るしpython勉強すればもっと広い範囲で出来たりするんだろうけど
vbaで何とかしようと考えちゃう悪癖が無くならない
42歳だけど化石人種のまま定年になるんかなぁ
vbaで何とかしようと考えちゃう悪癖が無くならない
42歳だけど化石人種のまま定年になるんかなぁ
939デフォルトの名無しさん (ワッチョイ 9ffd-Oetp)
2023/11/17(金) 17:47:10.30ID:82JP36FI0 得意なツールでなんとかするのわ ワルくわネエと思いますケドぬ
940デフォルトの名無しさん (スップ Sd9f-Blpp)
2023/11/17(金) 17:58:29.35ID:cgnjVGQxd ではN88BASICとフロッピーでなんとかします!
941934 (ワッチョイ ffbd-f7HJ)
2023/11/17(金) 20:54:07.11ID:Z3gLVdXN0 With ThisWorkbook.Sheets(1).ListObjects("テーブル1")
MsgBox Application.WorksheetFunction.XLookup("a", .ListColumns("name").Range, .ListColumns("no").Range, "")
End With
結局これでうまくいった おまえらありがとう
MsgBox Application.WorksheetFunction.XLookup("a", .ListColumns("name").Range, .ListColumns("no").Range, "")
End With
結局これでうまくいった おまえらありがとう
942デフォルトの名無しさん (ワッチョイ 9ffd-Oetp)
2023/11/17(金) 21:14:43.08ID:82JP36FI0 解決オメだぬ
943デフォルトの名無しさん (ワッチョイ 5d6e-ekUX)
2023/11/18(土) 09:48:39.54ID:zOT3yXlF0 ChatGPTのcursorとエクセルを連動することって出来ますかね?
cursorで作成したVBAコードをVBEに貼り付けて実行ではなく、
cursor内から直で実行したいです。
cursorで作成したVBAコードをVBEに貼り付けて実行ではなく、
cursor内から直で実行したいです。
944デフォルトの名無しさん (ワッチョイ 25fd-tA1D)
2023/11/18(土) 11:55:47.75ID:Qfp+vd6T0 cursor ってpythonなので python でエクセルを呼んでやれば可能と思いますケドぬ
945デフォルトの名無しさん (ワッチョイ 5d6e-ekUX)
2023/11/18(土) 15:43:14.57ID:zOT3yXlF0 ありがとうございます。
やっぱり難しいですよね。
そもそもVSCodeとVBAの相性もいまいちなことに気づきました。
やっぱり難しいですよね。
そもそもVSCodeとVBAの相性もいまいちなことに気づきました。
946デフォルトの名無しさん (ワッチョイ a15d-CeNl)
2023/11/18(土) 18:44:14.80ID:xWw6yRZ60 コピー元.Copy : コピー先.Paste
はクリップボード経由なので遅いと聞きましたが
コピー元.Copy Destination:=コピー先
はクリップボード経由でしょうか?
はクリップボード経由なので遅いと聞きましたが
コピー元.Copy Destination:=コピー先
はクリップボード経由でしょうか?
947デフォルトの名無しさん (ワッチョイ a15d-CeNl)
2023/11/18(土) 18:45:57.90ID:xWw6yRZ60 ChatGPTの回答を貼ってくれるのでも良いです。
948デフォルトの名無しさん (ワッチョイ 6101-lMS9)
2023/11/18(土) 19:32:00.40ID:Ej/o1uIw0 書いてる間に試せるだろうに
949デフォルトの名無しさん (スプープ Sd22-6ynB)
2023/11/18(土) 20:51:47.51ID:xC7uHPaQd 出先とかでVBA動かせない環境かもよ
copyメソッド=クリップボードにコピー
copyメソッド=クリップボードにコピー
950デフォルトの名無しさん (ワッチョイ 92bd-hO6y)
2023/11/18(土) 23:37:15.79ID:gYYEvv1+0 フォームボタンから引数付きマクロ呼び出すとエラー出たり再度ブック開くときに壊れるね
これ改善されないのかな
これ改善されないのかな
951デフォルトの名無しさん (ワッチョイ 59da-hO6y)
2023/11/19(日) 17:49:55.03ID:j1WNDpei0 意味わからんな、使い方が悪いんじゃね
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 高市早苗総理「金利上昇よりも日本の成長が大事」 [Hitzeschleier★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★2 [少考さん★]
- 【速報】 米国政府、中国が日本の自衛隊にレーダーを照射を批判、同事案で中国を批判するのは初めて [お断り★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★2 [Hitzeschleier★]
- 【将棋】福間香奈 女流六冠が会見 妊娠・出産でタイトル戦の事実上不戦敗 「妊娠したら、どちらか一方を諦めないといけない状況」 [冬月記者★]
- 【野球】止まらぬ野球人口減少に危機感 ラミレス氏「野球人口は激減、人気自体も下がっている」「もっと野球ができる環境を整えるべき」 [冬月記者★]
- 【高市速報】小泉進次郎「事前に中国軍から飛行訓練を開始すると連絡があったのは事実」★2 [931948549]
- 35の童貞は異端か?
- JR東海「リニア工事で水が枯れるのは一瞬だし回復させる手立てないわこれ」 [744361492]
- 【悲報】たけガイ、「中卒」という言葉を覚えてしまう🏡
- デジタルハリウッドとか東京モード学園とかやたら名前が有名な専門学校って内容もちゃんとしてるの?
- 自作pc時期が悪いおじさん、絶命 [329329848]
