Excel総合相談所 136
■ このスレッドは過去ログ倉庫に格納されています
【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel** 【3 VBAが使えるか .】 はい・いいえ 【4 VBAでの回答の可否】 可・否 ▼━関連スレ━━━━━━━━━━━━ 前スレ Excel総合相談所 https://find.5ch.net/search?q=excel Excel VBA 質問スレ https://find.5ch.net/search?q=excel+vba 【質問不可】Excel総合相談所スレの雑談・議論スレ https://find.5ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80 >>326 作業列の追加はしない式ありましたらお願いします >>326 計算のルールがまったくわからん 何と何をどう足してるんだ >>326 E列を名前列として上からaaa、bbb、ccc、ccc、cccと入ってるとする =SUMIF($B$3:$B$7,"*"&D3&"*",$C$3:$C$7) 間違えた =SUMIF($B$3:$B$7,"*"&E3&"*",$C$3:$C$7) ずっとフリーソフトを使っていて最近になってエクセル2016を使い始めたんだが 画面右端のセルが少ししか見えてない状態で、そのセルをワンクリックしてもセルが左に自動的にズレてセル全体が見えるようにはならない仕様なのかな? ダブルクリックすれば思うような動きはしてくれるけど、設定等とかで変更できるのなら知りたい マウスはひっくり返して、F1キーは外す。これ、外資系コンサルの常識だよ。 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010,2013 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 データを入力してEnterを押すと任意の場所にアクティブセルを移動させる方法はありますか? A1にデータを入力してEnterを押すとデフォルト設定ではアクティブセルはA2に移動しますが、 A1にデータを入力してEnterを押すとD1に、D1にデータを入力してEnterを押すとB3に・・・といった感じです >>335 外資系コンサルはExcelなんて使いません >>338 無いが、 データを入力するところはA1,A2,A3にしておき、 データを出力するところは A2=A1 D1=A2 B3=A3 のようにすることは可能 というか俺がやってる >>339 これネタやぞ >>338 Ctrlキーを押しながらD1 B3 A1の順にクリック データ入力Enterの繰り返しでその順番に移動する >>334 マウス禁止ならクイックアクセスなんたらショートカットもどきではなくて各コマンドをショートカットでカスタマイズできる仕様にして欲しいわ 某フリーソフトなら仕様でカスタマイズ可能なんだけどな >>338 VBAを使いこなせ。 対象のSheetモジュールに Private Sub Worksheet_Change(ByVal Target As Range) で書けばなんとでもなる。 IT系以外では、それなりに大きな会社であっても絶対マウス使うマンが概ね主流だよな クイックアクセスツールバーにクイック印刷以外のデフォルトボタンなど邪魔でしょうがない(自宅PCでは外して他のを登録してます)けど、郷に入れば何とやらか まあ、自分だけショートカット使って出来る限り差を付けるのがベターだな 事務作業の能率をチェックして個人の評価を決めてる会社なんてあるの? 処理した伝票の枚数とかいちいち調べてたら逆に怖いわ Excel使う雑用なんかどんだけ能率を上げてもダラダラやっても給料は変わらん >>347 レアケース そんなルールの厳しい会社に務めてるやつは5chなんか見ない ローカルルールを知らない他人の回答はまったく役に立たないから同僚に聞くしかない むしろ重くなるから関数使うなという所もあるしな そういう時は白紙ブックにマクロを入れて裏から操作すればいいけど マクロで操作出来るのは何もマクロ入りのブックだけではないし >>345 入力代行業とかだと普通にあるだろ てかそう言うのを把握しておかないと作業時間の見積もりもできないし 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2010,2013 【3 VBAが使えるか .】 中級 【4 VBAでの回答の可否】 可 シートに表があります。 名前、ふりがな、注文品、個数という表です。 何百行もある表です。 あるフォームを開いた時そこのコンボボックスの選択肢に シートのふりがなを用いたいのですが、表には同じ人が何回も登場するし できればあいうえお順で.cmbboxにAddItemしたいです。 重複を避けあいうえお順にするのに何かいい方法ないでしょうか? >>351 さすがにそこまで単純な作業は歩合制かノルマ制が普通では >>352 どこか空いてるセルにふりがなの列をコピーして、重複の削除(RemoveDuplicate)と並び替え(sort)をすれば少ない手間で目的のデータが得られる 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2016 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可(必要なら覚えます) (機能の例としてのファイルなので、見なくても大丈夫です) http://www.beec.or.jp/format/for_report.html 一般財団法人 日本建築設備・昇降機センターのサイトに繋がります。 このページの 「東京都 建築設備定期検査報告書+報告概要書 Excel2010【リンク版】2019.4.26」 のファイルの中にあるマクロ(?)のように、 「エクセルファイル1」の「ワークシート名」の「セル(仮にA1)」の内容を、 「エクセルファイル2」の「ワークシート名」の「セル(仮にA1)」に移す、 という作業を各入力セル(500セルくらいあります)に行う マクロ(?)ってどのように作ればよいのでしょうか? このサイトの書式に限らず、 「公式が配ってる書式が1年に1度くらいのペースで微妙に変えられるので 旧書式の入力内容を新書式に手作業でカタカタ頑張って打ち込む」みたいなことが多いので マクロ(?)やプログラムで自動処理みたいなのができるなら頑張って作りたいです。 >>356 VBAならセルのコピーは1行で書けるけど、書式が変わってしまったら自動で対応するのはかなり難しいと思う (例) Workbooks("エクセルファイル2").Sheets("ワークシート名").Range("A1") = Workbooks("エクセルファイル1").Sheets("ワークシート名").Range("A1") >>357 書式が変わるのは頻繁ではない(多くて半年に1度程度)なので、 軽微な書式の変更は手作業のメンテナンスで対応していこうかと思っています。 (「A1をA1にコピー」を、「A1をA2にコピー」にする程度の書き換えを 十数ヶ所、程度の作業で大丈夫だと思いますので。) Workbooks( ) Sheets() Range() = を教えていただいたおかげで、方向性がわかって 検索もできるようになったので、ここからはコツコツと覚えていこうと思います。 ありがとうございました。 >>354 君が知らないだけで、世の中こういう単純作業って山ほどある 納期が厳しいものは作業員の能力を把握してないと即納期遅延になるので、ノルマとか歩合制では不安定過ぎる 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 1つのファイルでシート1にデータソース、シート2、3にピボットを組んでます ピボットのデータ範囲は同一のテーブルを使用しているのですが、片方は全て集計されているのに、もう片方はデータ1行分が集計されません 単純なピボットなので、組み方は間違っていないと思います 見当がつく方いらっしゃいますか >>360 この手のミスを探すときはまず、間違っていないという思い込みを捨て、めんどくさがらず確認する >>360 色んな原因あるから見ないことにはなんとも ちなみに総合計も不足してる? >>361 明日全てチェックするようにします >>362 総合計が不足していたので気付きました セキュリティが厳しい会社なので、ファイルの持ち出しは出来ないですね >>363 >セキュリティが厳しい会社なので、ファイルの持ち出しは出来ないですね いやw普通でしょ >>360 みたいな悩みって、見る人が見たら数秒で原因がわかり、数分で修正できてしまうものだと思う。 こういうのを遠隔操作でチャッチャと解決してくれるサービス、誰かはじめてください。 同じにしてるつもりが、データソースが1つずれてるんじゃないの? こういう些細なミスしてるやつってろくに確認しないで合ってると言い張るんだ そして確認は他人に丸投げ VBA習いにパソコン教室いくわ。もう限界や。独学じゃわからへんわ。 >>370 教えてくれるとことかある? VBAマスター?取りたいんだよね エクセルエキスパートとアクセスは取った 無職の期間に職安の訓練校通ってExcel Access VBAのセットコース取ったけどVBAは触りだけって感じで業務に役に立つレベルには程遠かった >>371 いっぱいあるよ。パソコン教室はマジで吟味して決めた方がいいよ。周りの人たちがWordとかPhotoshopとかやってると質問とかしづらい。要は少人数の教室を探して行くのが1番いいよ。 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 カーソルの位置を自動で適切な位置にしたいです 横列1の縦列のCまで入力したら自動で 横列2の縦列Aにカーソル移動 横列2の縦列Cまで入力したら自動で 横列3の縦列1にカーソル移動 って感じにしたいです >>374 たとえばマウスでA1からC3までドラッグして選択しとけば、その中だけで順番に動くようになる 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 B列からZ列くらいまで、10行の表があります。 B3の値が「出席」なら、B4のセルの背景色が青になるというように、 BからZ列までぜんぶ、「○3の値が出席なら○4の背景色を青」と 設定したいのですが、どのようにすればいいのでしょうか? 条件付き書式って、自分自身のセルのことしか無理っぽいです。 ひとつ上のセルを条件にするってことと、できればBからZまで一括設定がしたいのですが 何か方法あるでしょうか? >>374 毎回範囲を選択した状態にするのも面倒なら 入力したい範囲のセルの書式設定の保護タブで、ロックのチェックを外し 校閲タブのシートの保護で、ロックされたセル範囲の選択のチェックを外すと ロックされていないセル範囲=入力したい範囲しかカーソルが動くことはなくなる。 >>376 1 B2:Z11のセル範囲を選択する 2 リボン→ホーム→条件付き書式→新しいルール→数式を使用して〜 3 数式を入れる枠に =B1="出席" を入力 4 [書式]ボタンをクリック 5 塗りつぶしのタブをクリック→塗りつぶす色を指定→[OK]をクリック 6 [OK]をクリック B2:Z11を選択している状態で、数式にB1と指定したところがミソです。 >>376 B4セルの条件付き書式の条件の数式に =B3=”出席” でええんとちゃう? なんでそのセルの値しか参照できないと思い込むのか分からん 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 条件で別領域に取り出すSMALL関数について質問があります。 B店舗夜間 25000 A店舗夜間 30000 Z店舗夜間 35000 Y店舗昼間 50000 Z店舗昼間 75000 A店舗昼間 100000 B店舗昼間 200000 上記のような売上表があって、 別セルに"A店舗夜間"を除外して、以下の式を別領域で計算していました。 ={SMALL(IF(A$1:A$100<>"A店舗夜間",B$1:B$100),ROW(A1))} 条件に"B店舗夜間"も除外対象に追加したいのですが、うまくいかないのでご教示いただければ幸いです。 >>381 ご教示ありがとうございます。 確かにフィルターオプションでできました。 ただ、元の式から条件が追加になるだけだったので、式の軽微な修正でできるかと思ってました。 【1 OSの種類 .】 Windows8.1 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 初心者ですが、ここにながれつきました・・・ エクセルの式で、どのように作ればよいか分からず 悩んでいます。 セルA1が「1」ならB2を反映、A1が「2」ならC5を反映 としたいのですが、この場合どのような式になるのでしょうか。 ifsは2013では無理とやっと分かり、vlookupではとなりのセルしか 反映できない?みたいで、行き詰まっています・・・ すみませんが、どなたかご教授願います! >>383 =IF(A1=1,B2,IF(A1=2,C5,"")) これでいいのでは?最後の方の""は、セルA1の値が1でも2でもない場合の値となります。 >>383 =SWITCH(A1,1,B2,2,C5,C1) A1が1ならB2の値、A1が2ならC5の値、それ以外ならC1の値を表示する >>383 =CHOOSE(A1,B1,C5) 2013ならこれ >>386 B1どこからでてきたw 初心者さんだと簡単なミスでも混乱するぞきっとw ご回答ありがとうございます!! 今晩、パソコンで試してみます! 色々とありがとうございます。 【1 OSの種類 .】 Windows 10 【2 Excelのバージョン 】 Excel 2010 【3 VBAが使えるか .】 初心者 【4 VBAでの回答の可否】 希望します i = Int(100 * Rnd + 1) 変数 i に 1から100までのランダムな数値入れて その内、NGとなる数字を30個、A1:A30に入力します。 そして i に A1:A30 の値を参照させて判定させたいのですが 複数のセルを参照することができません。 If i = Range("A1:A30") としても、参照されるのがA1だけになってしまいます。 If i = Range("A1,A2,A3…")としても、一緒でA1だけになります。 参照するセルが複数の場合、どのように指定すれば良いのでしょうか? また、マクロではあまり、セルに入力されている値を参照するものでも ないのでしょうか?分かりにくい説明ですみません、よろしくお願いします。 >>389 forで回すとか、WorksheetFunctionでやるとか On Error Resume Next hage = WorksheetFunction.Match(i, Range("A1:A30"), 0) On Error GoTo 0 If hage > 0 Then MsgBox "OK" Else MsgBox "NG" End If findか何かを使えばいいんだろうけど構文を調べるのが面倒だから ForEachで作ってしまう僕が通るだけで後はまかせますよ >>389 if range("A1:A30").find(i) is nothing then debug.print "NG" 間違えたわ if range("A1:A30").find(i) is nothing then debug.print "OK" findは文字列・数値で見つからないのが微妙に怖い 見つからないことが困るか困らないかは仕様と目的による findって対象の値が二つ以上あったらどういう挙動なんだっけ? >>396 最初に見つけたところで検索終了 ただどこまで検索したのかの位置は内部的に記録してあって それ以降のを検索するには FindNextメソッド使って終わりまでループさせる 正直面倒な仕様だと思われ vbaでIEを動かす際、テキストボックスへのfocusが、成功するときと成功しない(で次の処理に移行しエラーが出る)ときがあります 安定させるのに何か方法はないでしょうか? エクセラーってちょっと響きかっこよいですよね ワード… 【1 OSの種類 .】 Windows8.1 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 10シートのうち,「作業用」,「転記用」という名前が入っているシートがいくつかあります。 通常は非表示にしてあり,現在は,担当者が再表示する場合は「校閲」→「ブックの保護」→「パスワード入力」と行っています。 これを,例えば「シートの再表示」というマクロを実行すると, 1.「校閲」→「ブックの保護」→「パスワード入力」 まで自動で進む。 2.パスワードを入力する。 3.「作業用」,「転記用」という名前が入っているシートのみが再表示される。 また,逆に, 例えば「シートの非表示」というマクロを実行すると, 1.「校閲」→「ブックの保護」→「パスワード入力」 まで自動で進む。 2.パスワードを入力する。 3.「作業用」,「転記用」という名前が入っているシートのみが非表示される。 といいう動作にしたいです。 どのように記述したらよいか教えてください。 >>400 エクセラだとインスタントコーヒーになってしまうので、エクセリストが推奨されています >>401 です。追記です。 パスワードなしの場合は,以下のように記述しています。 Sub 転記用シート一括非表示() Dim s As Worksheet For Each s In Worksheets If InStr(s.Name, "転記用") > 0 Then s.Visible = False End If Next s End Sub Sub 転記用シート一括再表示() Dim s As Worksheet For Each s In Worksheets If InStr(s.Name, "転記用") > 0 Then s.Visible = True End If Next s End Sub アドバイスありがとうございました。 とても勉強させて頂きました。 私もいつかは回答者さん側になれるよう精進したいと思います。 A1をリスト入力に設定し、リスト候補をセル範囲指定に している場合で、セル範囲(縦一列に入力)の下部セル にリスト候補を追加入力しただけで、リスト候補として 追加される方法はありますか? >>406 C列に候補を入れているとした場合にデータの入力規則でリスト、 元の値のとこを↓にすれば出来る =OFFSET(C1,0,0,COUNTA(C:C),1) 入力セルがA列、リスト候補の列が別のとこに設けている ようにしています。 新しいリスト候補ができると、都度入力規則を設定し直 しているのを省略したいです。 >>406 リストの範囲を縦一列にしたらそうならんか? 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2016 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 Excelは計算量が多いと途中で計算をやめると聞きましたが、本当ですか?? >>411 ステータスバーに処理のパーセンテージが表示されてる時にEsc押すとキャンセルできる って話? 本当 試しにA:Aに=1+1とか入れてみると良い >413 キャンセルしなくても終わる事はあるよ vba で複数シートを一括印刷する際、A1セルに「××」という文字列があるシートは除外して印刷するような設定ないでしょうか? >>406 追加入力? ちょっと後半の意味わかんない 画像つけてよ 【1 OSの種類 .】 Windows8.1 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 >>383 です。色々と試してうまくいきました!ありがとうございました! 2つ目の試練が出てきました・・・・ A1が1の時、 A3〜M3の範囲で「1であるセル」の下を選ぶ (例えばC3が1なら、C4) という指定は可能なんでしょうか。 418の続きです。 カレンダーの日付で、●日の時のメニューを、別シート(配送表)に反映させたいんです。 カレンダー様式は曜日が固定されていて、月によって●日という位置が変わるんです・・・ 月 火 水 木・・・ 1 2 3 4 もあれば 月 火 水 木・・・ 31 1 2 3 などもあり、 日付と一致するセルの下のメニューを引っ張りたいんですが、式で可能なんでしょうか。 何度もすみませんが、どなたかご教授願います。 ↓だと半分ぐらいが削除されるのですが、なぜか削除されない行もあります。 セルにはスペースも何も入っていないで。 原因と解決方法を教えてください。 Sub Macro2() 'シート名「***」のC列に空欄のセルがあれば、その行を行ごと削除して詰める Sheets("***").Select For r = Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1 If Cells(r, "C").Value = "" Then Rows(r & ":" & r).Delete End If Next r End Sub >>420 For r = Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1 If Cells(r, "C").Value = "" Then debug.print r&"行目の中身:"&Cells(r, "C").Value Rows(r & ":" & r).Delete End If Next r って感じでコンソールに出力すると良いよ 他にもF8のステップインって機能がある 一行一行見ていけば、変な行がわかる >>383 ,418 これでどうでしょう。 =IF(A1=1,OFFSET(A3,1,MATCH(1,A3:M3,0)-1),"") =IF(A1=1, ,"") の部分は説明不要ですね。 OFFSET(A3,1,MATCH(1,A3:M3,0)-1)の解説 OFFSET(A3,1,□) で、A3セルを基準に1行下、□列右のセルを指定したことになります。 □はどうやってもとめるか・・MATCH関数の出番です。 MATCH(1,A3:M3,0) で、A3:M3セル範囲(1行×13列)の中から値が1のセルが何番目に あるかを求める関数です。例えば、D3セルが1だったらMATCH関数の値は4になります。 このままではA3セルを基準に1行下4列右のセル=E1セルを指定してしまうことになるので MATCH( )-1 としています。 ただし、A3:M3に一致する値がない場合はエラー #N/A となります。 なお、>>419 を見てみた限り、この方法がいいのかどうかはわかりません。表の全体がもう少し 詳しくわかればいいのですが・・・。 かといって、実際のファイルをアップすることはしないように。 週間カレンダー形式の表は私もいくつか作ったことがあります。 >>419 俺だったら、日付とその日のメニューを 左右2列に並べたシートを作り それを元にカレンダー作るけどね 休業日のシートも作って それもカレンダーに反映させればいいし 万年カレンダーでググればヒントになるの見つかるよ >422 ありがとうございます!自分の知らない関数でした! 確かに、これだといけますね! 範囲を複数にまたがる時ってどうしたらいいんでしょうか? カレンダーなので、行が変わるんです。「A3:M3」だけでなく、 「A10:M10」も みたいなイメージです。 >423 横に書くデータ入力シートを作って、それを反映させるって意味ですね? 入力する素人おばちゃんが、縦と横、目を回さずに間違いなく入力できたら いいんですが・・・一度話してみます! 色々とありがとうございます。 >>424 横じゃなくて縦並び 手帳と同じ 日付,メニュー 2019/8/28,オムライス 2019/8/29,ハンバーグ定食 って感じ カレンダー作る時 日付を“1”で入れるか“2019/9/1”で入れて 書式にd入れるのは見かけ同じで意味が違う 後者の方が応用させやすい ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる