Excel総合相談所 151
■ このスレッドは過去ログ倉庫に格納されています
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
注意事項
・情報を隠すために別の問題を設定するのはやめましょう。たいていの場合その問題は的外れな設定で、期待していたものからずれた回答が返ってきます。
スレッド作成は>>980がやります
※前スレ
Excel総合相談所 148
Excel総合相談所 150
https://mevius.5ch.net/test/read.cgi/bsoft/1654860173/ =substitute(address(1,300,4),1,"") >>30 >>32
“DX”列は26*4+24で128列目ですね。左から300列目は”KN”で合ってる。 すませぬ。KNでした。。
ありがとうございました! 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 はい
【5 クエリが使えるか】いいえ
【6 クエリでの回答】否
【7 Accessが使えるか】いいえ
【8 Accessでの回答】否
【9 VBAの方が簡単で早くできる場合はVBAで回答】 否
開発メニューの挿入から、マクロを実行する複数のボタンをシートに張り付けたのですが、
これらのボタンのようなオブジェクトは、VBAでどのような名称のオブジェクトとして取得してコントロールできますか?
やりたいことは、一つのボタンを押してマクロが実行される間、他のボタンを押させないようにしたいのですが、
まずはVBAでシートに貼られた各ボタンの存在を認識する方法を知りたいです。 マクロ実行中は他のボタンなんか押せないでないの
よく知らんけど ありがとうございます。
あきらめました。別の方法を模索します。 VBAのCreateObject("Scripting.Dictionary")ってWinOSのいくつからいくつまで使えるのでしょうか?
ActiveXは2025以降は代替技術に移行する予定があるとかでそうなると10年後には
CreateObject("Scripting.Dictionary")これを使ったVBAは動かなくなるのですか?
WinXpでも使えるのかMacOSでも使えるのかもあわせてご存じの方はいませんか? >>38
NT系のWindowsすべて
将来のことは誰にもわからんけど、すぐに切り捨てられることはないと思われる
今までは廃止の予告から数年は猶予があって、しかもどんどん延長されたこともあった >>39ありがとうございます。
すっきりしました。
追加でひとつお聞きしたいのですが、VBEというやつだと思うんですが、
エクセル標準のVBAエディタのことです。
イミディエイトやローカルウインドウ、
プロジェクトエクスプローラーなど常に最前面固定されてるウインドウのロック解除
みたいなことはできないでしょうか?
ノートパソコンで作業しているので画面が小さく死活問題になっています。
ALT+F4もFnキーまで押さないといけないし、Fnオンの時は逆の反応するわで
イミディエイトたちが自然とコード書き込み画面の下に隠れてくれたらなと思うこの頃です。 >>40
道具は目的に合わせて選ぶ
広い画面で快適に作業したいなら外付けモニタやデスクトップパソコンを使う
中古液晶モニター24インチでもたったの3千円 >>42
外にもモバイルディスプレイ持ち歩いて電車の座席2人分確保して作業するタイプ? 死活問題なんだからそんなこと気にしてる場合じゃない
コード書けないと死ぬんだから 適材適所などその場に見合った環境を考慮できない人は良いものは創れないさ
低解像度タイプのノートなどを抱えて電車に乗っているならコードはメモ程度に記述して実行やコードトレースは脳内でするけどな >>40
各ウインドウはドラッグで移動できるし、
閉じてもメニューバーから再表示できる
不要なウインドウは閉じていくのが良いと思うよ 特定のファイルだけホイールスクロールが動きません。
ウインドウ固定、
スクロールロック、
マウスのなんたら倍率を変更だったかな、は違いました。
ほかのファイルは問題なく動かせます。
そのファイルも午前中までは普通に動かせました。
たぶんなにかやらかしたと思うのですがわかりません。
教えてエロい人 条件付き書式で
今日の8:00~17:00まで
今日の20:00~5:00まで
明日の8:00~17:00まで
って指定してセルの色変えたいんだけど
today入れたらうまく動かないからおしえてくれ >>47
一旦ウインドウ枠の固定を解除してみたら?
リボンの表示→ウインドウ枠の固定→ウインドウ枠固定の解除 【1 OSの種類 .】 Windows11
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
連番で作った数字の4桁目だけ特定の数字が入った物だけを抽出することはできますか?
商品**** 12345000
:
商品**** 12900000
たとえば、連番の数字で4桁目だけ【2】(2000番台)のデータ(行)だけ取りだしたいです。
よろしくお願いします >>52
1000で割った商をさらに10で割った余りで判断するか、文字列ならMidが使える >>53
ありがとうございます。
もう少し簡単な方法はないでしょうか?
たとえばエクセルのツールバーの操作だけでは無理でしょうか?
すいません、ちょっと難しすぎてやり方がわかりませんでした。
よろしくお願いいたします。 2013でどこまで出来たか覚えてないけど・・・
オートフィルターして、そこに検索窓があるなら
「*2???」(「」内の部分。全部半角)を入力してフィルターかけてみるとか。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel365
【3 VBAが使えるか .】 はい・
【4 VBAでの回答の可否】 可・
Dim i As Integer
Dim i = 1 to 100
なんかの処理
Next i
Debug,Print i
End sub
これで処理の回数を見ているのですが、F8ではローカルでしか確認できません(F5では見られない)F5でループ回数を見る方法はありませんか? >>55
できました!ありがとうございました。感謝です。
>>53
早々に回答いただきありがとうございました。 >>56
何やりたいのかよくわからん
途中で進行状況を出したいってこと?
だったらこうと違う?
Dim i As Integer
Dim i = 1 to 100
なんかの処理
Debug,Print i
Next i >>58
申し訳ございませんでした。
iがいくつなのか、ローカルかウォッチで見たかったのです。 いくらでもあるなら一つくらい例示してあげればいいのに Win10
office365
テキストの入ったセルをコピって
メモ帳に貼り付けると
改行が付属する
以前はそんな事がなかった気がする
気の所為? >>35
個人的には図形をマクロ実行ボタンにした方が色々と汎用性があって便利だと思う
図形なら、Application.Callerで名前の取得が出来る
やりたいことの答えとして、マクロ実行中は他のボタンをVisibleで非表示にしてもいいんじゃない 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可・否
C列に人名、D列にそのふりがなのデータが有り(データそのものはK列まで)、ふりがなの昇順で並べ替え済みで、トータル1500行ほどののシートがあるんですけど。
このシートで何人のデータがあるのかを知りたい。つまり、xxxxという人間のデータが
5行あったとしてもそれは1件としてカウントしたいってことなんだけど、VBAで頭から
いくしかないですかね? >>67
人名の列を選択してメニューから「重複の削除」をすると、ステータスバーの右の方にデータの個数が表示される >>67
ROWS(UNIQUE(C1:C1500)-1
とか、
ROWS(LET(A,UNIQUE(C1:C1500),FILTER(A,A<>"")))
後者で余計なものがいくつかあればFilterで追加削除するのが良いかも?
前者で余計なものを決め打ちで引くのもありだが。 オンラインの無料のExcelを使ってるんですが前にできてた
行を挿入→行選択でCtrl+Dで1段上を書式ごと全てコピー
ができなくなりました というかCtrl+Dが一つのセル選択でしかできなくなりました
仕様の変更とかありましたか? >>72
結構前から使ってた気がするんで、2019に無いとは思わんかったわ。 >>67
=sumproduct(1/countif(c1:c1500,c1:c1500)) >>69,76
ありがとう。それにしても>>76は何をしてるのかさっぱり判らん w
後で調べてみます エクセル2016でminifs関数を使うとエラーとなってしまいます。
Windows10でエクセルバージョンは、2台ともに16.0.15629.20152です。
調べると16.0.6568.2016以降は使えると有ったのですが。 その調べた先のリンクを貼ってみれば回答も早いかも
2016が365のサブスクだったら使えるがパッケージ版だとダメとかも出てくる
どうしても使いたければ、ユーザー関数作れとも
https://yrzysn.com/category/excel/ ここの 2020.03.31 の記事 未だに「TODAY」関数を入れたら「平成34年10月5日」と表示される学校があるよ。 ExcelやWordで今日の日付を「令和4年10月6日」と令和元号が表示されるようにするOffice 2016の修正パッチは公開されていますか? >>79
MINIFSごときで問答無用でVBA使わせるのかよw >>83
https://supvalue.net/archives/2946 すぐ出てくるじゃん
実際に、僕のPC(Windows8.1+Office2013)では令和対応パッチがインストールできていたのに令和にならない現象が発生・・
ともあるから、一応ぜんぶ目を通して自分の環境と較べてみては カメラの図の部分をPDFにしたら、表の数字もコピーできるようになっててびっくりだわー 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 いいえ
1974年(昭和49年)7月14日
という表示を
1974年7月14日
に自動で変換するようにしたい 引き算ってどうやるんでしょうか?
SUM関数の反対なのですが
A1に数字が記入して、その数字からA2から下に書いてある数字を引いたものをB1に返したいのですが引き算の関数って何でしょうか?
B1=A1-A2-A3-A4-A5-A6.......A100くらいまであってずーっとA1から引き算です
すごく式が長くなってしまうし入力が大変です なんか=-SUM(A2:A100)+A1ってやったら出来ました
無駄な書き込みすいません =A1-SUM(A2:A100)ってやっても出来るよ 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
少し聞きたいのですが、
00 あ
01 い
〜〜
AF ァ
〜〜
FF (l+ま)
のように16進数とその対応表があるのですが、
8桁の16進数を入力して2文字ごとにばらして変換表と当てようとしています。
MID関数で2文字ごとに別セルに格納は出来たのですが、
格納した数字が01や78等の数字だけだと#N/Aと帰ってきてしまいます。
(8D・F8などはVlookup出来ました)
何か解決方法はありませんか? >>92
変換表とMID関数で分割した値が入っているセルの表示形式、両方とも文字列にすればいくかと。 >>93
ありがとうございます。
試してみましたが、ダメでした。(#N/Aのまま)
ふと思ったので、MIDで分解したものを表示する場所に
直接数字などを入力した場合、Vlookupが成功し、
望んだ通りの結果が帰ってきました。
何か良い案ありますでしょうか? >>94
textで文字列に変換してmidで行けんかね >>94
Textで管理するのか、数字で管理するのか決めれば方向性は決まる思うよ。
数字で管理するなら、10進数の横に16進数で表示させといて、計算は10進数の方でやるとか。 >>93〜97
ありがとうございます!
出来そうです!
これで任意コードが楽になります! 質問です
A1に 2022 と入力して
B1に =DATE(YEAR(A1),MONTH(A1)+11,1)
B1は2022/11/1日と表示させたいのですが、1906/6/1と表示されます
A1の2022をシリアル値ではなく、西暦の2022として取り扱うにはどうしたら良いでしょうか?
宜しくお願いします >>87
単純に文字列に変換でいいならこっち
=SUBSTITUTE(B2,MID(B2,FIND("(",B2),FIND(")",B2)-FIND("(",B2)+1),"")
書式設定から自由に表示形式を変えたい場合はこっち(yyyy/m/d等)
=VALUE(SUBSTITUTE(B2,MID(B2,FIND("(",B2),FIND(")",B2)-FIND("(",B2)+1),"")) >>99
B1に =DATE(A1,A1+11,1) >>99
違った
B1に =DATE(A1,11,1) パワークエリの質問です
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
日付列と数値列のある株価.CSVを読み込んで
「行のフィルター」で
最新日とその前日の2行だけを読み込みたい
(あとでテーブルで引き算して値幅を出す)
最新日だけなら可能だがその前日はどうやってやればいい?
https://i.imgur.com/YY0400f.png 株価なら重複がないから、降順でならびかえて上の2行を取り出すな >>104
日付が暦連番なら
前のステップ名が「変更された型」だとして、
フィルターされた行 = Table.SelectRows(変更された型, each [基準日] = List.Max(変更された型[基準日]) + #duration(-1,0,0,0) or [基準日] = List.Max(変更された型[基準日]))
暦連番でないならインデックス列増やしてそれで指定 上にも出てるがインデックス列追加してフィルターかな https://i.imgur.com/b2eAmEp.png
+ #duration(-1,0,0,0) でとりあえずこの形になったけど
土日祝はデータがないCSV
たぶん休み明けが最新日になっときはだめだろうからインデックス列でやってみる 元のクエリはWEB上のCSV参照だけど
ローカルに落としたCSVに10日のデータを捏造して検証
9日の行はないので失敗
https://i.imgur.com/v7fI5au.png
インデックス列で成功
https://i.imgur.com/OjZF2hC.png 横道逸れるが、
もし日次で見たいデータだけど、観測データは歯抜けの、取得した日付だったら
(例:気象観測データとか発表日次の新型コロナ陽性者数とか)、
クエリーやテーブル、セル範囲名などで別に指定した
任意の期間(始期・終期)の暦連番カレンダー(秒単位間隔まで可)や連番を
List.Dates([始期], Number.From([終期] - [始期] +1),#duration(1,0,0,0)) とか
List.Numbers([開始番号]{0}, [終了番号]{0} - [開始番号]{0} +1) とか
でリスト生成してテーブル変換しておいて、これに観測データをマージする
なんてことも可能。
https://qiita.com/Yellow11/items/01d1b8d68c44bd387284 >>104
A列が日付列だとして、インデックス列に、2行目であれば
=A2-A1+A3-A2
という式にして、インデックス列が1以上をフィルタ掛ける(原始的・・・) これ何が間違えてます?
「オブジェクトが必要です」ってエラーがでる
Option Explicit
Dim abc As String
Sub これ()
Set abc = "222" ←これが黄色くなる
Debug.Print (abc)
End Sub set消したら動いた・・・?
よくわからんけど、この場合はいらんってことか 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
バイトのシフト表のレジとタスクの設定を効率化したいです
希望休・有給を募って人数調整してシフト表を作成した後に
1-5までの入るレジと掃除・用度補充・品出し補助という3つのタスクを割り振る作業を時短したいです
現状は「1」「2」「3」・・・「掃」「用」「品」というプルダウンリストを作って
COUNTIF(D62:AH62,"掃") のようなセルで合計を見ながら均等になるようにカチカチやっています
・同じタスクやレジ番号が連続したり固まってるのは嫌だ
・タスクは全員均等ではなく、勤週4勤の人は多めに、週3勤の人は少なめにして欲しい
とのお言葉を頂戴しておりランダムで適当に振るだけでは駄目そうです
VBA分からないですがワンボタンで一気に割り振れるようになるのなら頑張って覚えます VBA極めればワンボタンで一気に割り振れるようになります
頑張って覚えてください 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
設定シートのセルA2にフォルダのフルパスを入れ、
そのフォルダ以下の全てのフォルダ、ファイルのフルパスの一覧リストをリストシートに作り、ハイパーリンクを設定したい。
総数が多いので処理の速さからDirを使いたいんですが、
どうにも上手く行きません。
どなたか御教示頂けないでしょうか。 >>112
変数abcはString型でしょ
Setは変数がObject型の時だけ使う命令なんよ
それ以外の型の時はLetを使うことになってる
Let abc = "222"
ならエラーにならない じゃあおれも
そこは Set じゃくて Let ですな >>118
>>119
なるほど!
ありがとうございます Letなんて一度も書いたことないな
存在すら知らんかったわ 公式でも変数へ編入する際のLetは省略推奨だからな
でもLetの存在を知らないのはちょっと
クラスモジュールとかでも使うっしょ でも代入のことを間違えて編入とか言っちゃうのは完全にアウトなんだわ LET の存在は40年前ぐらいに知った@PC-60001 >>124
普通
俺もここで煽られて知ったよ
なお煽られ以外で聞いたことも使ったこともない
jsではよく使うんだけどね MZ-80 SP-5030にもN88BasicにもLETはあったから知ってたよ
とくにNECのマニュアルでは省略しないことを基本としていたような感じだった letは省略しろと新入社員時代のVBA講習で教わりました ■ このスレッドは過去ログ倉庫に格納されています