Excel総合相談所 129
■ このスレッドは過去ログ倉庫に格納されています
▼━質問テンプレ (出来れば使ってね) ━━━ 【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel** 【3 VBAが使えるか .】 はい・いいえ 【4 VBAでの回答の可否】 可・否 ▼━関連スレ━━━━━━━━━━━━ 前スレ Excel総合相談所 126(実質127) https://find.2ch.net/search?q=excel Excel VBA 質問スレ https://find.2ch.net/search?q=excel+vba 【質問不可】Excel総合相談所スレの雑談・議論スレ https://find.2ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80 ▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F) ・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意。 ・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。 ・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。 ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。 ・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。 ・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。 Excelの操作に関係ない部分は、スレ違いなのでこのスレでは回答が得られにくいです。 ここで聞くよりもVBスレやAPIスレなどの該当スレで質問しましょう。 但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。 ここみたいに丸投げはダメですよ。 ・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。 例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。 その上で、どううまくいかないのかを具体的に書きましょう。 エラーが出るなら、何処でどういうエラーが出るのか、 想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。 ・9 マルチは嫌う人が多いのでなるべく避けましょう。マルチをすると、逆に回答は得られにくくなると思ってください。 ・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、 チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、 ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 10/02 16:30 200 150 10/02 16;20 340 230 10/02 16:10 300 120 10/02 16:00 100 50 10/02 15:50 400 190 A列は日付、B列は時間、 C列は高い数値、D列は低い数値が降順に取得しています。 データは2行目から降順に10分締めの時間で所得しています。 一週間分あります。 10/02の16:30から16:00の高い数値の中で最も高い数値をC3 10/02の16:30から16:00の低い数値の中で最も低い数値をD3に 出したいです。 出来たら日付、指定した時間を入力したらその期間の高い数値、 低い数値が出るようにしたいです。 お願いします。 >>5 MAXIFS関数とMINIFS関数で簡単にできるよ。 サンプル作ったけどクラッシュしてデータ消えたし休憩時間終わった。調べてみ? >>6 その二つの関数は、2016からの実装 質問者の環境では、エラーになるだけだ 式を取得する自作関数(紹介されてたやつ)が2007でエラーになるんですが 回避方法ありますか? function test(f as range) test = f.value end function とかいうのは動きましたが、 test = f.formula だとエラーになります。 >>5 >10/02 16:30 200 150 >10/02 16;20 340 230 >10/02 16:10 300 120 >10/02 16:00 100 50 >10/02 15:50 400 190 >データは2行目から降順に10分締めの時間で所得しています。 >高い数値の中で最も高い数値をC3 >低い数値の中で最も低い数値をD3に出したいです。 ん? 2行目からデータが入ってるなら、 C3には340、D3には230が入ってるんじゃないの? C1とD1や、他の列に計算式入れていいの? あとデータは3行目からに出来たりしない? (これは別に出来なくてもいいけど、もしコピペ貼り付けしたデータなら・・・程度) >>8 渡したセルの数式や、エラーの内容を書くべきじゃないかな >>7 これは失礼した。2013からだと思ってたわ。 >>5 指定した日づけ、時間ってのが指定した日時って意味なら日付と時間をまず足して作業列e列へ。 数式は3種類くらいあるけど、例えば配列数式を使う方式 {=max(if((e列が開始日時以上か)✱(e列が終了日時以下か),C列))} 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2016 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 A列に6桁の予算コード BCD列に予算コードに伴う予算区分(前から2桁ずつがB,C,Dに割り当て) 同じようにF列に10桁の部署コード GHI列に部署コードの区分(3桁,4桁,3桁が割り当て) これを各該当コード部分と区分をアンダーバーで つなげた値を表示したいと思ってます。 素人知識で作ったのは以下の感じ。 Dim yosan As String Dim busho As String Dim i As Long Dim n As Long n = Cells(Rows.Count, "A").End(xlUp).Row For i = 3 To n Cells(i, "A") = Format(Cells(i, "A"), "'000000") yosan = Cells(i, "A") Cells(i, "B").Value = Left(yosan, 2) & "_" & Cells(i, "B").Value Cells(i, "C").Value = Mid(yosan, 3, 2) & "_" & Cells(i, "C").Value Cells(i, "D").Value = Right(yosan, 2) & "_" & Cells(i, "D").Value >>12 の続き Cells(i, "F") = Format(Cells(i, "F"), "'0000000000") busho = Cells(i, "F") Cells(i, "G").Value = Left(busho, 3) & "_" & Cells(i, "M").Value Cells(i, "H").Value = Mid(busho, 4, 4) & "_" & Cells(i, "N").Value Cells(i, "I").Value = Right(busho, 3) & "_" & Cells(i, "O").Value If Cells(i, "O").Value = "000_" Then '※最後3桁の区分がないときは空白処理 Cells(i, "O").Value = "" End If Next 約55,000行くらいあるデータで30秒ほどかかるんですが、 もうちょっと早くする方法はないでしょうか。 >>13 これのM,N,Oというのは書き間違いです… G,H,Iにそれぞれ置き換えです >>12 ワークシートを一括で配列に読み込んで、配列の中だけで文字列の処理して、最後にワークシートに一括コピーすれば2秒で終わるよ >>16 14が言いたいのはつまり Sub aaaa() '読み 必要なサイズのRangeをまるごとメモリに読み込み Dim Data As Variant Data = Range("A3:O1000").Value '処理 (Cells(行,列).valueに相当。但し列はABCではなく123で指定) Data(1, 1) = Data(1, 1) & "_" & Data(1, 2) '書き Data配列の大きさに合わせて値を出力 'データのサイズ変更が無いと分かっている時はRange("A3:O1000").value=Dataとかでもいいが、こう書けば間違いない。 Range("A3").Resize(UBound(Data, 1), UBound(Data, 2)).Value = Data '※数式があると消えるので、値しか無いようにすること End Sub あと今のコードのままでも前後にApplication.ScreenUpdating = False〜Application.ScreenUpdating = Trueしたらかなり改善するはず >>10 セルの数式は単に参照してるだけです。 =test(i3) エラーは忘れました。手元になくて。 >>18 数式のエラーなの?実行時エラーなの? i3ってセルアドレスかな?I3のセルがどういう状態なのか。数式は何が入っているのか シンプルなプログラムなので、使い方が間違っているとしかおもえない 使ってるExcelが最近やたらと考え中が続いてフリーズとかするのですが、 新しいファイルにそのままコピペすれば今まで通り使えるようになりますか? >>20 エクセルが?ブックがの言い間違いかな。 改善する可能性はあるけど、原因を見つけたほうがいいと思う。 順番にデータや式を消していって大きく改善する場所を見つけよう あと、外部ファイルリンクが無いかの確認と、高さゼロのシェイプが長年のコピペで増殖して、とてつもない量のラインが隠れてる事もある。適当なシェイプを描いて選択してCtrl+AしてDeleteだ。重症な場合は、「高さゼロのシェイプを消すマクロ」でググると出てくる >>21 外部リンクでありがちなのは、名前の定義と条件付き書式だよな 他人が使っていたファイルを引き継いで使うと割りと無駄かつ外部リンクもとのファイルがない 名前や条件付き書式が大量にあることがある 明らかに生きてない外部リンクのある名前や条件付き書式削除するだけで 動作が大分軽くなるケースが多々あるので動作が重いときは、まずチェックだ エクセルファイルを整理した。何年も同じファイルを使っているとワークシートも増えてきて、同じワークシートでも行が増えてくるとどこに何があるかわかりにくくなる。 そこで、とりあえずファイルのコピーを作り、あまり使わないワークシートは削除した。そのあいたところに同じワークシート内の別の項目をコピーした。 これまでは検索で別の項目へ移動していたが、これで検索しなくてもワークシートの切り替えで別の項目へ移動できるようになり、かなり便利になった。 OneDriveやらDropBoxとかのクラウド系がオイタしてる可能性も微レ存 てか糞みたいな他人の作ったワークシート使うの死ぬほど苦痛だわ 表の並びが整理されてないのを無理やり見やすくしようとあがいてべたべた色塗ってんじゃねえよ まず四角くなってない表を整理してから配布してこい糞が VBAで一個基本的なところを教えて欲しい マクロ1でa1〜a5を配列aとして格納する 別のモジュールマクロ2をCALLで呼び出す マクロ2で配列aを使いたい マクロ2で別途配列aを定義して格納しなければならないもの? それと、マクロ2で新たに作成した配列bをマクロ1で使いたい場合、どうやるのが普通? >>27 今の宣言のしかたは? 宣言すら判らんのならセルに格納すれば簡単だ >>28 宣言という言葉の意味がよくわかってないけど、 dim a(1 to 100) as variant って定義している やっぱりマクロが終了したら別マクロで共有することはできない?? 一旦セルに書き込んで、別のマクロに戻った際は、そのセルから値を拾うって考え方か >>17 のアドバイスをもとに以下の感じで作ってみました。 結果は5,6秒で完了するように! だいぶ早くなったので助かりました。 ただUBoundがいまいちよくわかってません。 ワークシートの表では1列の情報が1次元、1行の情報が2次元の配列ということ? Dim i As Long Dim Data As Variant Data = Range(Cells(3, 1), Cells(Rows.Count, 8).End(xlUp)).Value For i = 1 To UBound(Data, 1) Data(i, 1) = Format(Data(i, 1), "000000") Data(i, 2) = Left(Data(i, 1), 2) & "_" & Data(i, 2) Data(i, 3) = Mid(Data(i, 1), 3, 2) & "_" & Data(i, 3) Data(i, 4) = Right(Data(i, 1), 2) & "_" & Data(i, 4) Data(i, 5) = Format(Data(i, 5), "0000000000") Data(i, 6) = Left(Data(i, 5), 3) & "_" & Data(i, 6) Data(i, 7) = Mid(Data(i, 5), 4, 4) & "_" & Data(i, 7) Data(i, 8) = Right(Data(i, 5), 3) & "_" & Data(i, 8) If Data(i, 8) = "000_" Then '※8列目の区分がないときは空白処理 Data(i, 8) = "" End If Next Range("A3").Resize(UBound(Data, 1), UBound(Data, 2)).Value = Data >>31 uboundは配列の要素の最大値を返す関数。 ,1なら一次元目(cells.valueで取り込んだ場合は行数に相当) ,2なら二次元目(列数に相当) つまりCellsと同じ! ウォッチウィンドウの使い方を覚えると良いよ。デバッグしながら変数の中身が見れるので色々理解できると思う >>31 たった55000件で5秒はかかりすぎだなあ 配列をVariantからString型に変更して、ワークシートから読み込む部分をValueからTextに変えて 最後にワークシートに書き戻す時Screenupdating = False以下略で画面更新と再計算を切ってみ >>30 ありがとう ちょっと運用の仕方悩ましいな いろいろ便利な機能があるが、なぜかセルをクリックすると指定したセルへ飛ぶ機能がない。何万行もあるわけだから、これがないとかなり不便。 ここで重要なのは絶対アドレスではなく、相対アドレスへ飛ぶようにすること。なぜかというと何度も行挿入や桁挿入を繰り返していると絶対アドレスへ飛んでも意味がない。 ジャンプ機能も絶対アドレスのようだし、しかもワンクリックではない。検索なら名前を工夫すれば的確に飛べるが、これもワンクリックではない。 >>35 ハイパーリンクは? セルにはやったことないが >>35 userformでいいじゃん 1分もありゃ作れるけど userformじゃないか、ただのフォームでええわ 光ケーブルがあればどこへでもいける 指定したセル てのに名前を付けとけば>>36 の言うハイパーリンクで飛べる セルのみならず、オブジェクトに名前付けても飛ぶ なんならシート越えて飛ぶ それを応用して最左端シートにメニューを羅列し、メニューに添った内容の 各シートを行き来するようなシロモノはごまんと見てきた 概ね好評 ワンドライブでエクセルオンライン使ってるんですが どうやって写真を挿入すれば良いですか? >>35 onkeyでカレントセルから移動するだけのショートカットキー登録すればいいじゃん >>19 どうも 「=」を取り除くために mid を使ってて 長さを省略したのがエラーの原因だったようです。 いろいろなエラーでなかなか動かなかったんで相談してみましたが 不正確な投稿でおさわがせしました。 >>31 マクロの最初に Application.EnableEvents = False Application.ScreenUpdating = False Application.Calculation = xlCalculationManual マクロの終わりに Application.EnableEvents = True Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True を入れてみ 多少だけど速くなるかも 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 24時間体制で5分おきにデータを降順に取得しています。 a列に5分おきの時間、b列にその時のデータが表示しています。 見ずらいので15,30,45,00分ごとの時間が来たら 取得したデータのセル(b列)に色を付けたいのですが、可能ですか? 7:00 200 7:00 200 6:59 132 6:55 132 6:58 132 6:50 233 6:57 132 6:45 199 6:56 132 6:40 102 6:55 132 6:35 281 6:54 233 6:53 233 6:52 233 6:51 233 6:50 233 6:49 199 6:48 199 もう一つ、 a列に1分毎の時間、c列に5分毎の時間、 d列に5分毎に取得したデータが入っています。 b列にa列の時間がc列の5分以内と一致したらd列から抽出できるように したいです。 >>44 条件付き書式で出来るかな その中の数式でminute関数で分取り出して、mod関数で5で割り切れるときに書式設定するように設定すれば良い >>45 vlookup関数、またはindex関数とmatch関数でできる。 >>43 そのおまじないはもう既にいれてるんすよね あと>>33 variantをstringにというのは型指定変えるだけじゃだめなんですかね? >>31 最初のレンジ指定が重いはず いっその事全部メモリに読み込めば? バージョン 1708 (ビルド 8431.2094 クイック実行) が来た。 >>47 返答ありがとうございました。 VLOOKUPで試していますが 時間の例えば15分から29分抽出方法が分からないです。 できればよろしくお願いします。 Windows10+Excel2016+マクロありブックで次のようなトラブルを体験しました。 同じような体験した方いらっしゃいますか? Windows7+Excel2010で開発したブック。一人1シート(20前後+αのシート)で普段は各人の シートを非表示、マクロによってシートを表示する際に人によっては不要な行を非表示とする処理を 入れていた。Windows7+Excel2010(2013)までは異常なく実行できていた。 ところが、Windows10+Excel2016の環境で利用しはじめたところ、行の非表示処理でエラーとなった。 マクロではなく、手作業で非表示の操作を行おうとすると 「オブジェクトがシートからはみだします。その操作はできません。」と表示された。 オブジェクトがシートの最下行にあると行の非表示ができないらしいが、当該シートには図形は入れてない。 オブジェクトの名前を表示する簡単なマクロで調べたところ、コメントと判明。 コメントの編集をしようとしたところ、コメントの枠がシートの最下行まで移動していたことが判明。 各人のシートからすべてのコメントを削除してようやくマクロが支障なく動くようになったというもの。 Excel2010だと、コメントの書式設定画面では枠のサイズは変更できるけど、位置を指定する項目はない。 どうやったらいいんだろう? ある値xを、複数のマクロで利用するんだけど 各マクロで毎回計算させるのと、ある値xを計算するだけのマクロを作って、それをCALLするのと、どちらがおすすめ? >>53 早々のアドバイスありがとうございます。常時表示のときのもののようなので、 これを実行した後にコメントを非表示にするという処理が有効かどうか、試してみたいと思います。 >>54 そりゃ後者 ってかグローバル変数でいいjんじゃないか >>56 グローバル変数って使ったことないんだよね いまいちピンとこない >>45 5分以内に合致する場合はっていうけど 合致するものが二つある場合はどっちを採用するの? 6:59だとすると、7;00と6:55が該当ぽいんだが >>59 ご返信ありがとうございます。 6:59だと6:55に属します。 7:00になると7:00から7:04まで7:00の数値に属します。 わかりにくい文章ですみませんでした。 >>45 >>45 の結果にするなら B1==SUMPRODUCT((C$1:C$7>A1-TIME(0,5,0))*(C$1:C$7<=A1)*D$1:D$7) で、下方向にオートフィルで可能だね >>57 functionをわけないなら恩恵はゼロ functionやsubが分かれると常時使いたい変数というものが出てくる それ >>62 functionを分けるってのはどういう意味? 例えば、 1)直角三角形の直交二辺の値をシートから読み取るマクロ 2)斜辺の長さを求めるマクロ 3)三角形の面積を求めるマクロ 4)三角形の周長を求めるマクロ ってあるときに、 2)と3)と4)は1)の値を必要とするから、1)の値をグローバル変数にすると、一度格納すれば、手間が減って良いですね、というような使い方だと理解している。 ただ、 4)には2)の結果も利用することができて、だから2)の値もグローバル変数にするのか そんな感じでポンポングローバル変数を作る考え方で合ってるのか?って気はしている 1)〜4)を1つのマクロで書いちゃったって良いもんね。 ただ長くなるけど。 要するに各プログラムは短く、プログラムの数は細切れにして増やすような運用の仕方が普通の考え方で良いのか?ということがわからない 確かに、クソ長いプログラムを読むのは嫌になるし、細切れにされたプログラムならまだ読む気になるのかもしれない。 あとエラーチェックがしやすいかもしれない。 わからないけど。 >>63 横からだけど下記を新しい標準モジュールにコピペし実行してみると判ると思う Dim 半径 As Single Private Sub 円周() 半径 = 5 MsgBox "円周は" & 半径 * 2 * 3.14 End Sub Private Sub 円の面積() MsgBox "面積は" & 半径 * 半径 * 3.14 End Sub Sub 結果() 円周 円の面積 End Sub 最近急に出た現象なんだけど win10でExcel2016で、パスワード付きファイルを開くとウィンドウズが二つ開くようになった。 例えば前までは、ブックが一つ開いてパスワードを入力する小窓があって、パスを入力するとブックは一つしか開いてなかった。 今は、パスワード付きのファイルと、なぜかまっさらなファイルがもう一つ開く・・・ 本ファイルを閉じても、そのまっさらなファイルは閉じないからメンドクサイ。 同じ症状の人いますか?解決方法あるのかな >>66 沢山たまに見かけるような 再インストールしたらなおるかも? パブリック変数なんか滅多に使わないだろ どうしてもパブリック変数が必要なシステム組むようならそれなりに腕があるわな 初心者レベルならプライベート変数だけにしとけ >>54 Public Const WEEK_DAYCOUNT as Long=7 Public Sub PrintWeekCount End Sub >>54 ある値xを何度も計算する必要があるなら、計算専用のFunctionプロシージャを用意するのが正解 何万回もループして計算するようなのでない限り、今のPCの性能なら毎回計算させても何の問題もないし、 計算パターン変更する時は専用プロシージャを書き換えるだけで済む それから、よく使うのはパブリック定数、ただし使い方によっては Private Const... とモジュールレベル定数 パブリック変数なんかまず滅多なことじゃ使わん、てか初心者ほど絶対使うな モジュールレベル変数に手を出すのはユーザーフォームに戻り値持たせたり、クラス自作したり、そこまで行ってから Public Const WEEK_DAYCOUNT as Long=7 Public Sub PrintWeekAndDay (日数dと週wを入力) Debug.Print WeekCount(d) Debug.Print DayCount(w) End Sub Private Function WeekCount(d as long) As Long ' 日数dを週に換算 WeekCount=Int(d/WEEK_DAYCOUNT) End Function Private Function DayCount(w as long) As Long ' 週wを日に換算 DayCount=w*WEEK_DAYCOUNT End Function スコープの話なのに変数の宣言抜けてたわすまん Public Const WEEK_DAYCOUNT as Long=7 Public Sub PrintWeekAndDay Dim d As Long, w As Long (日数dと週wを入力) Debug.Print WeekCount(d) Debug.Print DayCount(w) End Sub Private Function WeekCount(d as long) As Long ' 日数dを週に換算 WeekCount=Int(d/WEEK_DAYCOUNT) End Function Private Function DayCount(w as long) As Long ' 週wを日に換算 DayCount=w*WEEK_DAYCOUNT End Function 同じ変数値を別々の手続きで何度も使うなら引数を増やせ 同じ計算を何度もするのは最悪の実装 別の要因で同じ結果になるとは限らないケースでバグの元になる >>63 >要するに各プログラムは短く、プログラムの数は細切れにして増やすような運用の仕方が普通の考え方で良いのか? そういうこと 使い回ししやすいように作る 63だけど何も取りかかれていない申し訳ない さらっと読んだけど理解できないことが多い状況 理解できそうなところだけ消化します >>71 初心者には引数って何ぞ?ってのが最初の壁だろうな 記録マクロじゃプロシージャの引数は絶対に出てこないから でも引数増やし過ぎたらそれはそれでわけわからんようになるからな classがもっと手軽に使えればいいんだけど っておもったけどvbaでそこまでするか? >>63 それぐらいならグローバル変数は使わないほうが良い Sub foo() '読み込む 縦 = Cells(1, 1) 横 = Cells(1, 2) '各数値計算 Debug.Print 斜め(縦, 横) Debug.Print 面積(縦, 横) Debug.Print 周長(縦, 横) End Sub Function 斜め(縦, 横) 斜め = Sqr(縦 ^ 2 + 横 ^ 2) End Function Function 面積(縦, 横) 面積 = 縦 * 横 / 2 End Function Function 周長(縦, 横) 周長 = 縦 + 横 + 斜め(縦, 横) End Function >>75 もちろん構造体やプロパティを使う方がいいけど、 引数が多すぎるのはとくに初心者はモジュール化の方針に問題があることのが多い 正解がないに等しいから経験を積むしかないし classにすればいいんだけど、そうすると更に難易度上がるからな 引数いっぱいでいいと思う どうせ対して保守やらなんやらしないだろ。 vbaのいいとこだけつまみぐいしてればいい そう言うことを言ってるといっそC#にしてくれ... って思う心を押さえきれない それは昔やったんだ・・・ なんだっけな、なんか色々ウンコで諦めた記憶がある .NETからエクセルは触らん方が良い >>67 よくある事例なんですね。 やっぱり再インストールしかないんですかね・・・ 1年前にオプションで設定とか色々いじってて、どこを設定しとか忘れてるので出来れば再インストールしたくないんですよねえ・・・ >>80 Marshal.ReleaseComObjectだろ せめてusingで解放できるようにしろよとは思う >>81 逆に考える なるべく設定は触らずに使うようにするんだよ 俺もやってきたしお前のおかんも経験済みだ PC設定はgoogleIMEとchrome、拡張子の表示ぐらい エクセルに至っては数式バー少し伸ばすぐらい >>81 オプションスクショ取っておくだけで、設定の復元なんて数分でできるじゃん リボンはエクスポートできるし。 >>80 どっかのブログでなぜかとても不安定なcomを使う方法ばかり流通してるせいで嫌う人多いけど、ちゃんと安定したエクセルの読み方あるって書いてあったよ 実際使ってるけど全く問題ない >>85 できるのはわかってる とてつもなく面倒なだけ 再インストールしましたが、>>66 の症状は治りませんでした・・・ 適当に他のExcelファイルを開いてて、パスワード付きファイルを開くと二重に開かないんですけど 単独で開こうとすると二重で開く・・・ なんでだあ マウスが壊れてダブルクリックになってるとか シングルクリックで開く設定になってた事はあったw >>87 関連付け関係だと思うんだけどねー Office系は設定が複雑化しててマニュアル修正しずらいから嫌い。 コンパネの既定のプログラムで治る可能性もあるけど多分無理。悪化する可能性もある。 一番安全なのはOSごと‥ >>87 別ユーザーを作って試してみ システムか個別設定か切り分けられる 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 現在、条件付き書式で、期日が2週間以内になったら セルの色が変わるようにしています。 =TODAY()+14>A1 しかし、上記の書式では期日が過ぎてもセルの色が変わったままです。 期日が過ぎたらセルの色が変わらないようにするには、どのように 書けばいいのでしょうか。宜しくお願いします。 >>93 こんな感じかな =AND(TODAY()<=A1,A1<TODAY()+14) 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 名前に付いてなんですが、 例えばA4:Z99を4000回INDEX〜MATCH等で参照するとして MATCHに全部A4:Z99と書くのと、A4:Z99に2〜3文字程度の名前をつけて 名前で参照するのでは、どちらが軽快でしょうか? MATCH(150,A4:Z99,1) MATCH(150,原価A,1) [A4:Z99に"原価A"という名前を定義] こんなかんじですが、上と下、どちらが軽快ですか? >>95 やったらええがな カンだけど多分変わらないぞ 表計算使い始めて分からないことがあるので質問させてください。 A1 B1 C1のセルがあって、 B1の背景に色がついたら、B1の数値をA1に表示。 C1の背景に色がついたら、C1の数値をA1に表示。 どちらも色がついた場合は特に何も無し。 とするには、どのような式を入力すればいいでしょうか? お願いします。 >>98 色がついたら、ということは基本的にできない b2に1を入力することで分岐させる A1=if(B2=1,b1,"") B1の条件付き書式はB2が1なら〜で設定する すいません、質問させてくだい。 エクセルのファイルを画面上に2つ以上見えているとします。 そこで、ショートカットキーを使ってファイル間をアクティブセルを移動させることは出来ませんか? Ctrl +TABではセルは移動しますが、ほかのエクセルファイルは最小化されてしまいます。画面上のエクセルファイルは見えたままにしておきたいです。 わかる方お願いいたします。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる