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

452名無しさん@そうだ選挙にいこう2018/09/10(月) 18:47:44.01
445です。
「数字が3つ以上連続している」という条件はあきらめ、「5〜6,8」とかなってしまっても
OKということにしてなんとかなりました。みなさんありがとうございました。

最大で1100件くらい連続しているところもあったので、なんとかなってよかったです。

453名無しさん@そうだ選挙にいこう2018/09/10(月) 22:48:11.13
すみません
15個の好きな数字があって、その中から1つの数字を選んだ後
違うセルにその1つの数字以外の14個の数字の中から更に好きな数字を選ぶことってできる?

例えば
1,3,7,12,15の中から7を隣かどこかのセルに選んだ後
更に違うセルに7以外のどれか4つの数字の内1つの数字を返す方法ってありますか?

454名無しさん@そうだ選挙にいこう2018/09/10(月) 23:28:05.30
>>453
例えば縦に連続した15個のセルに数値が入ってるとして、index関数で1〜15までの乱数番目の数を引っ張るとする
もしそれが選んだ数だった場合は乱数に1足した数をmod関数で1〜15の範囲に直した物をもってくる

これでどうかな?
選んだ数以外が全て同じ確率じゃなくても良いなら

455名無しさん@そうだ選挙にいこう2018/09/11(火) 11:59:38.04
【1 OSの種類      】 Windows10
【2 Excelのバージョン 】 Excel2016

CTRL+SHIFT+ Lでのオートフィルタのショートカットができません。
キーシーケンスの設定も変更してみましたが、直せませんでした。
どこか他に設定を確認した方がよい箇所はありますか?

456名無しさん@そうだ選挙にいこう2018/09/11(火) 19:18:09.96
>>455
直接的な回答ができなくて申し訳ないけど
・特定のブックだけの現象なのか
・他のエクセルのショートカットは動くのか
・他のオフィスソフトのショートカットは動くのか
・各キーの故障の可能性無いのか

など、原因をもう少し追求してみると何かわかるかもしれません

457名無しさん@そうだ選挙にいこう2018/09/11(火) 19:59:04.36
>>456
ありがとうございます

一応試したこととしては
Excel2010でショートカットキー使えるか→使える
他のショートカットキー→CTRL+SHIFT+P でフォント変更は呼び出せた
キーボードのチェック→文字は問題なく打てた

ブックはExcel立ち上げてすぐの新規のブックで、念のためPCの再起動をしても解消しませんでした

他のオフィスのショートカットは試してないので、試してみようと思います

458名無しさん@そうだ選挙にいこう2018/09/11(火) 23:12:40.71
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 否

Sheet1のA列に期限日、B列に作業内容、C列に「未」か「済」のどちらか の表があります。
ここからC列が未になっているものだけをSheet2に期限日と作業内容をリスト化したいのですがどうすればよいでしょうか
Sheet1を編集したらSheet2も連動するようにしたいです。

ちなみにSheet1は加工が許されていないので補助列の追加などはできません。
Sheet2だけで何とかする方法を教えてください。

【例】
Sheet1
A         B         C
2018/10/01  資料作成    済
2018/10/02  報告書作成   未
2018/10/03  給与査定    未
2018/10/04  見積もり作成   済

Sheet2
A         B
2018/10/02  報告書作成
2018/10/03  給与査定

459名無しさん@そうだ選挙にいこう2018/09/12(水) 00:01:13.64
>>458
excel オートフィルタ 関数 で検索すると出てきます。
要は、オートフィルタでできることを、関数でやってしまおうということですよね。

4604582018/09/12(水) 00:36:24.79
>>459
それだとSUBTOTAL関数でオートフィルタの表示に連動させた計算結果をだすサイトが出てきます。
関数の式で教えてください。

461名無しさん@そうだ選挙にいこう2018/09/12(水) 00:40:08.76
>>458
Sheet1は弄れないならSheet2にリンクを貼ってから処理するだけ作業列も使い放題

4624582018/09/12(水) 01:14:07.77
>>461
どうやるの?式で教えてください。

463名無しさん@そうだ選挙にいこう2018/09/12(水) 01:41:34.89
>>458
期限順に並べ替える訳ではなく、単純に上から順番に抽出するだけなら、作業シートを作って、元シートの内容をリンクさせる、countifで上から何番目の未完了なのか数えて、抽出シートにvlookupかindexとmatchてひっぱってくるのはどうでしょう?

464名無しさん@そうだ選挙にいこう2018/09/12(水) 04:50:50.10
こうやってやりかた教えてるのにとにかく式は?って聞いてこられるのはつれぇな

465名無しさん@そうだ選挙にいこう2018/09/12(水) 08:08:25.27
もう釣りってバレたしな

466名無しさん@そうだ選挙にいこう2018/09/12(水) 22:30:05.62
東京スカイ釣りー

4674582018/09/12(水) 23:42:28.74
>>463
だ・か・ら、式で教えてください。

468名無しさん@そうだ選挙にいこう2018/09/13(木) 01:00:08.53
>>467
提案した全部の内容に関して全ての数式を書く気にはならないので、説明した内容で「この部分の意味がわからない」「この部分の意味はわかるけど、実装する数式がわからない」とか個別に聞いてくれたら(程度によっては)回答します

そもそも、仕事の依頼であればきちんとエクセルのブックで納品しますけど、軽い相談であれば、やり方の提案はしますが、最後は自分で頑張ってくださいね、って思ってます

469名無しさん@そうだ選挙にいこう2018/09/13(木) 03:12:54.82
釣られるなよ >>468

4704582018/09/13(木) 06:21:27.54
>>468
文章はどうでもいいので関数式だけ書いてね

4714582018/09/13(木) 06:23:49.13
>>464
初心者なんで優しくしてくださいよ
どこかのサイトに全く同じのが載っているのなら
アバウトに検索方法じゃなくて具体的にURLで頼みます

472名無しさん@そうだ選挙にいこう2018/09/13(木) 10:17:24.05
>>471
ここは初心者に優しくするスレじゃなくてドヤ顔するスレ

473名無しさん@そうだ選挙にいこう2018/09/13(木) 10:24:29.58
windows7
excel2010

現在データ入力作業中なのですが、質問させていただきたいです。

ブックが100個あり、すべて同じセルにデータが入力されています。

このデータを別ブックのシート1にまとめたいと思います。

そこで、ブック1のデータを集計ブックのセル1に、ブック2のデータをセル2に…といったVBAプログラムが知りたいです。
できるだけ短いコードが知りたいのですが、どなたかご教示頂けませんでしょうか?

よろしくお願い致します。

474名無しさん@そうだ選挙にいこう2018/09/13(木) 11:56:56.81
これ使ってみてください!
上手くいってます。

https://store.line.me/stickershop/author/540272/ja

475名無しさん@そうだ選挙にいこう2018/09/13(木) 12:11:56.55
>>473
ブックの名前は?
全て同じフォルダにある?

476名無しさん@そうだ選挙にいこう2018/09/13(木) 12:14:34.62
>>475
名前は(1)〜(100)
全て同じフォルダ内にあります。

477名無しさん@そうだ選挙にいこう2018/09/13(木) 12:22:06.52
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい・
【4 VBAでの回答の可否】 可・
セルA1が空白なら「社員番号がありません」とウィンドウでキャンセル、
セルB2が空白なら「日付がありません」とウィンドウでキャンセル、
セルC3が空白なら「時刻がありません」とウィンドウでキャンセルする方法がわかりません。
御指導、ご鞭撻をお願いします。

478名無しさん@そうだ選挙にいこう2018/09/13(木) 12:46:04.05
if range("a1").value="" then mes1="社員番号"
if range("b1").value="" then mes1=mes1 & " 日付"
if range("c1").value="" then mes1=mes1&" 時刻"

if mes1 <> "" then
msgbox mes1&"がありません",vbokonly
exit sub
end if

479名無しさん@そうだ選挙にいこう2018/09/13(木) 12:47:40.54
bとcのセル違ってました

480名無しさん@そうだ選挙にいこう2018/09/13(木) 12:49:05.64
>>473
ファイル名に規則性があるなら、indirect関数でファイル名の部分を変化させて参照するのはどうでしょう?

ブック開かないと重いのであれば、自分ならvbaで全部のブックを結合して参照します

481名無しさん@そうだ選挙にいこう2018/09/13(木) 12:59:53.91
>>480
ありがとうございます

後出しで申し訳ないのですが、参照ブックの特定の1列のみを抽出したいのです。

また、参照ブックはコピー及び結合などの手を加えることが禁止されています。

INDIRECTも考えましたが、ブックの数が数なので、すべてを開いておく事は難しいです。

回答頂き大変有り難いのですが、別の方法はありませんでしょうか?

4824772018/09/13(木) 13:30:46.62
>>478
コンパイルエラー
変数が定義されていません。
と出ました。

4834772018/09/13(木) 13:45:52.99
>>478
自己解決しました。option Ecplicitを削除したら機能しました。
ありがとうございました。

484名無しさん@そうだ選挙にいこう2018/09/13(木) 14:04:20.25
>>477
入力規則で出来るじゃん

485名無しさん@そうだ選挙にいこう2018/09/13(木) 14:28:27.48
>>481
10年位前に作った同じフォルダ内のエクセルブックの一番左側のシートを結合してシート名をファイル名の頭4文字にするコードです
元のシートをそのまま残せば、結合しても問題無いのでは?

Private Sub CommandButton1_Click()
Dim fn As String
Dim wk As Workbook
Dim wh As Worksheet

fn = Dir(ThisWorkbook.Path & "\*.xls", vbNormal)

Do While fn <> ""
If fn <> ThisWorkbook.Name Then
Set wk = Workbooks.Open(ThisWorkbook.Path & "\" & fn)
Set wh = wk.Sheets(1)
wh.Name = Left(fn, 4)
Call wh.Copy(, ThisWorkbook.Sheets(1))
Call wk.Close(False)
End If
fn = Dir()
Loop

End Sub

486名無しさん@そうだ選挙にいこう2018/09/13(木) 16:23:57.76
>>485
ありがとうございます

少し改変し使わせて頂きました

無事作業も終了しました。

487名無しさん@そうだ選挙にいこう2018/09/13(木) 17:57:19.05
>>483
なんで悪化させてんの
そのくらいなら無視しても良いレベルだけどさ、、

4884772018/09/13(木) 21:58:31.31
>>487
余裕がなかったのです。
>>484
200以上になるので無理でした。

489名無しさん@そうだ選挙にいこう2018/09/13(木) 22:50:07.64
>>488
いや、変数定義しろって言うエラーなのに、定義しなくていい方に持って行ってるからさ。

490名無しさん@そうだ選挙にいこう2018/09/14(金) 22:34:13.19
windows10
excel2016
マクロ不可

質問です。
範囲選択してる時に、選択されている範囲を取得(表示させる)方法ってありますか?
例えばA1:H500を範囲選択すると、名前ボックスにはアクティブセルのみが表示されますよね。A1とか。
A1:H500だというのを確認する方法が知りたいです。
Ctrl+Tで、テーブル作成ダイアログを出して(その後キャンセルする)確認する方法などしか思いつきませんが、スマートな方法ってありますか?

491名無しさん@そうだ選挙にいこう2018/09/14(金) 22:49:18.22
>>490
それよりスマートかは分からないが、Shift+ENTER

492名無しさん@そうだ選挙にいこう2018/09/14(金) 23:16:07.32
>>491
ありがとうございます。
なるほど、アクティブセルが一番左上の場合には使えますね。参考になります。

493名無しさん@そうだ選挙にいこう2018/09/17(月) 12:15:33.23
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
https://i.imgur.com/eP5u2A1.png
こんな感じで右側のデータベースに野菜とそれに対応する画像があって
左側の記録表に野菜の名前を入力すると自動的に画像を隣のセルに表示する、という表を作りたいです
excel vlookup 画像 で検索すると数式→名前の定義を利用した方法の解説が出てくるのですが列すべてに対応出来ません
よろしくお願いします

494名無しさん@そうだ選挙にいこう2018/09/17(月) 14:30:42.17
>>493
その画像の通りなら普通に名前定義で出来るはずだが、列すべてと言うのが何を言いたいのかわからない

4954932018/09/17(月) 16:26:50.62
G3〜G6に名前(トマト、キュウリ…)を付ける→G3(トマト)セルをコピー→C3に「リンクされた図」で貼り付け→名前の定義で「名前」を「野菜」、「参照範囲」を=INDIRECT(Sheet1!$B$3)→B3セルに適当に文字入力(エラー回避)→C3の画像を選択して数式バーで「=野菜」と指定
という風にやってC3はB3を反映しますがC4がB4を反映してくれる訳ではありません。この方法だと手作業でこれを繰り返して大量の名前の定義を作り出すことになってしまうので別の方法がないかと
言葉足らずでした

496名無しさん@そうだ選挙にいこう2018/09/17(月) 18:19:33.86
>>493
自分だけでいいならfont-awesomeを使うとか〜

497名無しさん@そうだ選挙にいこう2018/09/17(月) 18:19:38.77

498名無しさん@そうだ選挙にいこう2018/09/18(火) 08:05:36.26
>>495
なるほど。名前定義は引数取れないから無理そうだね。VBAでユーザー定義関数作ればなんとかなりそう

499このブックの自動回復を行わない2018/09/19(水) 02:21:46.19
【1 OSの種類         .】 Windows 10 Pro
【2 Excelのバージョン   】 Excel 2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

「このブックの自動回復を行わない」にチェック付けても、強制終了時に自動回復ファイルが作成されてしまうのですが、
回避方法はあるでしょうか?

500名無しさん@そうだ選挙にいこう2018/09/19(水) 16:04:17.47
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         】 Windows10
【2 Excelのバージョン  】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

入力時常に上書きモードになるので挿入モードに変更したいです
insertキーは押しておらず、緑色のバーで右クリックを押すと出てくるユーザー設定では上書きモードにチェックは入っていません
他に何をすればよいですか

501名無しさん@そうだ選挙にいこう2018/09/21(金) 00:00:32.80

>>501
ありがとう
諦めるしかないわけね

新着レスの表示
レスを投稿する