X



Excel総合相談所 133

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙にいこう
垢版 |
2018/11/11(日) 21:12:25.75
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

▼━関連スレ━━━━━━━━━━━━

前スレ
Excel総合相談所 132
https://mevius.5ch.net/test/read.cgi/bsoft/1530415352/

Excel VBA 質問スレ Part57
https://mevius.5ch.net/test/read.cgi/tech/1536583359/

【質問不可】Excel総合相談所スレの雑談・議論スレ4
https://mevius.5ch.net/test/read.cgi/bsoft/1489108851/
0750名無しさん@そうだ選挙にいこう
垢版 |
2019/01/14(月) 14:22:51.00
Excelで無理にやる案件じゃないでしょう
0751ふぃ
垢版 |
2019/01/14(月) 18:01:26.03
すいません

【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可 ですが できれば簡単な方法で

A列:日付
B列:データ

があるのですが
現在以下のようになっています。
2010/01/08

これを以下のように変えたいのですが
2010/1/8

一度に変える方法あるますでしょうか?

なおA列のセルを一つだけダブルクリックすると
2010/1/8
のように希望通りになります。
0752名無しさん@そうだ選挙にいこう
垢版 |
2019/01/14(月) 18:23:26.83
/0

/
で置換してみたら
0755名無しさん@そうだ選挙にいこう
垢版 |
2019/01/14(月) 22:03:51.89
>>751
使ったことはないんだが、「検索・置き換え」でオプションを選ぶと
一括した書式の置き換えが出来るようになっている。

でも、使ったことないんで、どうやって使うのか?
それはネットで見てみて
0757名無しさん@そうだ選挙にいこう
垢版 |
2019/01/16(水) 00:59:24.15
>よくExcelを上手く使いこなせば時短とかになるっていうけどそうなるのですか?

いわないよ
0759名無しさん@そうだ選挙にいこう
垢版 |
2019/01/16(水) 08:59:14.05
高千穂交易、入退室管理システムが好調
0761名無しさん@そうだ選挙にいこう
垢版 |
2019/01/16(水) 20:52:05.10
ヒカキンの年収が10億超え!?明石家さんま・坂上忍も驚愕の総資産とは??
https://logtube.jp/variety/28439
【衝撃】ヒカキンの年収・月収を暴露!広告収入が15億円超え!?
https://nicotubers.com/yutuber/hikakin-nensyu-gessyu/
HIKAKIN(ヒカキン)の年収が14億円!?トップYouTuberになるまでの道のりは?
https://youtuberhyouron.com/hikakinnensyu/
ヒカキンの月収は1億円!読唇術でダウンタウンなうの坂上忍を検証!
https://mitarashi-highland.com/blog/fun/hikakin
なぜか観てしまう!!サバイバル系youtuberまとめ
http://tokyohitori.hatenablog.com/entry/2016/10/01/102830
あのPewDiePieがついに、初心YouTuber向けに「視聴回数」「チャンネル登録者数」を増やすコツを公開!
http://naototube.com/2017/08/14/for-new-youtubers/
27歳で年収8億円 女性ユーチューバー「リリー・シン」の生き方
https://headlines.yahoo.co.jp/article?a=20170802-00017174-forbes-bus_all
1年で何十億円も稼ぐ高収入ユーチューバー世界ランキングトップ10
https://gigazine.net/news/20151016-highest-paid-youtuber-2015/
おもちゃのレビューで年間12億円! 今、話題のYouTuberは6歳の男の子
https://www.businessinsider.jp/post-108355
彼女はいかにして750万人のファンがいるYouTubeスターとなったのか?
https://www.businessinsider.jp/post-242
1億円稼ぐ9歳のYouTuberがすごすぎる……アメリカで話題のEvanTubeHD
https://weekly.ascii.jp/elem/000/000/305/305548/
世界で最も稼ぐユーチューバー、2連覇の首位は年収17億円
https://forbesjapan.com/articles/detail/14474
0762名無しさん@そうだ選挙にいこう
垢版 |
2019/01/17(木) 22:54:14.95
条件付き書式で数式で、適用先の隣セルの値で条件つけたんだけど、そのまま適用先を複数にした場合、追加した適用先の隣セルで条件つく?
0765名無しさん@そうだ選挙にいこう
垢版 |
2019/01/18(金) 12:33:37.18
>>764
複数の範囲を適用先に設定してるが、1つの範囲だけうまくいかない
0766名無しさん@そうだ選挙にいこう
垢版 |
2019/01/18(金) 13:05:46.65
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

Visible=Falseで不可視になっているシートに対するVBAでの操作のうち、
何が可能で何が不可能なのかということなのですが、

シート.Select → 不可
シート.Range("A1") = "書き換えたい値" → 可能
シート.PrintOut → 不可能

↑この理解でよいでしょうか?
選択(アクティブ化)はできないけど、不可視のシートだろうと、その内容を読み書き
することはできる。
でも印刷はできない、と。
0768名無しさん@そうだ選挙にいこう
垢版 |
2019/01/18(金) 23:10:04.04
条件付き書式だと罫線で太線を選べないのは
マイクロソフトの陰謀??
0770名無しさん@そうだ選挙にいこう
垢版 |
2019/01/19(土) 00:10:22.15
>>769
仕様は見直されるのに、改善されないのは陰謀じゃないの?
0771名無しさん@そうだ選挙にいこう
垢版 |
2019/01/19(土) 00:12:19.95
>>770
>陰謀とは、人に知られないように練る計画のこと。
>ほぼ同じ意味で「謀略」や「謀議」の語も用いられる。

とりあえず単語を間違えている
0772名無しさん@そうだ選挙にいこう
垢版 |
2019/01/19(土) 01:02:19.60
よろしくお願いします。

【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 入門者に毛がはえたくらい
【4 VBAでの回答の可否】 可

VBAで、Aというシートの値を読んだり書き込んだりするときに、

Sheets("A").Range("Z1")などと書くのと、
ThisWorkbook.Worksheets("A").Range("Z1")と書くのと、違いはあるのでしょうか?

本日、先輩から、後者にしないと
「実行途中でユーザーが別のブックをアクティブにしたときとかいろいろ不具合が発生するんだよ」
と言われました。

いまいち納得できないのですが。
0773名無しさん@そうだ選挙にいこう
垢版 |
2019/01/19(土) 02:35:04.24
>>772
状況によるのでは?
例えばそのコードが、イベントプロシージャなのか、ボタンに割り当てられてるのかとか。

後者じゃないと不具合が起きる状況がちょっと想定できないけど。
0774名無しさん@そうだ選挙にいこう
垢版 |
2019/01/19(土) 02:38:12.99
ボタンに割り当てられてようと、関係なくね?

むしろ、ワークシート以外に、グラフだのなんだので別の「sheet」があるかどうかの問題かと。
0776名無しさん@そうだ選挙にいこう
垢版 |
2019/01/19(土) 06:12:12.95
>>772
a) ThisWorkbookを付けるかどうか
の話と
b) SheetsにするかWorksheetsにするか
の話があってa)はその先輩が言う通り基本Bookから指定すべき
理由もその先輩が言う通り
b)は>>774が言うようにSheetsにはグラフシートとかダイアログシートとかもあるから普通のシートを使うならWorksheetsを使う方がいい
まあWorksheets("A")みたいに指定する場合は問題にならないしそもそもグラフシートとか使ってないならあまり気にしなくてもいいかも
すべてのシートに対する処理をする際に
ForEach S in ThisWorkbook.Worksheets
とかする時は気にした方がいいかも
総じてその先輩の言う事は正しいと思うよ
あとこの手の話題はこっちの方がいい

Excel VBA 質問スレ Part58
https://mevius.5ch.net/test/read.cgi/tech/1542577644/
0777名無しさん@そうだ選挙にいこう
垢版 |
2019/01/19(土) 08:49:52.66
Sheets(1).Range("A1").Value = "hello"



Workbooks.Add
Sheets(1).Range("A1").Value = "hello"



Workbooks.Add
ThisWorkbook.Sheets(1).Range("A1").Value = "hello"

とかで結果を比べてみればわかるんじゃないの 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
0779772
垢版 |
2019/01/19(土) 14:49:44.11
>>776
ありがとうございました。
やはり、Thisworkbook.は付けるべきなんですね。

実行中に別のブックがアクティブになり、そのブックがたまたま同じ名前のシートを持っていたらまずい
ということでしょうか。
あるいは、アクティブになったブックにその名前のシートが見当たらないとき「そんなシートないじゃん」と
いうエラーになるとか。

そういうイメージですかね。
0780名無しさん@そうだ選挙にいこう
垢版 |
2019/01/19(土) 14:55:33.58
>>779
そう言うこと
一時的に入力待ちとかになってる間に利用者がブックを切替えたりするとこともあるし、組んでるプログラムの規模が大きくなると他のブックを参照したり新しいブックを作成したりするようになるかもしれない
そう言う時の為にブックから指定すべき
ブックから指定してないとエラーにしちゃうと言うオプションが欲しいくらい
0782名無しさん@そうだ選挙にいこう
垢版 |
2019/01/19(土) 19:13:04.07
>>780
なるほど
0783名無しさん@そうだ選挙にいこう
垢版 |
2019/01/19(土) 22:59:19.24
Excel 2016でブックの表示を「ページレイアウト」にしたとき、
リアルタイムのプレビュー表示機能を有効にしていてもフォントのプレビューが効かないんだけど、どうしたらいい?
0784名無しさん@そうだ選挙にいこう
垢版 |
2019/01/20(日) 14:16:01.07
親オブジェクトを省略するかどうかは、コードによると思うけど。

他のブックを扱う可能性がないコードなら、省略するべき。いちいちブック名から書くと長くなる上に読みにくくなる。
withステートメント使うにしても、ネストが深くなったりするし。
0786名無しさん@そうだ選挙にいこう
垢版 |
2019/01/20(日) 14:38:09.74
いろんな意見が聞けていい
0789名無しさん@そうだ選挙にいこう
垢版 |
2019/01/21(月) 07:12:05.18
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Excel2010において 散布図の中に複数のデータがありグラフフィルタの用に表示したいデータをチェックボックスで選択出来るようにしたいのですが、グラフフィルタの機能はexcel2016からしかできないのでしょうか
公式のサポートを見るとexcel2016からしかこの機能がないようで困っています
どうかお力を貸してください
0792名無しさん@そうだ選挙にいこう
垢版 |
2019/01/21(月) 09:36:41.74
>>789
2016を買うまで無償ツール(Rなど)で代替しておいたらいかがでしょう?
0796名無しさん@そうだ選挙にいこう
垢版 |
2019/01/21(月) 23:34:42.74
>>794
金出してセミナーでガッと全体抑えた方が早い
0799名無しさん@そうだ選挙にいこう
垢版 |
2019/01/22(火) 07:38:48.43
>>798
社内で教えるのが億劫なんで、外に任せるという
ながれなんじゃないかな。
自社の実データにあたって覚えた方が圧倒的に早く
覚えられるんだけどね。

セミナーだと、一生使わないものまで出てくる。
0800名無しさん@そうだ選挙にいこう
垢版 |
2019/01/22(火) 12:26:37.79
>>799
社内では見落としてることもね
逆に言えば
0803名無しさん@そうだ選挙にいこう
垢版 |
2019/01/22(火) 16:23:29.11
あげるの嫌がる人がいるね。
5ちゃん粘着世代の人なのかな
0804名無しさん@そうだ選挙にいこう
垢版 |
2019/01/22(火) 16:25:33.51
なんで聞きするんか
理由ありそうなんで
聞いてみたいわ
0806名無しさん@そうだ選挙にいこう
垢版 |
2019/01/22(火) 18:42:35.36
>>805
行空けるなゴミクズ
0809名無しさん@そうだ選挙にいこう
垢版 |
2019/01/22(火) 22:43:37.03
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否


https://dotup.org/uploda/dotup.org1754111.zip.html
このブックのシート1から縦軸が左右にある2軸グラフを作成したいのですが、
横軸は受付日(同じ日が何件あるか)、もう一つは累積を表したいのですが、
手持ちの本はVBAばかりで作成できませんでした。誰かわかる方、お願いします。

https://support.microsoft.com/ja-jp/help/954219
こんな感じですが。
0810809
垢版 |
2019/01/22(火) 22:47:30.49
申し訳ありません。テンプレ未入力でした。
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい・
【4 VBAでの回答の可否】 可・


https://dotup.org/uploda/dotup.org1754111.zip.html
このブックのシート1から縦軸が左右にある2軸グラフを作成したいのですが、
横軸は受付日(同じ日が何件あるか)、もう一つは累積を表したいのですが、
手持ちの本はVBAばかりで作成できませんでした。誰かわかる方、お願いします。

https://support.microsoft.com/ja-jp/help/954219
こんな感じですが。
0813809
垢版 |
2019/01/23(水) 01:08:41.98
累積は適当ではありませんでした。同じ日が何件あるか。過去から指定の日まで何件あるかということです。日時が一定ではないのが辛いところですが。
0815名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 07:58:10.70
>>813
それは、別途割合で見たらどう?
0816名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 13:09:13.74
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7Pro
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

20190123のような文字列を
TEXTで日付に置き換えIFで過去か未来か判定させようとしても
過去は正しく判定されるのになぜか未来が正しく判定されません
例えば下記のように入力したとしますと

A1=20190123
A2=TEXT(A1,"0000!/00!/00")
A3=2019/1/20
A4=2019/1/30
A5=IF(A2>A3,"○","×") → ○
A6=IF(A2<A4,"○","×") → ×

A6がA2(2019/1/23)はA4(2019/1/30)より小さいので○になるはずですがなぜか×になります
正しく判定させる方法あるでしょうか?
0817名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 13:20:15.96
>>816
A2=DATEVALUE(TEXT(A1,"0000!/00!/00"))

TEXT(A1,"0000!/00!/00") では、日付値にならずに
日付を表す文字列に変換しているだけ。
0818名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 13:24:10.28
>>816
過去未来じゃない
A2=TEXT(A1,"0000!/00!/00")
が文字列になっている事が原因

文字列と日付データを比較してしまっているので、結果が想定外の状態になっている
以下のどちらかで対処可能

・text()を使わずに日付にする
A2=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))

※以下の形でも良い
A2=TEXT(A1,"0000!/00!/00")*1

・比較する時に日付データにする
A5=IF(DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))<A3,"○","×")
0820名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 15:45:09.76
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7Pro
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

最終的にはシステムから出力される売上明細を基に請求書を作成するフォーマットを作りたいです

問題は顧客ごとに請求期間が異なります
例えばある顧客は1日〜月末、ある顧客は前月21日〜今月20日までのように

毎回顧客ごとに異なる請求期間を手入力するのはめんどうですし間違えると思うので
顧客ごとの請求期間のリストのシートを例えば顧客名、開始日、終了日のように作成して
見積書のフォーマットのシートに顧客名、請求年、請求月を手入力、
例えば年は2019年、月は1月と手入力したら請求期間のリストを顧客名でVLOOKUP参照し
開始日を2018年12月21日、終了日を2019年1月20日と計算したいです

DATE関数で試してみたのですが30日までと31日までの月、それに2月があり正しく計算されません
何か他に良いアイデア有りませんでしょうか?
0823名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 17:42:55.11
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

職場のリースpc入れ替えにつきWindows転送ツールにてファイルのお引越しを済ませました
Windows7pro32ビット版→W同64ビット版です
旧PCでExcel2010にて作ってたファイルを新PCの2016で開くと行の高さや列の幅が微妙に変わってます(大きくなってたり小さくなってたり)
以前のモニタ1280×1024→今回1920×1080に変わったのも影響しているのかな…
プリンタは同じものを使用して同じ設定、Excelの初期フォントもMSPゴシックに変更してみて、Excelの印刷→ページ設定の印刷品質も確認しましたが新旧ともに600dpiで同じ
元のサイズと合わせることは可能なのでしょうか?
0824名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 17:47:10.08
>>823
とりあえず経験上は、不可能です
環境が変わるとあっという間に崩れます。理由は不明です
エクセルは印刷に異常に弱いので、
前と完全に同じものは作れないと思ってどこかで妥協した方が良いでしょう

>行の高さや列の幅
行・列ラベル右クリックで数値を指定して変更できます
0826名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 17:56:32.21
>>824
ありがとう
大量にある職場で使用中のフォームを一つ一つ直してて気が狂いそうになって藁にもすがる思いで書き込みました
そして高さと幅を完全に合わせると1ページに収まらないという謎現象で頭抱えてるんです
2016で色々変わり過ぎたのが原因なんだろうか…
0827名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 18:01:17.67
>>821-822
月末を翌月1日-1で求めるのが思いつきませんでした
またEDATE関数で○ヶ月前、後の日付を出せるのも知りませんでした
>>822のアップしていただいた
B5=DATE(LEFT(B4,4),RIGHT(B4,2)+IF(B3="末",1,0),IF(B3="末",0,B3))
B6=EDATE(B5,-1)+1
が知りたかったことでした
ありがとうございました
0828名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 18:06:04.11
>>826
>2016で色々変わり過ぎたのが原因なんだろうか…
原因は分からない。
もう何十年もこの問題は起きているしMSが直す気もないので、考えるだけ無駄
さっさと手作業で直した方が良い

後、今後の事を考えるなら1ページギリギリで作らない方が良い
どうせまた数年後に同じ事が怒る
0829名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 18:31:35.81
表があって、行見出しと列見出しをキーに検索してヒットしたら丸を入れるってどうやったらいいんだっけ?
0831名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 18:41:49.72
なんで気色悪いのかよくわからない
0832名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 19:14:03.34
>>822
開始日を求める
=EDATE(B5,-1)+1ですが
B5の締日の月が11月のように30日までの月や2月の場合、
開始日が11月1日や2月1日にならないのは
どうすればよろしいでしょうか
0834名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 22:28:40.39
>>833
すいません

xyzvw
a ◯
b
c
d ◯


一覧
a x
a f
b g
d v
0836名無しさん@そうだ選挙にいこう
垢版 |
2019/01/23(水) 23:15:12.90
>>835
理解できたありがとう

欲を言えば、作業列はないほうが嬉しい、見栄え的に
0838名無しさん@そうだ選挙にいこう
垢版 |
2019/01/24(木) 08:26:23.03
A1に
BIの末日がくるようにするには
(B1は◯月という意味です)
どうすればいいですか?

例えば
B1 1
の場合
A1 31

B1 2
の場合
A1 28

B1 3
の場合
A1 30
です
0841名無しさん@そうだ選挙にいこう
垢版 |
2019/01/24(木) 09:59:20.67
何年の月かわからないので、今日の年を使った
年を変えたければYEAR(TODAY())を好きな年に替えて

=DATE(YEAR(TODAY()),B1+1,1)-1
0845名無しさん@そうだ選挙にいこう
垢版 |
2019/01/24(木) 18:09:04.07
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

VBA初心者です。的外れな質問でしたら申し訳ない。

現在、VBAの勉強がてら業務効率改善のため、表作成ツールを作成しています。

表から特定の文字列を取得し、その文字列が含まれるセルを検索、別シートに貼り付けるというプログラムを作成できないでしょうか。
文字列は1列ですが、貼り付けたい文字列は複数存在します。

----
取得文字列の例
2017/1/1

検索、貼り付けたい文字列の例
2017/1/1 0:00
2017/1/1 1:00
2017/1/1 2:00



2017/1/1 23:00

(時間は同一のセル内に入力、要は取得した日付の24時間分のデータを抜き出し、別シートに貼り付けたいという感じです)

抽象的で申し訳ないのですが、検索ワードすら思い浮かばない状況です。申し訳ありませんが、知恵をお貸しください。
0846名無しさん@そうだ選挙にいこう
垢版 |
2019/01/24(木) 20:12:56.11
>>845
オートフィルターでデータを抽出して、その結果をコピペするのが一番簡単だと思う

Sub Macro1()
  ' A列から2017/1/1のデータだけ抽出
  Sheets("Sheet1").Select
  ActiveSheet.Range("A1:A100").AutoFilter Field:=1, Operator:=xlFilterValues, Criteria2:=Array(2, "1/1/2017")

  ' 結果を別シートにコピペ
  Columns("A:A").Copy
  Sheets("Sheet2").Select
  Range("A1").Select
  ActiveSheet.Paste
End Sub
0847名無しさん@そうだ選挙にいこう
垢版 |
2019/01/24(木) 20:36:29.85
>>846
回答ありがとうございます

後出しで申し訳ないですが、抽出する日付は可変なんです

具体的には1年の中で最大の数値(数値は別セル)を持つ時間帯が含まれる日付を取得し(時間はバラバラ)、その日付の0:00から23:00までのデータを別シートに貼り付け

といったものを作ろうと思っています。
数値データ自体は貼り付けた日付からsumifでいいのですが、0:00からの1日分を取り出すのに難儀しています
0848名無しさん@そうだ選挙にいこう
垢版 |
2019/01/24(木) 20:41:57.10
追記

一応最大値の日付を取得することは成功し、indexでmaxを取り出し、intで2017/1/1 0:00のような形から時間を削除したデータを用意しました。

後はこの日付を用いて部分一致する日付をコピー、貼り付けできればいいと思うのですが、上手く行っていないです。

こちらも効率の良い方法ではないと思いますので、さらに良い方法があればご教示いただきたい
■ このスレッドは過去ログ倉庫に格納されています

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