X



Excel総合相談所 132

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

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

前スレ
Excel総合相談所 131
https://find.5ch.net/search?q=excel

Excel VBA 質問スレ Part51(1000到達済み)
https://find.5ch.net/search?q=excel+vba

【質問不可】Excel総合相談所スレの雑談・議論スレ4
https://find.5ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80
0699名無しさん@そうだ選挙にいこう
垢版 |
2018/10/20(土) 06:00:46.20
複合参照を難しく考えすぎてしまい訳わかんなくなる
0702名無しさん@そうだ選挙にいこう
垢版 |
2018/10/20(土) 12:32:36.50
マクロ初心者なんですが何回も同じ処理を使いたいんてすが
callで別プロシージャ呼び出して結果を元プロシージャの変数として使いたい場合functionでいいんですか?
もちろん別プロシージャを使わずに変数のセットを何回も書くって方法もあるとは思いますが、スッキリさせたいので
0706名無しさん@そうだ選挙にいこう
垢版 |
2018/10/20(土) 14:17:32.23
多分裏側同じだろと、ふと数式200万セルで100万回 calculate 回してみた
mod 42.41秒 weekday 44.42秒 PCの状態より、weekdayが+1加算してるからかな
0710名無しさん@そうだ選挙にいこう
垢版 |
2018/10/21(日) 11:36:42.27
>>689
1900年のバレンタインの曜日が間違えていると再提出命じた上司を思い出した
意地悪目的ではなく、新人に仕組みを学ばせるためだったようだが
0711名無しさん@そうだ選挙にいこう
垢版 |
2018/10/21(日) 12:50:21.03
難しく考えすぎると逆に効率的なやり方を思い付かなくなるんだ…
こっちは命令を出す側なのを意識して仕事の段取りをする事に集中するってか
0713名無しさん@そうだ選挙にいこう
垢版 |
2018/10/21(日) 20:25:49.99
ビジネスで優秀な人材育成する上司は何を教えているのか?
https://www.youtube.com/watch?v=apxtSqxjw08&;t=13s
マクドナルド伝説の店長が教える、最強店長になるために必要なこと
https://www.youtube.com/watch?v=0wMbR7JIeeQ&;t=3154s
「最強の働き方」長時間労働やノウハウよりも大切なこと
https://www.youtube.com/watch?v=JnMHbI1-e3E&;t=3606s
美容師の楽しさ再発見!やる気スイッチが入る働き方セミナー
https://www.youtube.com/watch?v=DGzXQT799oY
もうダメだ…仕事が辛い時に乗り切るための3つの思考
https://www.youtube.com/watch?v=VEPf8viBpRU
視覚障がいを乗り越えた活法家
https://www.youtube.com/watch?v=6IuY_K3uFdo&;t=805s
0714名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2018/10/22(月) 10:58:54.75
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

お願いします

1月1日〜1月31日 が一つのセル内にあって毎月"月"を変えたいのですが
数式で変えると末日の表示の所がうまくいきません
EOMONTH(TODAY(),0)を最後に組み込むとシリアル値そのままが返ってしまいます
セル書式設定はEOMONTH単独だと日付に変換されるのですが
1月31日の部分に入れると無効になりました
何か他の方法ありますでしょうか?
0716名無しさん@そうだ選挙にいこう
垢版 |
2018/10/22(月) 11:25:49.25
ありがとうございます

ちょうど今試していて別セルに出したeomonth参照でなんとかできたのですが
月でIFを使い、間に文字列挟むので数式がめっちゃ長くなってしまいました
初心者なものでスリム化できなくて
0717名無しさん@そうだ選挙にいこう
垢版 |
2018/10/22(月) 11:28:16.84
A. 書式を 「m"月1日〜"m"月"d"日"」にして、価を =EOMONTH(TODAY(),0)
B. =TEXT(EOMONTH(TODAY(),0),"m""月1日〜""m月d日")

※個人的には式内にTODAY()は好きではないな
前月分、翌月分などを処理したい時に数式の中を書き換えたくないから
どっかに基準日セルを持ちたい
0719名無しさん@そうだ選挙にいこう
垢版 |
2018/10/22(月) 12:59:32.40
>>714
式の長さじゃ無くてわかりやすさ重視でいくならchoose関数で12ヶ月分指定するのもありかな。閏年の考慮は必要だけど、式を見ただけで誰でもわかると思う
0722名無しさん@そうだ選挙にいこう
垢版 |
2018/10/22(月) 16:12:58.09
>年間カレンダーを作成して特定の日にちを空欄にし
>まとめて「休」の字を入れるのに何かうまいやり方無いですか?

これの「どこ」を「うまいやり方」でやりたいの?
「特定の日にちを空欄にする」なら、「特定の日にち」を特定する方法が分からなければ
回答できないし、「空欄に『休』の字を入れる」だけなら置換するかジャンプ機能でできる。
「年間カレンダーを作成」なら、カレンダーの様式から不明なので、答えようがない。
0723名無しさん@そうだ選挙にいこう
垢版 |
2018/10/22(月) 18:27:02.36
1.まず日付、休有無、表示テキスト の年間データを作ります
2.年間カレンダーのレイアウトを作ります
3.年間データの値を引っ張ってきます
4.データ表に入れたとおりに一瞬でカレンダーが完成
0727名無しさん@そうだ選挙にいこう
垢版 |
2018/10/22(月) 20:46:32.02
カレンダーはオフィスタナカ(表示名うろ覚え)にあるサンプルが一番適切
一年を1Sheetに日付順にずらずら並べて、土日のみならず、祝祭日も
ちゃんと(VBAで)判別してる それを週・月・年とかのそれぞれのシートに
反映させてて見た目もそれなり それを改良するのが一番手っ取り早い
年が変われば別にSheetを作って元日から大みそかまでを新規作成 という流れ

来年たぶん新たに増える祝日にも対応可
因みに春分・秋分は海上保安庁が確定させるので二年先は(予定)というのが正解
0728名無しさん@そうだ選挙にいこう
垢版 |
2018/10/22(月) 23:24:56.76
>>726
俺は「西向く侍」派

このクソ長い関数は1と入力すると31、2と入力すると28・・・・12と入力すると31になるのかな?
地味に耳が痛くなるかもね
0732名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 03:05:22.57
結局そこに落ち着くんだよね、サイトが間違ってたらオワ
政府のページあたりに法定休日とかcsvで取れるページありゃ良いのに

政府のweb検索からデータ貰うマクロ組んだけど
1データ毎にブラウザ戻るが必要で困る
かけっぱなしでIEパカパカさせてる
0733名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 11:53:52.50
URLやページ構成が変わったらアウトだから、結局ノーメンテにはならない
政府系のサイトだってしょっちゅうアドレスが変わるし、実際それで苦労したことが何度もある

確かに国が色々なデータを取得できるWebAPIとか用意してくれてもいいよね
できれば省庁をまたいで共通プラットフォームで
0734名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 11:56:08.51
エクセル2016
vba可

あるアプリから抽出されたデータがエクセルのファイルとして出力される。
その中の表を、さらに集計したり加工したりするんだが、毎回手でやるのも面倒なので、別の既に関数入れたテンプレート的なファイルを開いて、表をコピー&ペーストして終わらせてる。

アプリから出力されたエクセルのデータを、既に関数の入ってるシートに自動でコピーしたい。

同じブック内なら簡単にvbaで出来るが、異なるファイル間でやる方法がよくわからない。
出力されるファイルの名前はランダム。
無理でしょうか?

PowerShellの領域かなとも思ったんですが、エクセルだけで完結できると助かります。
0735名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 12:03:08.59
>>734
違うブックへデータをコピーすること自体はVBAで簡単にできる
ランダムでもファイル名を手動で入力すればいいんじゃない?
保存されるフォルダが固定なら、その中から更新日が最新のファイルを開くのもVBAで可能だけど
0736名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 12:22:19.04
>>735
出力されたデータはどこかに保存されるわけではなく、そのまま開いた状態。
既に開いているエクセルのファイル(ファイル名不明)を別のエクセルで開いたブックからvbaで取得する方法があればと。
0738名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 14:03:22.65
カレンダーって言うと職場の男は昔ヤクザやってたらしいが
悪い元先輩に「お前、俺等が出演してるカレンダー買えよ!」と言われ
一つ四万円でも無理やり買わされたって言ってたな
買ったのを見せてもらったがヤクザ達が刺青出してふんどしになり
海岸でポーズ決めてる写真ばっかりでクソワラタw
0740名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 15:52:20.57
>>736
VBAでWorkbooksコレクションオブジェクトというのを使えば、今開いているブックの一覧を簡単に調べることができます
あとは、セルの内容とかシート名などを頼りに、目的のブックを機械的に見つける方法があるかどうかですね
0741名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 16:45:49.87
まあ、シート1の名前とかA1の値とか。なんか識別はできるだろう

もう1つの方法。自分だけしか使わない自分用なら
Personalにマクロ作って、開いた状態で実行して結果を別のBookにするとかでもいい
実行する時は「ペルソナー!」って叫ぶ
0742名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 18:41:31.88
【1 OSの種類         .】 Windows7Pro
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい(マクロをボタンに登録して使うくらい)
【4 VBAでの回答の可否】 可

vlookup参照をVBAで最終行まで繰り返し処理したいです

具体的には、
A4からA列の一番最後の行を調べて
C4=VLOOKUP(A4,H4:J100,3,FALSE)
をC列でA列の最後の行まで繰り返したい
H4:J100の範囲はH4からH列の一番最後の行のJ列までにしたい

前提としてA列とH列は途中に空欄ありません
H列に無くてA列にある値があります。その場合N/Aではなく空欄にしたいです
0744名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 19:07:31.18
>>742
Sub Macro3()
Dim rowA As Long
rowA = Range("A4").End(xlDown).Row
Dim rowH As Long
rowH = Range("H4").End(xlDown).Row

Range("C4").Formula = "=IFERROR(VLOOKUP(A4, H$4:J$" & rowH & ", 3, FALSE), ""\(^o^)/"")"
Range("C4").Copy Range("C5:C" & rowA)
End Sub
0746名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 20:03:06.38
>>744-745
>>742です
早速ありがごうございます
希望通りでした
古い客先一覧から客先の増えた新しい客先一覧に更新するのに
列で古い一覧で決まってる担当の列を新しい一覧に転記したかったです
なので毎回行が増えたり減ることもあります

ところで古い客先一覧で担当の列が空欄だった時、
新しい一覧に転記されて空欄になるのと0になるのがありますが
なぜか分かりますでしょうか?
古い一覧に白色で見えない0が入力されているのかと思いましたが
本当に空欄でした
0747名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 20:11:51.37
お世話になっております
ご質問の問題について調査を行いましたところ
H列にありj列に無いケースについては要件定義に明記されていなかった事から、
想定外のケースであることがわかりましたが
変更およびテストの実施はリリースに間に合わない恐れがある為
しばらくは運用にて対処いただけませんでしょうか?
ご理解ご協力の程宜しくお願い申し上げます
0748名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 20:40:27.16
>>747
お世話になっております
手入力でC列にVLOOKUP関数を入力コピペしても同じ結果になりました
J列に空欄があるとC列はそのまま空欄になると思うのですが
C列のVLOOKUPの結果が空欄になる時と0になる時があるのは何が原因でしょうか
データに問題があると思うので改善したいと思います
0749名無しさん@そうだ選挙にいこう
垢版 |
2018/10/23(火) 21:18:45.38
>>734
自分が良く使う方法はインプットボックスでセルを指定してそのrangeオブジェクトからparentでワークシートとワークブックを変数にセット
0750名無しさん@そうだ選挙にいこう
垢版 |
2018/10/24(水) 01:40:55.22
>>747
お世話になっております
>>746ですが自決しましたので下記ご報告申し上げます

Range("C4").Formula = "=IFERROR(VLOOKUP(A4, H$4:J$" & rowH & ", 3, FALSE), ""\(^o^)/"")"
以上部分を
Range("C4").Formula = "=IFERROR(VLOOKUP(A4, H$4:J$" & rowH & ", 3, FALSE)&””””, ""\(^o^)/"")"
に修正してJ列の空欄はC列に空欄で返すようにできました

ただVLOOKUPで参照先が空欄だった時スペースも入力されていないにも関わらず
0になる時と空欄になる時があるのが謎です
後学の為ご存じでしたらご教示いただけませんでしょうか

お忙しいところお手数ですがよろしくお願い申し上げます
0753名無しさん@そうだ選挙にいこう
垢版 |
2018/10/24(水) 09:57:52.95
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

初心者です。
工事毎作成する複数のシート(※1)の数値をデータベース用の他ブックのシートに工事毎に転記しています。
現在は工事が発生する事に保存してある(※1)原紙を該当工事用に更新し、保存後データベースにハイパーリンクを設定していますが、
いちいちハイパーリンクの設定をするのが大変なので、一連の流れを自動化は出来ませんか?
0756名無しさん@そうだ選挙にいこう
垢版 |
2018/10/24(水) 19:15:07.48
できるよ 要は単票フォームのデータをテーブルに保存/テーブルから読み出しできるようにしたいんだろ
Access使えない環境だとそういうのはときどきつくったりする VBA必須だけどな
0758名無しさん@そうだ選挙にいこう
垢版 |
2018/10/25(木) 00:18:43.72
できるかできないかでいえばできる ただしVBA使用が条件 別におかしくはない
このスレではひとりのことをみんなっていうのかな
0759名無しさん@そうだ選挙にいこう
垢版 |
2018/10/25(木) 00:25:30.96
このvbaが使えるかって設問、そろそろ見直したほうがいいかもね

・本人がvba使えるかどうか
こんなことどうでもよくて、覚えろって話

・職場環境的に絶対に使えない
じゃあ仕方ないね

となる
0760名無しさん@そうだ選挙にいこう
垢版 |
2018/10/25(木) 02:13:42.49
出来るかでいえば、VBAでペンタゴンハッキングできる人も居るかもしれないが

とりあえず、VBA無しの範囲=数式とリボンの中のものとして
固定のデータソースから値を取ってきて計算まで

処理 となるとマクロコピペぐらい要るかなあ。
0762名無しさん@そうだ選挙にいこう
垢版 |
2018/10/25(木) 08:04:13.21
3.より4.でしょ
ちゃんとテンプレに従って
> 【4 VBAでの回答の可否】 否
って書いてあるのにVBA必須の回答するとか頭おかしい
0764名無しさん@そうだ選挙にいこう
垢版 |
2018/10/25(木) 08:08:42.46
そもそもVBA使った回答なんかしてないだろう どこにVBA記述してるんだ
できるって書くことすらだめなのか なんなのこのスレ
0772名無しさん@そうだ選挙にいこう
垢版 |
2018/10/25(木) 10:24:29.05
VBA可で質問しているのに自己解決出来ないなら使わない方が良いんじゃね?と思う
職場なりで多数の人が使う場合は特に
0774名無しさん@そうだ選挙にいこう
垢版 |
2018/10/25(木) 11:59:21.05
オフィス2019って一般人はいつ買えるんですか?
今後数週間のうちにリリースと、1ヶ月前に見た気がするんですが。
あと、excelしか使わないんですが、オフィス2019発売の際、バラ売りしてくれますか?
それともバラ売りは少し発売日が遅れる、もしくはバラ売り自体やらないんでしょうか?
0775名無しさん@そうだ選挙にいこう
垢版 |
2018/10/25(木) 12:23:56.77
会社で自分以外が使うブックには基本VBAは入れないな。
あいつらファイル参照や自動作表どころか単純な関数すら別のブックにシートコピーとかやって効かなくして壊れたと騒ぐ。
0778名無しさん@そうだ選挙にいこう
垢版 |
2018/10/25(木) 13:07:13.85
Office2019は海外Amazonとかだともう売ってるんだよな
日本語版はまだらしい。いつになるかは分からなくてすまん
ただ、2019の新機能はOffice365にしてればアップデートでもう反映されてる
0781名無しさん@そうだ選挙にいこう
垢版 |
2018/10/25(木) 21:27:07.14
2019使ってるけど、正直そこまで・・・感
OCRもグダグダだし、SORT関数もそもそもVBAでさんざんやってきたこと
まぁ2019がデフォの世代はすごく生産性が高いだろうね
0783名無しさん@そうだ選挙にいこう
垢版 |
2018/10/27(土) 18:22:00.94
【1 OSの種類         .】 すみません、分かりません…
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

分かる方いたら教えてください。

A1セル:10
B1セル:15
C1セル:5

であったときに、
@A1からC1の間で、一番大きい数のセルを選んでください。
AA1が1番大きかった場合はAを、B1が1番大きかった場合はBを、C1が1番大きかった場合はCを返してください。

この2つの関数を組み合わせたいのですが、教えて頂けませんか?
よろしくお願いします。
0784名無しさん@そうだ選挙にいこう
垢版 |
2018/10/27(土) 19:09:56.85
excelの差分ツール教えて
いままでAiperDiffexを便利に使ってたんだけど、
Win 10にしたら調子悪くなってしまった
スクロールすると波打つ感じ
0786名無しさん@そうだ選挙にいこう
垢版 |
2018/10/27(土) 21:46:16.79
rwat
0788名無しさん@そうだ選挙にいこう
垢版 |
2018/10/28(日) 07:35:47.74
>>785、787
785の方の3つめの式で解決しました!
ありがとうございました!助かりました!!
787の方も回答下さりありがとうござきました!
0789名無しさん@そうだ選挙にいこう
垢版 |
2018/10/28(日) 07:36:42.80
>>785、787
785の方の3つめの式で解決しました!
ありがとうございました!助かりました!!
787の方も回答下さりありがとうござきました!
0790名無しさん@そうだ選挙にいこう
垢版 |
2018/10/28(日) 14:33:15.29
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【4 VBAでの回答の可否】 可

シートにテーブルTable1がありまして列3と列5だけをCSVで出力したいのですが
よろしくおねがいします。
行数は日々変動いたします。
0792790
垢版 |
2018/10/28(日) 21:44:41.92
>>791
具体的にデータを作りました

テーブル1(Table1)
番号, 都市, 名前, クラス, 判定
1002, 東京, 山本, A組, o
1003, 千葉, 戸田, B組, o
1005, 東京, 鈴木, A組, x
 ・
 ・

これを下のようにCSVで出力です

名前, 判定 改行
山本, o 改行
戸田, o 改行
鈴木, x 改行

アドレスではなくテーブル名と列名を使った構造化参照での回答がありがたいです
0795790
垢版 |
2018/10/28(日) 22:17:08.21
>>794
これと同じ操作がテーブル違い列違いで30テーブルくらいあるんですよ
0796790
垢版 |
2018/10/28(日) 22:19:24.91
そして最低週1回以上のCSVデータの更新が必要でして
0797名無しさん@そうだ選挙にいこう
垢版 |
2018/10/28(日) 22:21:45.86
テーブルをどうやって指定するかとか、csvファイルの名前や保存場所をどうするかとか、色々ある。
inputboxで指定するのか、シートにテーブルは1つと決まっていてそれを自動で取得するのかとか。
自分で作らないと思うようにできなさそう。
■ このスレッドは過去ログ倉庫に格納されています

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