Excel総合相談所 132
■ このスレッドは過去ログ倉庫に格納されています
▼━質問テンプレ (出来れば使ってね) ━━━ 【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 マクロ初心者なんですが何回も同じ処理を使いたいんてすが callで別プロシージャ呼び出して結果を元プロシージャの変数として使いたい場合functionでいいんですか? もちろん別プロシージャを使わずに変数のセットを何回も書くって方法もあるとは思いますが、スッキリさせたいので functionの場合、呼び出しはcallではありませんけど >>672 これをweekdayでやるとしたら IF(weekday(A2,2)<6,”○”,”休”)にするのが良いのかも 多分裏側同じだろと、ふと数式200万セルで100万回 calculate 回してみた mod 42.41秒 weekday 44.42秒 PCの状態より、weekdayが+1加算してるからかな >>706 とっさに確認しちゃうあたり、なかなかの愛ですなー >>689 1900年のバレンタインの曜日が間違えていると再提出命じた上司を思い出した 意地悪目的ではなく、新人に仕組みを学ばせるためだったようだが 難しく考えすぎると逆に効率的なやり方を思い付かなくなるんだ… こっちは命令を出す側なのを意識して仕事の段取りをする事に集中するってか 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 お願いします 1月1日〜1月31日 が一つのセル内にあって毎月"月"を変えたいのですが 数式で変えると末日の表示の所がうまくいきません EOMONTH(TODAY(),0)を最後に組み込むとシリアル値そのままが返ってしまいます セル書式設定はEOMONTH単独だと日付に変換されるのですが 1月31日の部分に入れると無効になりました 何か他の方法ありますでしょうか? ありがとうございます ちょうど今試していて別セルに出したeomonth参照でなんとかできたのですが 月でIFを使い、間に文字列挟むので数式がめっちゃ長くなってしまいました 初心者なものでスリム化できなくて A. 書式を 「m"月1日〜"m"月"d"日"」にして、価を =EOMONTH(TODAY(),0) B. =TEXT(EOMONTH(TODAY(),0),"m""月1日〜""m月d日") ※個人的には式内にTODAY()は好きではないな 前月分、翌月分などを処理したい時に数式の中を書き換えたくないから どっかに基準日セルを持ちたい まさしく求めていたものでした 本当にありがとうございます Aでやってみようと思います >>714 式の長さじゃ無くてわかりやすさ重視でいくならchoose関数で12ヶ月分指定するのもありかな。閏年の考慮は必要だけど、式を見ただけで誰でもわかると思う 年間カレンダーを作成して特定の日にちを空欄にし まとめて「休」の字を入れるのに何かうまいやり方無いですか? >年間カレンダーを作成して特定の日にちを空欄にし >まとめて「休」の字を入れるのに何かうまいやり方無いですか? これの「どこ」を「うまいやり方」でやりたいの? 「特定の日にちを空欄にする」なら、「特定の日にち」を特定する方法が分からなければ 回答できないし、「空欄に『休』の字を入れる」だけなら置換するかジャンプ機能でできる。 「年間カレンダーを作成」なら、カレンダーの様式から不明なので、答えようがない。 1.まず日付、休有無、表示テキスト の年間データを作ります 2.年間カレンダーのレイアウトを作ります 3.年間データの値を引っ張ってきます 4.データ表に入れたとおりに一瞬でカレンダーが完成 上司のおっさんに「月を入力すると日数が出るようにするにはどうすれば?」と聞かれたのでコレを教えてあげた心温まる話 https://togetter.com/li/1279312 カレンダーはオフィスタナカ(表示名うろ覚え)にあるサンプルが一番適切 一年を1Sheetに日付順にずらずら並べて、土日のみならず、祝祭日も ちゃんと(VBAで)判別してる それを週・月・年とかのそれぞれのシートに 反映させてて見た目もそれなり それを改良するのが一番手っ取り早い 年が変われば別にSheetを作って元日から大みそかまでを新規作成 という流れ 来年たぶん新たに増える祝日にも対応可 因みに春分・秋分は海上保安庁が確定させるので二年先は(予定)というのが正解 >>726 俺は「西向く侍」派 このクソ長い関数は1と入力すると31、2と入力すると28・・・・12と入力すると31になるのかな? 地味に耳が痛くなるかもね >>727 担当者が居なくなって、ある日カレンダーがおかしあ!という話になって死亡 何年も先まで、ノーメンテで祝日を正確に表示できるカレンダープログラムなんか存在しない 作成不可能 >730 webから取ってくる形にすれば存在するんだな、これが 結局そこに落ち着くんだよね、サイトが間違ってたらオワ 政府のページあたりに法定休日とかcsvで取れるページありゃ良いのに 政府のweb検索からデータ貰うマクロ組んだけど 1データ毎にブラウザ戻るが必要で困る かけっぱなしでIEパカパカさせてる URLやページ構成が変わったらアウトだから、結局ノーメンテにはならない 政府系のサイトだってしょっちゅうアドレスが変わるし、実際それで苦労したことが何度もある 確かに国が色々なデータを取得できるWebAPIとか用意してくれてもいいよね できれば省庁をまたいで共通プラットフォームで エクセル2016 vba可 あるアプリから抽出されたデータがエクセルのファイルとして出力される。 その中の表を、さらに集計したり加工したりするんだが、毎回手でやるのも面倒なので、別の既に関数入れたテンプレート的なファイルを開いて、表をコピー&ペーストして終わらせてる。 アプリから出力されたエクセルのデータを、既に関数の入ってるシートに自動でコピーしたい。 同じブック内なら簡単にvbaで出来るが、異なるファイル間でやる方法がよくわからない。 出力されるファイルの名前はランダム。 無理でしょうか? PowerShellの領域かなとも思ったんですが、エクセルだけで完結できると助かります。 >>734 違うブックへデータをコピーすること自体はVBAで簡単にできる ランダムでもファイル名を手動で入力すればいいんじゃない? 保存されるフォルダが固定なら、その中から更新日が最新のファイルを開くのもVBAで可能だけど >>735 出力されたデータはどこかに保存されるわけではなく、そのまま開いた状態。 既に開いているエクセルのファイル(ファイル名不明)を別のエクセルで開いたブックからvbaで取得する方法があればと。 カレンダーって言うと職場の男は昔ヤクザやってたらしいが 悪い元先輩に「お前、俺等が出演してるカレンダー買えよ!」と言われ 一つ四万円でも無理やり買わされたって言ってたな 買ったのを見せてもらったがヤクザ達が刺青出してふんどしになり 海岸でポーズ決めてる写真ばっかりでクソワラタw >>736 for eachで開いてるファイルを全部回す。 指定の形式に該当するファイルをコピペ。 >>736 VBAでWorkbooksコレクションオブジェクトというのを使えば、今開いているブックの一覧を簡単に調べることができます あとは、セルの内容とかシート名などを頼りに、目的のブックを機械的に見つける方法があるかどうかですね まあ、シート1の名前とかA1の値とか。なんか識別はできるだろう もう1つの方法。自分だけしか使わない自分用なら Personalにマクロ作って、開いた状態で実行して結果を別のBookにするとかでもいい 実行する時は「ペルソナー!」って叫ぶ 【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ではなく空欄にしたいです >>742 です 文章では分かりにくいのでイメージのスクショを貼ります 右の古い客先一覧のJ列を左の新しい客先一覧のC列に転記したいのです https://i.imgur.com/BsBGDg1.jpg >>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 て、マクロにして毎回変わる行数へ使えるようにしたいのでは無かったのかw 1回で良ければ$付けてコピーすりゃ良い >>744-745 >>742 です 早速ありがごうございます 希望通りでした 古い客先一覧から客先の増えた新しい客先一覧に更新するのに 列で古い一覧で決まってる担当の列を新しい一覧に転記したかったです なので毎回行が増えたり減ることもあります ところで古い客先一覧で担当の列が空欄だった時、 新しい一覧に転記されて空欄になるのと0になるのがありますが なぜか分かりますでしょうか? 古い一覧に白色で見えない0が入力されているのかと思いましたが 本当に空欄でした お世話になっております ご質問の問題について調査を行いましたところ H列にありj列に無いケースについては要件定義に明記されていなかった事から、 想定外のケースであることがわかりましたが 変更およびテストの実施はリリースに間に合わない恐れがある為 しばらくは運用にて対処いただけませんでしょうか? ご理解ご協力の程宜しくお願い申し上げます >>747 お世話になっております 手入力でC列にVLOOKUP関数を入力コピペしても同じ結果になりました J列に空欄があるとC列はそのまま空欄になると思うのですが C列のVLOOKUPの結果が空欄になる時と0になる時があるのは何が原因でしょうか データに問題があると思うので改善したいと思います >>734 自分が良く使う方法はインプットボックスでセルを指定してそのrangeオブジェクトからparentでワークシートとワークブックを変数にセット >>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になる時と空欄になる時があるのが謎です 後学の為ご存じでしたらご教示いただけませんでしょうか お忙しいところお手数ですがよろしくお願い申し上げます 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 初心者です。 工事毎作成する複数のシート(※1)の数値をデータベース用の他ブックのシートに工事毎に転記しています。 現在は工事が発生する事に保存してある(※1)原紙を該当工事用に更新し、保存後データベースにハイパーリンクを設定していますが、 いちいちハイパーリンクの設定をするのが大変なので、一連の流れを自動化は出来ませんか? できるよ 要は単票フォームのデータをテーブルに保存/テーブルから読み出しできるようにしたいんだろ Access使えない環境だとそういうのはときどきつくったりする VBA必須だけどな >>756 3が読めないのかおまえは だからみんな出来ないって言ってんだよ バカだろ できるかできないかでいえばできる ただしVBA使用が条件 別におかしくはない このスレではひとりのことをみんなっていうのかな このvbaが使えるかって設問、そろそろ見直したほうがいいかもね ・本人がvba使えるかどうか こんなことどうでもよくて、覚えろって話 ・職場環境的に絶対に使えない じゃあ仕方ないね となる 出来るかでいえば、VBAでペンタゴンハッキングできる人も居るかもしれないが とりあえず、VBA無しの範囲=数式とリボンの中のものとして 固定のデータソースから値を取ってきて計算まで 処理 となるとマクロコピペぐらい要るかなあ。 使える使えないってのは、本人が、の他に、環境が(会社が')、ソフトがって意味もあると思う 3.より4.でしょ ちゃんとテンプレに従って > 【4 VBAでの回答の可否】 否 って書いてあるのにVBA必須の回答するとか頭おかしい そもそもVBA使った回答なんかしてないだろう どこにVBA記述してるんだ できるって書くことすらだめなのか なんなのこのスレ VBA毛嫌いしてるヤツの気持ちもわかってほしい コンプレックスの裏返しさ 少なくとも俺はバカとか頭おかしいとは書いてない それはいいのか? >>768 小学生並みの煽りだな バカ 頭おかしい 文盲←New! VBA可で質問しているのに自己解決出来ないなら使わない方が良いんじゃね?と思う 職場なりで多数の人が使う場合は特に オフィス2019って一般人はいつ買えるんですか? 今後数週間のうちにリリースと、1ヶ月前に見た気がするんですが。 あと、excelしか使わないんですが、オフィス2019発売の際、バラ売りしてくれますか? それともバラ売りは少し発売日が遅れる、もしくはバラ売り自体やらないんでしょうか? 会社で自分以外が使うブックには基本VBAは入れないな。 あいつらファイル参照や自動作表どころか単純な関数すら別のブックにシートコピーとかやって効かなくして壊れたと騒ぐ。 vba内にデータを持たせたり 参照しているシートはロックしたり隠したり手段はあるが まぁ作る側は面倒だよな フールプルーフの良い練習になるから、あまり不満は無いかな Office2019は海外Amazonとかだともう売ってるんだよな 日本語版はまだらしい。いつになるかは分からなくてすまん ただ、2019の新機能はOffice365にしてればアップデートでもう反映されてる >>775 逆にそういうのをVBAで防ぐこともできるじゃん >>775 マクロはロックしてます。公開後の修正はめんどいですが。 2019使ってるけど、正直そこまで・・・感 OCRもグダグダだし、SORT関数もそもそもVBAでさんざんやってきたこと まぁ2019がデフォの世代はすごく生産性が高いだろうね 【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つの関数を組み合わせたいのですが、教えて頂けませんか? よろしくお願いします。 excelの差分ツール教えて いままでAiperDiffexを便利に使ってたんだけど、 Win 10にしたら調子悪くなってしまった スクロールすると波打つ感じ >>783 どれがいいのかわからんかった =MAX(A1:C1) =MATCH(MAX(A1:C1),A1:C1,0) =MID("ABC",MATCH(MAX(A1:C1),A1:C1,0),1) >>785 、787 785の方の3つめの式で解決しました! ありがとうございました!助かりました!! 787の方も回答下さりありがとうござきました! >>785 、787 785の方の3つめの式で解決しました! ありがとうございました!助かりました!! 787の方も回答下さりありがとうござきました! 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2010 【4 VBAでの回答の可否】 可 シートにテーブルTable1がありまして列3と列5だけをCSVで出力したいのですが よろしくおねがいします。 行数は日々変動いたします。 >>790 順番は? C1,C2,C3 改行 E1,E2,E3 改行 でいいの? >>791 具体的にデータを作りました テーブル1(Table1) 番号, 都市, 名前, クラス, 判定 1002, 東京, 山本, A組, o 1003, 千葉, 戸田, B組, o 1005, 東京, 鈴木, A組, x ・ ・ これを下のようにCSVで出力です 名前, 判定 改行 山本, o 改行 戸田, o 改行 鈴木, x 改行 アドレスではなくテーブル名と列名を使った構造化参照での回答がありがたいです 自分なら別ブックにデータを抜き出して それをCSVで保存する 別シートに列コピーを2回やってCSVで保存だな こんな単純な作業、VBAとかで自動化するまでもないと思うけど >>794 これと同じ操作がテーブル違い列違いで30テーブルくらいあるんですよ そして最低週1回以上のCSVデータの更新が必要でして テーブルをどうやって指定するかとか、csvファイルの名前や保存場所をどうするかとか、色々ある。 inputboxで指定するのか、シートにテーブルは1つと決まっていてそれを自動で取得するのかとか。 自分で作らないと思うようにできなさそう。 データの抜き出しはコピペでもいいしピボットでもいいしvbaでもいいし 好きにやればいいと思う ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる