X



Excel総合相談所 132
レス数が1000を超えています。これ以上書き込みはできません。
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
0002名無しさん@そうだ選挙にいこう2018/07/01(日) 12:23:13.68
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F)
・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意。
・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。
・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。
  Excelの操作に関係ない部分は、スレ違いなのでこのスレでは回答が得られにくいです。
  ここで聞くよりもVBスレやAPIスレなどの該当スレで質問しましょう。
  但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。
  ここみたいに丸投げはダメですよ。
・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。
  例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。
  その上で、どううまくいかないのかを具体的に書きましょう。
  エラーが出るなら、何処でどういうエラーが出るのか、
  想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。
・9 マルチは嫌う人が多いのでなるべく避けましょう。マルチをすると、逆に回答は得られにくくなると思ってください。
・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、
  チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、
  ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。
0004名無しさん@そうだ選挙にいこう2018/07/01(日) 13:04:13.27
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

上司より「表にオートフィルタを掛けて、色々数字の変動を見たい」と依頼が来ました
countifsで非表示の列を集計外にすることはできますか?
作業列を作りまくってsubtotalにするしかないでしょうか
0005名無しさん@そうだ選挙にいこう2018/07/01(日) 13:47:27.78
>>1乙です
前スレ>>998ですが前スレ>>999レスありがとうございます

これがほしい式でした!・・・が、別の列も範囲に入れたいのに出来ません・・・
エクセルで収入表みたいなのを作っていて、毎月給料から1万円を積立として
貯めているんですが、給料をセルの表に入れると数字が入力されて、
積立の表記も1万ずつ上がるみたいな感じに出来ないかと・・・
0006名無しさん@そうだ選挙にいこう2018/07/01(日) 15:21:41.69
お前ら名刺管理どうしてる?
初め同じシートにひたすら書いてくとごちゃごちゃになるかと思って、会社や出会った時期でシート分けてたんだが
管理番号みたいなのをセルの後ろの方に書いておいてフィルターで絞り込んだ方が良いということにようやく気付いた
0009名無しさん@そうだ選挙にいこう2018/07/01(日) 20:49:55.90
データを蓄積するSheetと、表示するSheetを分ければ
きっといいことがあるはず
100人程度ならどうでもいいけど
0011名無しさん@そうだ選挙にいこう2018/07/01(日) 21:28:23.65
すみません、クイックアクセスツールバーに「拡張メタファイル図で貼り付け」を設定することってできますか?
貼り付けられるものの一覧や検索機能が無くて探しきれなくて
「図で貼り付け」は見つけたのですが枠に線が出来たり塗りつぶしがあったりと挙動に違いがあるようで
ちなみにExcelは2016です
0013名無しさん@そうだ選挙にいこう2018/07/01(日) 22:50:42.85
詳しくも何も、まんまだろ
1,000が10,000だろうと100,000だろうと
テーブル用のSheetと、検索や分類や抽出や、特殊な表示用途のSheetに分けるだけ
人が増えれば名刺内の項目も千差万別だろうけれど、テーブル用のフィールド(項目)は
自在に増やせるだろ ひとつのSheetで工夫凝らしてあれこれするヒマあるなら
潔く分けろ てだけ

まさか、その検索や分類や抽出や、特殊な表示を教えろとでも?
0015名無しさん@そうだ選挙にいこう2018/07/02(月) 00:43:07.20
積立?
具体的にどういうことがしたいのかがよくわかんねーや
別の範囲?
個数足すだけなら
=COUNTIF(範囲A,">=1)+COUNTIF(範囲B,">=1")
とかで足せるんじゃね?
そのあと掛け算とかしたらよろし
カッコでくくって*10000でもいいけど
0016名無しさん@そうだ選挙にいこう2018/07/02(月) 06:02:55.93
出会った人をデータベース化したいんだけど、
名前連絡先と共に重要度、所属、職種、得意分野、出会った時期、などなどの項目を入力してあって
あの人誰だったかな、こういう事できる人いたかな、という時に色んな条件から絞り込んで探せるようにしたいんですね
今は一つのシートにとにかく増やしていってフィルターで抽出してるんだけど
シート内でしか出来ないと思ってたけど別のシートに抽出結果だけ出せる?ってこと?
0022名無しさん@そうだ選挙にいこう2018/07/02(月) 15:59:09.42
およそ半年間、一時間おきにとある場所の気温を記録したデータがあるのですが
これをグラフのように、ビジュアル的に温度の変化を表示したいのですが
どんなグラフだとわかりやすいでしょうか
エクセルに限った質問ではないのですが・・・

データは 年月日 ,時間 ,温度 ,湿度 の形式です
0024名無しさん@そうだ選挙にいこう2018/07/02(月) 21:38:13.06
>>22
1時間毎×約180日=約4,300件のデータをそのまま折れ線グラフは細かすぎて見づらい。
まずは、1週間ずつ区切って(25〜26週になる)、その期間中の最高、最低、平均で折れ線グラフ作ってみては?
0026名無しさん@そうだ選挙にいこう2018/07/03(火) 12:54:54.74
例えばA10からB15までの範囲を一つのブロックとして枠で囲います
このときA9に数値を入力してEnterすると自動的にこの枠全体が一つ下に移動するような事は可能でしょうか?
0029名無しさん@そうだ選挙にいこう2018/07/03(火) 15:40:51.37
Windows7
Office2010

初心者です。
商品の予約管理をしています。
一つの商品にA,B,Cと3つのバージョンがあります。
この注文状況を表にしているのですが、

注文者氏名 | バージョン | 個数
名無し   | A      | 2
名無し | B | 4

合計 6

という風に項目が並んでおり(他にありますが簡略化してます)、バージョンはデータ規則でプルダウン入力にしています。
全体の合計個数は表示出来ているのですが、A,B,Cそれぞれの個数も表示させるにはどうしたらいいでしょうか。
0031名無しさん@そうだ選挙にいこう2018/07/03(火) 15:59:57.35
>>29
初心者なら一番判りやすいのは作業列を使い
IF関数でバージョンごとに分けて合計じゃないかな?

作業列ごとに下記のような数式を設定
=IF(B2=A,B3,0) =IF(B2=B,B3,0) =IF(B2=C,B3,0) (各式下にコピー)
0032名無しさん@そうだ選挙にいこう2018/07/03(火) 16:03:08.15
>>30
すみませんエラーが出ます…
バージョンには実際は日本語が入りますが、" "の中に日本語をそのまま入れればいいのでしょうか
個数はE列、バージョンはC列にあり、
全体個数は
=SUM(E2:E100)
と書いています。
ここをどうしたらいいでしょうか…
0034名無しさん@そうだ選挙にいこう2018/07/03(火) 16:17:39.91
>>32
それだと=sumif(C:C,"A",E:E)かな
最初のc:cで検索したい範囲を指定。列全体が対象になる書き方
次の"a"はその範囲内で検索したい文字列。基本完全一致
最後のe:eで実際に合計したい範囲を指定する
検索値が日本語になって大丈夫
0036名無しさん@そうだ選挙にいこう2018/07/03(火) 18:32:42.44
検索値は関数式に直接入れるんじゃなくて、参照を使った方がいいよ。
=sumif(C:C,"あいう",E:E) なら、
A10セルに あいう と入力しておいて計算式は
=sumif(C:C,A11,E:E) とする。
A10セルというのは一例なのでどこのセルでもいいし、セルに名前つけてもいい。
0037名無しさん@そうだ選挙にいこう2018/07/04(水) 09:07:24.41
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ページ設定についての質問です
先週末くらいに気付いたのですが、
「ページ設定」-「シート」の「枠線」にチェックが入った状態で保存したファイルを
一旦閉じてから再度開くと、「枠線」のチェックが外れ「行列番号」にチェックが
入った状態になります。
既存のファイルの場合も新規のファイルの場合も同様です。

特に設定等を変更した覚えもないのですが、
どなたか原因、対処方法が分かれば教えて頂きたいのでよろしくお願いします。

もしスレ違いでしたら誘導をお願いします。
0039名無しさん@そうだ選挙にいこう2018/07/04(水) 11:01:24.40
windows10
Excel2010

グラフの作り方について
24時間分のデータで、30分ごとのデータと60分ごとのデータがあります。
この2つのデータを同じグラフ上に表示するにはどうしたらいいでしょうか?

60分のデータを引き伸ばす感じで横軸を合わせることはできないんでしょうか
0041名無しさん@そうだ選挙にいこう2018/07/04(水) 11:21:01.07
>>40
ありがとうございます
やっぱりデータを加工しないと難しいですかね…

結構な数なので、できるだけ手を加えずに出来ないでしょうか
0042名無しさん@そうだ選挙にいこう2018/07/04(水) 11:55:14.51
>>41
グラフを2つ作ってぴったり重ねる
手前のグラフを透明にすれば1つに見えるようになる
透明にするのは「グラフエリア」と「プロットエリア」の二つね
0043名無しさん@そうだ選挙にいこう2018/07/04(水) 12:29:48.76
>>42
なるほどそんな手がありますか
最終的にpowerpoint上に出力できればいいので透明にして貼り付けても変わりませんよね
ありがとうございます
0044名無しさん@そうだ選挙にいこう2018/07/05(木) 00:55:16.67
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否

エクセルでランキンググラフを作っているのですが、縦軸最小値を1から、1,5,10,15のように表示させたいです。
最小値を1設定で主軸を5単位にすると1,6,11,16と表示されてしまいます。
0050名無しさん@そうだ選挙にいこう2018/07/05(木) 12:34:19.66
VBA でグラフ自体を作るなら何でもできる
Excel のグラフ機能を使うなら基本できる事は VBA 使わずにやれることとたいして変わらん
(一部 VBA ではできないことととかあるけど)
0053名無しさん@そうだ選挙にいこう2018/07/05(木) 17:25:15.96
【1 OSの種類         .】Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

以前Webクエリでナンバーズ4の当選番号をエクセルのシートに取り込んでいたのですが 、htmlの記述方法が変わったため出来なくなってしまいました
https://www.mizuhobank.co.jp/retail/takarakuji/numbers/numbers4/index.html

VBAを使えば取り込めますか?
0058名無しさん@そうだ選挙にいこう2018/07/07(土) 10:37:01.45
ピボットテーブルを使う業務を月1でしています
今までは元プログラマーでPCに詳しい人がいたので問題が起きても頼ればよかったのですが、
その人の異動が決まり頼れる人がいなくなるため私がピボットテーブルの勉強をするしかない状況です
※特例子会社で働いています
独学するつもりですがオススメの参考書があれば教えてください
0059名無しさん@そうだ選挙にいこう2018/07/07(土) 13:02:21.62
>>44
縦軸の数字を非表示にしてオー卜シェイプで重ねて表示させる
0061名無しさん@そうだ選挙にいこう2018/07/12(木) 00:04:55.13
マクロが組まれてるセルに値をコピペしたあんだけど普通に貼り付けると値の貼り付けだけにしかならないよね?
どうしたらいいやろか?
0063名無しさん@そうだ選挙にいこう2018/07/12(木) 03:19:18.10
>>62
違うよ
数式やマクロが入力されてるセルに数値をペーストして計算を実行させたいって相談です
0067名無しさん@そうだ選挙にいこう2018/07/12(木) 07:10:51.64
「マクロが組まれてるセル」というのがイミフ。
マクロ上で任意のセルの値を書き換える等は出来るが、セル自体に何かが組み込まれている訳ではない。セルに組み込めるのは式か値かオブジェクトだ
0068名無しさん@そうだ選挙にいこう2018/07/12(木) 07:19:07.14
>>67
意味不明とか思考停止せずに考えようよ
マクロ4.0なら意味は通じるし、恐らく「セル」というのはcells()のことではなく、入力できる何かを指している
0071名無しさん@そうだ選挙にいこう2018/07/12(木) 15:25:07.38
すんません
もしかしたらマクロじゃなくてただの数式なのかも
あるいはセルの列?を参照して値を返してるのか
0072名無しさん@そうだ選挙にいこう2018/07/12(木) 19:01:17.51
>>71
あまり分かってないならブックかスクリーンショットを上げて、
「ここをこうしたい」と図解説明してくれ
固有名詞が適当すぎて何を言っているのか分からない
0075名無しさん@そうだ選挙にいこう2018/07/12(木) 21:51:47.02
Excel2013使ってるんですけど画像を挿入するときに指定したセル内に1発で調節されるようになるにはどうしたらいいんでしょうか?
0079名無しさん@そうだ選挙にいこう2018/07/13(金) 08:37:20.73
もうそろそろそういうよく使う機能ぐらいイラレやフォトショ感覚でGUIにしたらいいのにな
なんでいつまでも式とか書かせるんだろ
0082名無しさん@そうだ選挙にいこう2018/07/13(金) 14:24:10.40
M2にAといれたら
N2に〇の数の2
O2に×の数の1を返したいです。
https://i.imgur.com/JrxLrWO.jpg

どうすればいいですか?
0084名無しさん@そうだ選挙にいこう2018/07/13(金) 15:40:04.61
バカと思って頂いて構いませんが
複合参照で行や列のどちらかを固定して
式をコピーするとどのようにずれるのかよくわからない
0089名無しさん@そうだ選挙にいこう2018/07/13(金) 21:39:52.00
>>86
できましたー!ありがとうございます!!
0091名無しさん@そうだ選挙にいこう2018/07/14(土) 09:47:41.75
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
countifsをつかっています。カウントされないところは0と表示されるのですが、
この0の数字を空白にしたいのですがどうしたらいいでしょうか?よろしくお願いします。
0093912018/07/14(土) 12:11:42.69
>>92
関数で0を空白にすることしか考えていなかった。
そっかー。ありがとうございました。
0094名無しさん@そうだ選挙にいこう2018/07/14(土) 12:55:22.22
【自民党「移民1000万人計画」】 人口、最大の37万人減、月給3000万ドン、自衛隊がローソン商品輸送
http://rosie.5ch.net/test/read.cgi/liveplus/1531534027/l50


不買だ! 不買だ! 不買だ! ローソンが被災地を食い物にしている!
0095名無しさん@そうだ選挙にいこう2018/07/14(土) 21:21:01.63
上書き保存しようときたら頻度にほかのユーザーが使用しているため保存できませんでしたって出てくるんだけどどうしたらそれを防げる?
0097名無しさん@そうだ選挙にいこう2018/07/14(土) 21:32:51.78
>>96
え?
開いて書き込んでるファイルを上書き保存したら
ほかのユーザーが使用しているためできませんでした
ってエラーメッセージが出てくるって書いてるだけやぞ
0099名無しさん@そうだ選挙にいこう2018/07/15(日) 05:47:42.62
囲んでそのまま移動させるときにセルの結合があるので移動できません、形のちがうセルには移動できません
のようなものが出て移動できないときに何回も試すと移動できたりしますが移動できないときの規則性がわかりません
規則性を教えてください
0101名無しさん@そうだ選挙にいこう2018/07/15(日) 11:34:23.42
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

お願いします

IF(ISERR(FIND("旅行",B5)),"",1)

上記関数で、B5に入力されている文字列のなかに「旅行」という文字列が含まれていたら1と表示され、含まれていなければ空欄になります

以下の理解であってますでしょうか、また、もっと簡単な方法があれば教えてください


B5セルに、FIND関数で「旅行」が含まれているかを検索し、旅行という文字列が含まれていたら先頭から何文字目にあるかの数字が返され、含まれていなければ#value!となると思います
エラーの理由は、旅行という文字列がないからです
さらに、ISERRでN/A以外のエラーか否か判定され、エラーならIFの真の場合の空欄が返され、旅行という文字列が含まれていたらエラーではないため偽の場合の値1が返されます

これであってますでしょうか

また、もっと簡単な方法はありますでしょうか教えてくださいm(__)m
0103名無しさん@そうだ選挙にいこう2018/07/15(日) 13:50:52.65
>>99
フィルタがかかってるとか?
http://www.excel.studio-kazu.jp/kw/20050624073812.html

俺もこの挙動はよくわからん。
めんどいからセル結合しなくなった

>>101
あってる

個人的にはiserr()は使わないほうが良いと思う
俺はエラーの内容なんて覚えたくないから、エラー判定は常時iserror()としている
全ての関数のN/Aエラーかどうかを覚えきれるなら、iserr()を使っても良いんじゃないかな

もう少し簡素にする方法としては、iferror()を使う事が挙げられる
=+IFERROR(FIND("旅行",B5),0)

ただ、文字列が見つかった場合は毎回1が返るわけではなく、1以上の数値になることに注意
B5="あああ旅行"
なら
=+IFERROR(FIND("旅行",B5),0)
は4が返る

後、見つからなかった時の返り値は空白ではなく、0にしたほうが色々と都合が良い
-1でもいい。
※他言語だと-1を返すこともある為。好みとしが言いようがないが、エクセルの場合は0で良いと思う

>>102
substitute()の関数名が長いのが嫌だわ
これもう少し短くならんかねぇ
0104名無しさん@そうだ選挙にいこう2018/07/15(日) 15:33:19.23
ありがとうございましたm(__)m

助かりました!

iserrorだとエラーか否か判定することになりますね

参考になりました
0107名無しさん@そうだ選挙にいこう2018/07/15(日) 18:48:24.37
=SUBSTITUTEとか
=CONCATENETEとか
長いよなw

CONCATENATEって&で繋ぐのと何か大きな違いってあるん?
=CONCATENATE(A1,A2)
=A1&A2
って一緒っぽくね?
0108名無しさん@そうだ選挙にいこう2018/07/15(日) 18:54:02.08
Excelのプロ?は=+をつかうと決まってるわけでもなかろうし こんなところで素人をバカにしても虚しいだけだぞおっさん ま、おれもおっさんだが
0113名無しさん@そうだ選挙にいこう2018/07/16(月) 07:50:40.88
=+とか書く奴はクソだわな
横着してテンキーで入れてる奴もクソだが、それが格好いいとか思って書き込んでる奴はさらにクソ
0115名無しさん@そうだ選挙にいこう2018/07/16(月) 07:59:06.60
元ロータスユーザーなら@から関数書き始めて自動変換で=始まりの関数式にする
わざわざ=+なんてのを書くやつは知識もないクソなうえにそれを自慢げに披露するクソ
後から見る奴の事全く考えてない自己中のクソ
0117名無しさん@そうだ選挙にいこう2018/07/16(月) 19:59:32.05
結局lotas使いのおっさんが理解できないから火病ってただけか
知識や技術を柔軟に吸収できなくなったら終わりだねぇ
0119名無しさん@そうだ選挙にいこう2018/07/17(火) 11:31:55.25
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
A列が出力された手入力の数値で、B列のように行毎の差分値を自動的に計算させたいです。
B列の血v算式を手入力bキる以外でA列行毎の差分を計算させることは可能でしょうか?
https://i.imgur.com/9YP5s2p.jpg
0121名無しさん@そうだ選挙にいこう2018/07/17(火) 13:30:10.18
>>119
言葉の意味はよく分からないけど、エスパー気味に回答すると

B1に計算式を入力 =A2-A1
B1セルを下方向にオートフィルでコピー
(フィルハンドルをダブルクリックすると速い)
0122名無しさん@そうだ選挙にいこう2018/07/17(火) 19:09:56.87
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

11行目から24行目まで非表示になっているのを、まとめて再表示したいのですがやり方を教えてください

10~25行を選択して、カーソルが二重線に上下矢印になってから右クリック、再表示をしても何も反応がありません

どうしたらまとめて再表示できるのでしょうか教えてくださいm(__)m
0129名無しさん@そうだ選挙にいこう2018/07/19(木) 14:31:43.66
数式を入れて計算!(ここでは10.5とかほどよい桁で表示される)

オートフィルで数式をコピーする

桁数が14桁くらいになってセル内表示しきれなくなる

って現象どうにかしたいのだけど……
0134名無しさん@そうだ選挙にいこう2018/07/20(金) 10:01:13.50
詳細設定とかからそもそも変えられないかと思ったんだ
表示形式いじるんじゃあ逐一必要だし手間数変わらんくないか
0138名無しさん@そうだ選挙にいこう2018/07/23(月) 21:47:57.91
alt+enterでセル内で改行したテーブルを作ったけど、vlookupを使って表示をさせようとすると改行されずに1行で表示されてしまいます
なんとか2行で表示させることはできませんか?
0140名無しさん@そうだ選挙にいこう2018/07/23(月) 21:58:35.14
>>139
言葉足らずで申し訳ありません・・
センターリングで2行で表示をさせたいのです・・
0141名無しさん@そうだ選挙にいこう2018/07/23(月) 22:30:41.45
>>140
横から失礼
2行分にまたがって表示させたいのであれば、
VLOOKUPの計算式のあるセルと直下のセルを結合したらいいのでは?
0142名無しさん@そうだ選挙にいこう2018/07/23(月) 22:43:44.64
>>141
有難うございます
ですが、データベースなので結合とかは避けたいのです、、
0144名無しさん@そうだ選挙にいこう2018/07/23(月) 23:05:55.68
>>143
有難うございます
商品名によって長さが異なるので、スペースを使って調整するのはちょっと、、
0148名無しさん@そうだ選挙にいこう2018/07/26(木) 21:34:54.09
A列とB列を比較して絶対値の大きい方の値をシー列に表示を各行ごとにやっていく関数教えてください
0152名無しさん@そうだ選挙にいこう2018/07/27(金) 14:55:29.21
ありがとうございます
無事できました
0153名無しさん@そうだ選挙にいこう2018/07/27(金) 23:39:21.75
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

質問があります。
下記表があり、自動で今月の商品を抽出できるようにしたいのですが
記録のマクロで、A5をコピーしフィルターに貼付けるようにしたら
2018-07が貼り付きます
A5は=today()なので来月は2018-08が自動で抽出させるにはどうすれば宜しいでしょうか?

   a     b    c   d    e
1   年    商品 数量 金額  2018-07
2 2018-06 りんご 2  200
3 2018-07 いちご 2  500
4 2018-07 ばなな 1  150



Sub Macro1()
'
' Macro1 Macro
'

'
Range("e1").Select
Selection.Copy
ActiveSheet.ListObjects("sheet1").Range.AutoFilter Field:=1, Criteria1:= _
"2018-07"
End Sub
0154名無しさん@そうだ選挙にいこう2018/07/28(土) 02:15:58.72
>>153
A5にtoday関数というのが、よく分からない。
普通、A列も下方向にデータが増えて行くのでは?
2018-07も、手入力でハイフンまで打ってるのかな?
どう入力するかはともかく表示形式で設定した方がいいような気もするけど。
01581532018/07/28(土) 07:13:25.83
さっそくの回答ありがとうございます

>>154>>156
すみませんA5ではなくE1でした
A列には2018-08など年月データが増えていきます
2018-の表示はうちのPCからCSVで出力した時に自然とそう出力されるので
E1には=TEXT(TODAY(),"yyyy-mm")としています

>>155
すみません書き間違えました
【4 VBAでの回答の可否】 可です

色々と書き間違えていてみませんがご回答よろしくお願いします
01601542018/07/28(土) 10:00:15.36
Sub test()
Dim myYearMonth As String
myYearMonth = Format(Date, "yyyy-mm")
Range("A1").AutoFilter 1, myYearMonth
End Sub
01611542018/07/28(土) 10:21:55.79
>>158
すみません、翌月でしたね。どちらにしても、E1にtoday関数は不要です。

Sub test()
Dim myYearMonth As String
myYearMonth = Format(DateSerial(Year(Now), Month(Now) + 1, 1), "yyyy-mm")
Range("A1").AutoFilter 1, myYearMonth
End Sub

E1にtoday関数を使いたい場合は、いくつか方法があると思いますが、簡単なのは
F1に=TEXT(DATE(YEAR(E1), MONTH(E1)+1, 1),"yyyy-mm")と数式を入れておいて
上記コードの2行のRange("E1")をRange("F1")にすればよいかと。
01621612018/07/28(土) 10:25:05.31
何度もすみません。下の3行は書き間違いなので、無視してください。
0163名無しさん@そうだ選挙にいこう2018/07/28(土) 15:53:27.01
>>143-147
有難うございました!
会社のPCでしか確認できなかったのでお礼が遅くなり申し訳ありませんでした
01641532018/07/28(土) 18:04:14.47
>>154さんありがとうございます。
今月のデータのみ抽出したいので160で大丈夫です。

>>159さんもありがとうございました。
0168名無しさん@そうだ選挙にいこう2018/07/29(日) 02:31:03.49
転職した今の中小企業は見栄えの関係でセルの結合ばかり使ったファイルでうんざり
財務諸表の加工をマクロでして見せたら、なんでもマクロで解決できない?と要求されて困ってる

自分のマクロの使い方はテーブル化されたシンプルなデータを加工・抽出や定型文書とかにしか使ってません
皆さんはどんなことに使ってます?
マクロの可能性とやらを教えてくださいw

あと、VBAは一読して挫折したけど、真剣に勉強する価値はありますか?
0171名無しさん@そうだ選挙にいこう2018/07/29(日) 06:24:41.45
【1 OSの種類         .】Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

〇・△・□・✕のような記号をセルに入力して、〇か□の記号が入力されているうちの、一番右側のセルの位置(例えばC3)を表示するにはどうすればよろしいでしょうか。

どの関数を使うのかのヒントでもよいのでお願いいたします。
0174名無しさん@そうだ選挙にいこう2018/07/29(日) 09:35:44.79
シートの一覧を出して選択して移動したり、
図形の中に書かれている文字列を検索・置換したり、
全シートのカーソル位置をA1に揃えたり、
書き込み禁止状態で編集しようとしたら警告したり、

みたいないろんな痒いところに手が届く便利機能満載のマクロか何かが
あった筈なんだけど、どこにあるか知りませんか?
0175名無しさん@そうだ選挙にいこう2018/07/29(日) 09:41:15.50
>>174
そういうのはライブラリやアドインという
ここの連中は自前で作ってしまえるので、多分みんな知らない
「エクセル ライブラリ」とかで検索したほうが早いかも
0177名無しさん@そうだ選挙にいこう2018/07/29(日) 13:00:17.09
ここで、質問があってるか分からないのですが、

Web上にExcelファイルを置いて、
ブラウザ上で、限られたメンバーのみが閲覧編集出来るサイトなど有りますか?
0181名無しさん@そうだ選挙にいこう2018/07/29(日) 15:22:32.62
>>180
じゃあスプレッドシート
エクセルからスプレッドシートに変換すればブラウザ上でも編集できる
ダウンロードはエクセル形式に戻すことも可能
0183名無しさん@そうだ選挙にいこう2018/07/29(日) 15:43:06.38
>>180
何をやりたいかによるけど、
onedriveはクラウドサービスなんだから、URLを教えればいいし、
Excel onlineでwebブラウザ上で基本的な編集はできる。
Excel desktopとExcel onlineの機能差はググれ。
0184名無しさん@そうだ選挙にいこう2018/07/29(日) 22:27:00.04
ほかのユーザーが使用中のだめ保存できませんでしたって手でくるのはどうしたらいいの?
0186名無しさん@そうだ選挙にいこう2018/07/30(月) 00:28:37.36
うちは逆に開けない時があるわ

NASにあるパスワードを掛けてない共有フォルダ内ににある
Excelファイルを開こうとしてエラーが出て読みこめず、何度かクリックしてたら読み込めたり
パスワード要求されて全く読めなくなったら再起動して解決とか
NASの問題なのかな
0188名無しさん@そうだ選挙にいこう2018/07/30(月) 18:07:19.10
すみません、教えてください。
a、b2つの会員名簿のファイルがあります。
aは会員の抜粋、bは全会員です。
住所と電話番号はbにしか入っていません。
これをaに転記したいのです。
どちらのファイルにもb列に会員IDが入っています。
これに紐づけてbの住所と電話番号を
aに引っ張ってこれないでしょうか?
office365solo、MacBook Airです。
0189名無しさん@そうだ選挙にいこう2018/07/30(月) 18:38:38.63
【1 OSの種類         .】Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

エクセル初心者です。
A列に上限200文字くらいまでのフリーコメント欄があります。
A列のテキストの中に「クレーム」という文字があった場合、B列に「●」を表示させるにはどうしたら良いでしょうか?
0191名無しさん@そうだ選挙にいこう2018/07/30(月) 19:42:36.48
>>189
いくつか方法があるけど、
if関数、countif関数、ワイルドカードを使う場合
=IF(COUNTIF(A1,"*クレーム*")<>0,"〇","×")
if関数、substutute関数、len関数を使う場合
=IF(LEN(A1)<>LEN(SUBSTITUTE(A1,"クレーム","")),"〇","×")
if関数、iferror関数、serach関数を使う場合
=IFERROR(IF(SEARCH("クレーム",A1),"〇"),"×")
01921912018/07/30(月) 19:44:48.34
>>188
普通にvlookup関数か、index関数とmatch関数でいけるのでは?
0193名無しさん@そうだ選挙にいこう2018/07/31(火) 00:05:26.10
>>191
横レスだけど、MOUSで勉強でもされましたか?
ネストとかになるとネットで調べないと対応できなくて
01941912018/07/31(火) 00:45:07.53
MOSは持ってないですが、我流よりは独学でもいいので
体系的に学習した方がいいかもしれません。
というほど私も詳しくないですが。

ネストは慣れでしょうけど、
1.作業列使ってシンプルに書く。
2.必要に応じてそれを1つの式にする。
という段階を経てやるのがいいのではないでしょうか。
0195名無しさん@そうだ選挙にいこう2018/07/31(火) 06:45:40.60
>>188
=index(bの住所列,match(aの会員ID,bの会員ID列,0))
=index(bの電話番号列,match(aの会員ID,bの会員ID列,0))
0196名無しさん@そうだ選挙にいこう2018/07/31(火) 10:53:49.27
>>191
横レスだけどlenはなくてもいけるよ
01971912018/07/31(火) 20:42:47.96
>>196
ああ、そうですね。言われてみるとその通りです。
=IF(A1<>SUBSTITUTE(A1,"クレーム",""),"〇","×")
ということは、3つの中でこれが一番シンプルかも。
0199名無しさん@そうだ選挙にいこう2018/07/31(火) 23:23:29.31
超初心者です。ブイルックアップが全くわかりません!教えてください!
0201名無しさん@そうだ選挙にいこう2018/08/01(水) 08:43:32.39
なんかエクセルファイル開こうと思ったらいきなりofficeの何とか同意しますかって画面が出てきた
同意したら普通に使えるようになったけど
定期的に認証確認してるってことでいいのかな
1年使っててこんなの初めてなんだけど
0203名無しさん@そうだ選挙にいこう2018/08/01(水) 09:33:42.63
>>202
拾った画像だけど
https://i.imgur.com/amyRjdA.jpg

この画面で間もなく準備〜じゃなくて使用許諾とかだったと思うけど
で同意してofficeを開始ってボタンになってた
仕事でメール送る必要あったからとっさに同意してしまったけど
officeHB2016のスタンドアローン版ね
0204名無しさん@そうだ選挙にいこう2018/08/01(水) 17:57:03.78
office365solo Excel2016で1ヶ月前からエラー
一部の内容に問題が見つかりました。可能な限りを回復しますか?→はい
修復されたレコードが〜
このときのtable番号メモ
ブックの拡張子→zipに変更中身確認、table番号から該当テーブル特定
別PCのExcel2010で該当テーブルを「範囲にへんかん」
これでExcel2016で起動できた
コミュニティにも同様の質問がちらほら

へんかん(漢字)
NGワードわろた
0205名無しさん@そうだ選挙にいこう2018/08/01(水) 20:02:47.94
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

[データ]−[グループ化]に関しての質問です。
Googleスプレッドシートでグループ化(折り畳み)を行うと、
開閉ボタンはグループ化する対象の1行上に表示されるのに対し、
Excelでは指定した行の1行下に表示されます。
Googleスプレッドシートで設定後にExcel形式でダウンロード→Excelで開くことで
Excel上でスプレッドシートと同様1行上にボタンを表示させることはできますが、手間です。

使う目的としては1行上に表示される方が都合が良いのですが、
Excel単体でそうなるように設定する方法はありますでしょうか。
0207名無しさん@そうだ選挙にいこう2018/08/02(木) 10:44:49.82
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

workday関数についてですが、1年間の表を作りたいのですが、1週間に一度くらいの割合で日付が2日ほど飛んでいます。
セルの参照は間違っていないようなのですが、何が原因か分かりません。

原因と解決策がわかる方がいれば、ご教授いただければ幸いです。
0211名無しさん@そうだ選挙にいこう2018/08/02(木) 23:19:43.39
>>201
この表示が出て同意するしかないから同意したけど
そのあとから今まで使えてたアドインがバーから消えてて、アドインの項目調べたらチェック自体はついてるんだけど
どうすればいいのかな
0213名無しさん@そうだ選挙にいこう2018/08/03(金) 22:12:39.99
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

詳しい方教えて下さい。
複数のシートに貼り付いた図形(正方形/長方形)から文字を抜き出す方法を教えて下さい。
自分なりに探しテキストボックスから文字を抜き出すマクロを見つけ実行しましたが作動せず。
https://www.relief.jp/docs/excel-vba-wright-texts-in-textboxes-to-cells.html

やはりテキストボックスと図形(正方形/長方形)は違うのでしょうか?

ちなみにこれが実行したマクロです

Sub テキストボックスの文字列を書き出す()
 Dim shp As Shape
 Dim n As Long ' 文字列を書き出す行番号

 n = Cells.SpecialCells(xlCellTypeLastCell).Row + 3

 For Each shp In ActiveSheet.Shapes
  If shp.Type = msoTextBox Then
   Cells(n, "A").Value = _
     shp.TextFrame.Characters.Text
   n = n + 1
  End If
 Next shp

End Sub
02142132018/08/03(金) 22:14:12.74
すみません
【4 VBAでの回答の可否】 可です。
0215名無しさん@そうだ選挙にいこう2018/08/03(金) 22:34:19.99
>>213
複数のワークシートを順に選択するプログラムがどこにもない

Sub テキストボックスの文字列を書き出す()
  Dim shp As Shape
  Dim n As Long  ' 文字列を書き出す行番号

  n = Cells.SpecialCells(xlCellTypeLastCell).Row + 3

  For Each ws In Worksheets
    For Each shp In ws.Shapes
      Cells(n, "A").Value = shp.TextFrame.Characters.Text
      n = n + 1
    Next
  Next
End Sub
0216名無しさん@そうだ選挙にいこう2018/08/03(金) 23:02:32.24
>>215
ありがとうございます。
本当に助かりました。
0217名無しさん@そうだ選挙にいこう2018/08/05(日) 11:13:51.83
【1 OSの種類         .】 Windows7、10
【2 Excelのバージョン   】 Excel2007、2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

同じセル内でもドロップダウンリストの項目を変える方法を教えてください。

A列には箇所1、箇所2・・・箇所10といった箇所を入力
B列には箇所ごとに発生する5〜10種類のエラー内容を入力(トータルで60項目程度で内容に被りは無し)

といった感じで入力していますが、入力する人によって言い回しや送り仮名の使い方が違っていて
履歴を辿りたい時に苦労することがあります。
なので、ドロップダウンリストから選択する方式に変えたいのですが、
エラー内容が60項目もあるのでそのままだと選択すること自体が大変になりそうです。

A1で箇所1が選択された場合は箇所1のみで発生するエラー内容(6項目)のドロップダウンリストを、
A2で箇所3が選択された場合は箇所3のみで発生するエラー内容(8項目)のドロップダウンリストを・・・

このようにしたいのですが、方法があったら教えてください。
02182172018/08/05(日) 11:19:30.21
質問ではドロップダウンリストと書きましたが思いついたのがそれだけであって、
A列の選択内容によってB列のリストが適切なものになる方法であれば何でもOKです。
0220名無しさん@そうだ選挙にいこう2018/08/06(月) 23:21:02.77
>>216
どういたしまして
0221名無しさん@そうだ選挙にいこう2018/08/07(火) 11:14:03.01
よろしくお願いします。

あるデータの桁数を揃えたいのですが、どんな計算式を使えばいいでしょうか。

1-2-3-4

1-02-03-004

1桁2桁2桁3桁に揃えたいです。
0222名無しさん@そうだ選挙にいこう2018/08/07(火) 12:45:17.53
>>221
=LEFT(A1,2)&TEXT(LEFT(MID(A1,3,9),FIND("-",MID(A1,3,9))-1),"00-")&TEXT(
MID(LEFT(A1,FIND("c",SUBSTITUTE(A1,"-","c",3))-1),FIND("b",SUBSTITUTE(
A1,"-","b",2))+1,3),"00-")&TEXT(MID(A1,FIND("d",SUBSTITUTE(A1,"-","d",
3))+1,3),"000")
0225名無しさん@そうだ選挙にいこう2018/08/08(水) 11:01:37.47
質問です。

データ整理と検索についてなのですが
例えば建物名とその建物のに振られた番号があるとします。

no1 テストビル
no2 テストマンション
no3 テストスーパー
といった具合の一覧があるとして
表を作った時にセルにno1と入力したら
隣のセルにテストビルと抽出させるようにすることはできますか?
できるとしたらどのような関数と式を用いればいいでしょうか。
よろしくお願いいたします。
0227名無しさん@そうだ選挙にいこう2018/08/09(木) 00:04:43.00
サーバにインストールするExcelと
クライアントのパソコンに入れるExcelはまた種類がちがうの?bit数は違っても32bitならいけるとおもうが
0228名無しさん@そうだ選挙にいこう2018/08/09(木) 12:41:29.09
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7Pro
【2 Excelのバージョン   】 Excel2,016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

入力規則について質問です
プルダウンリストを設定して入力規則のエラーメッセージのタブで
無効なデータが入力されたらエラーメッセージを表示する
にチェックマークを入れてスタイルを停止にすると
勝手に入力しようとしたらエラーメッセージが表示されると思いますが
エラーメッセージが表示されず自由に入力できる時があります
何が原因でしょうか

https://i.imgur.com/8Xo9r1D.jpg
https://i.imgur.com/vFayrKv.jpg
0229名無しさん@そうだ選挙にいこう2018/08/09(木) 13:19:38.35
>>228です
自決しました
プルダウンリストの範囲に後で追加できるよう空欄セルを含めてると
自由に入力できることが分かりました
お騒がせいたしました
0233名無しさん@そうだ選挙にいこう2018/08/09(木) 18:45:03.37
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7Pro
【2 Excelのバージョン   】 Excel2,010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

入力規則について質問です
2段階のプルダウンリストを設定して
初段のリストから選択した値を読み込んで
もう1つのプルダウンリストには最初に選択された値によって絞り込まれたリストが出るようにしたいです
私の知っている方法では
リストの元となるデータ表を作成し
必要なリストごとに名前を設定して
2段階目のプルダウンリストに
=indirect(初段リストのセル番地)ぐらいなのですが
今回これではできない理由があります
初段リストに載せる値がスペースや,などが入っており(これは絶対に変えれません)名前の定義ができませんと拒否されます

なので名前の定義ができない以上この方法は使えなく、他にいい方法があれば教えてください><
お願いします

そして別表で作った
何が原因でしょうか

https://i.imgur.com/8Xo9r1D.jpg
https://i.imgur.com/vFayrKv.jpg
0234名無しさん@そうだ選挙にいこう2018/08/09(木) 18:46:45.49
>>233

すいません
内容コピって消さずに書き込んじゃいました

▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7Pro
【2 Excelのバージョン   】 Excel2,010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

入力規則について質問です
2段階のプルダウンリストを設定して
初段のリストから選択した値を読み込んで
もう1つのプルダウンリストには最初に選択された値によって絞り込まれたリストが出るようにしたいです
私の知っている方法では
リストの元となるデータ表を作成し
必要なリストごとに名前を設定して
2段階目のプルダウンリストに
=indirect(初段リストのセル番地)ぐらいなのですが
今回これではできない理由があります
初段リストに載せる値がスペースや,などが入っており(これは絶対に変えれません)名前の定義ができませんと拒否されます

なので名前の定義ができない以上この方法は使えなく、他にいい方法があったら教えてください><
お願いします
0236名無しさん@そうだ選挙にいこう2018/08/09(木) 20:39:25.84
>>235
1段目の値そのものにしないと
どうやってリストを絞り込むんですか?

例えばですけど
1段目 2段目
人事 Aさん Bさん Cさん
経理 Dさん Eさん
総務 Fさん Gさん Hさん Iさん
というデータリストがあって

1段目で人事を選ぶと2段目ではA〜Cさんまでしか
リストに表示されないようにしたいんです
そこで1段目のリストのデータ範囲に人事、経理、総務
を入力します
次にAさん〜Cさんの範囲で「人事」と名前の定義
DさんからEさんの範囲で「経理」と名前の定義
FさんからIさんの範囲で「総務」と名前の定義
をします
最後に2段目のリストのデータ範囲に
indirect(1段目のリストの番地)
と入力すると1段目の値から名前を読み取って定義づけされた名前の範囲のデータを選択できるようになるんですが、
そもそも名前の定義づけができない場合に他の方法で同じことできる方法を教えて欲しいのです
0239名無しさん@そうだ選挙にいこう2018/08/09(木) 21:23:07.23
>>237
これはすごい!
ありがとうございます!
0240名無しさん@そうだ選挙にいこう2018/08/09(木) 21:24:14.33
>>238
その方法もできそうですね!

ありがとうございます
0241名無しさん@そうだ選挙にいこう2018/08/10(金) 11:13:30.75
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7Pro
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 ネット上にある既存のVBAの参照セル等を変更してアレンジする程度
【4 VBAでの回答の可否】 可

PDFで保存した後そのPDFを開きたいと思い検索していたら下記VBAを見つけました
下記VBAそのままコピペしたら問題無く使えたのですが、
同一ファイル名のPDFがあると上書き保存されます
同一ファイル名があった時、ファイル名末尾に(1)、(2)、(3)・・・と追加して保存して
上書き保存されないようにできますでしょうか

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10129152500

Sub Test()
Dim FileName As String
Dim FilePath As String
Dim FSO As Object
FileName = ThisWorkbook.Name
Set FSO = CreateObject("Scripting.FileSystemObject")
FileName = FSO.getbasename(FileName)
FilePath = ThisWorkbook.Path & "\"
Worksheets("Sheet1").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=FilePath & FileName & "_" & Range("A1").Value & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
0242名無しさん@そうだ選挙にいこう2018/08/10(金) 11:26:41.39
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

質問失礼します

このように、別々のシートに存在するデータ同士を、データが合致する位置で貼り付ける(合成する?)方法を探しています
https://imgur.com/a/lPZ0F8m

実際に貼り付けたいセル同士は何百ものデータがあり、データが抜けている行がいくつもあるため、データが合致する位置で貼り付けるとなると1つ1つ貼り付けるくらいしか方法がわかりません…

何かいい方法はないでしょうか?よろしくお願いします
0243名無しさん@そうだ選挙にいこう2018/08/10(金) 11:43:37.22
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010

前任者の残していったこのようなVBAがあります。
このexcelブックを他のPCで使うために、絶対パスを相対パスに変更したいです。
どこをどのように書き換えればいいでしょうか?
_______________________________________
Sub test()

Dim strFileName As String



'CSVファイルの存在するフォルダ指定

'ファイルオープンダイアログ

ChDir ("C:\Users\test\Desktop\aaa\bbb\ccc")

strFileName = Application.GetOpenFilename("CSVファイル (*.CSV),*.CSV", (1), "ファイルを選択")

If (strFileName <> "False") Then
_______________________________________

chdir部分を("‥/)のように変更してみましたが駄目でした。

ご教授いただければ幸いです
0247名無しさん@そうだ選挙にいこう2018/08/10(金) 12:29:12.65
>>243
共有フォルダではないという前提

実行ファイルの置き場から設定するのが普通かと思われます

ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path & "\ccc"

マクロを記述するファイルをcccのひとつ上の階層のフォルダにおいて、そこから相対参照
0248名無しさん@そうだ選挙にいこう2018/08/10(金) 12:56:48.73
>>244
すみません、その後ファイル名が重複した時、連番で保存すると
1.重複があって連番で保存されたことに気付かないかもしれない
2.結局またファイル名を修正せねばならない
以上理由で名前を付けて保存のメニューが出てファイル名の欄に重複してるファイル名が表示されるよう下記URLのVBAを組み込んでみたところ、
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1182505766
重複判定は正しく機能しているようなのですが重複していて名前を変更して保存した時に保存されません
また名前を変更せず保存した時も保存されません
恐らく、FileFilter:="PDFファイル,*.pdf", _の部分が問題かと思うのですがどのように変更しましたらよろしいでしょうか

Sub PDF()
Dim FileName As String
Dim FilePath As String
Dim FSO As Object
FileName = ThisWorkbook.Name
Set FSO = CreateObject("Scripting.FileSystemObject")
FileName = FSO.getbasename(FileName)
FilePath = ThisWorkbook.Path & "\"
'ここから下を追加
Dim FSO2 As Variant
Dim FN As String
FN = FilePath & FileName & "_" & Range("D20").Value & "(" & Range("J3").Value & ")" & ".pdf"
Set FSO2 = CreateObject("Scripting.FileSystemObject")
'ファイルの存在チェック
If FSO2.fileExists(FN) Then
'保存ダイアログ
FN = Application.GetSaveAsFilename( _
FileFilter:="PDFファイル,*.pdf", _
FilterIndex:=1, _
InitialFileName:=FN, _
Title:="PDFファイルの保存")
'キャンセルした場合は終了
If fname = "" Then
Exit Sub
End If
End If
'ここから上を追加
Worksheets(ActiveSheet.Name).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=FN, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
0249名無しさん@そうだ選挙にいこう2018/08/10(金) 12:59:40.46
>>244
携帯から補足
filepathの次に以下コード

    Dim fc as Long
    Dim fn as String
    fn =Dir(filepath&filename&"_"&range("a1")&"*")
    Do While fn <> ""
        fc = fc + 1
        fn = Dir()
    Loop

下から5行目保存部分
FileName:=FilePath & FileName & "_" & Range("A1").Value & "("&fc& ").pdf", _

厳密にはfcが0のときの処理が必要です
0251名無しさん@そうだ選挙にいこう2018/08/10(金) 13:33:08.29
>>249
ありがとうございます
一部修正したら使えました

>厳密にはfcが0のときの処理が必要です

たしかに重複がなかった時も末尾に(0)が付くのはかっこ悪いですね
今後、使うかもしれませんのでこちらも保存させていただきました

何度も申し訳ありませんが>>248
見てもらえませんえしょうか
0256名無しさん@そうだ選挙にいこう2018/08/10(金) 17:20:22.71
>>253
>>255
ありがとうございます
>>248の’キャンセルした場合は終了の下を
If FN = "" Then
に修正したら保存できるようになりました

しかしキャンセルした時もなぜかファイル名Falseで
保存されてしまいます

キャンセルするとFNが空になりThenでExit Subに
なるかと思うのですがキャンセルでもExit Sub
してないように思えます
02612562018/08/10(金) 18:43:39.95
>>258-259
できました
完璧に希望の動作になりました
ありがとうございました
02622562018/08/10(金) 18:47:18.56
>>260
ありがとうございます
そろそろ会社出るので家に帰ってから研究したいと思いますが
重複した時に名前を付けて保存で重複ファイル名+連番が
セットされるVBAでしょうか?
0263名無しさん@そうだ選挙にいこう2018/08/10(金) 19:34:09.87
質問させてください

121.81
125.86
121.66
統計 125.86になるみたいですが

平均をクリックしても123.11にしかならないのですが何が違うのでしょうか?
分かる方おねがいします。
0268名無しさん@そうだ選挙にいこう2018/08/10(金) 20:10:40.32
統計(とうけい、statistic)は、現象を調査することによって数量で把握すること、または、調査によって得られた数量データ(統計量)のことである。統計の性質を調べる学問は統計学である。
0270名無しさん@そうだ選挙にいこう2018/08/10(金) 20:14:44.07
>>267
統計ではなく総計
左から順に最高値、最安値、平均
max、min、average
たぶんここまで読めないとFXは手を出しちゃいけないと思うぞ
02732562018/08/11(土) 01:22:50.43
>>260
これが何か分かりました
>>249の重複していない時に(0)が末尾に付かないバージョンですね

>>248のここから下を追加とここから上を追加の部分をこれに置き換えてコピペして
下から5行目保存部分FileName:=FN2に変更したら
以上動作となりました

ありがとうございます
0281名無しさん@そうだ選挙にいこう2018/08/13(月) 15:13:00.02
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A列のリスト範囲内で常に一番上の値を返したいので、以下の関数を組みました。

=INDEX(A:A,MATCH(1,INDEX(N(A:A<>""),0),0))

後からB列を追加し、B列の値が空欄の場合は除外した上で
一番上の値を返すにはどうすれば良いでしょうか。
02832812018/08/13(月) 16:10:38.84
すみません、質問内容が間違っていました。
テーブル内に作ったリストでA列の文字列が同じものを次の関数でB列にカウントさせました。

=COUNTIF(INDIRECT("A"&1):[@A列],[@A列]))

ここで、C列の値が空白の場合はB列のカウントから除外させたいのですが

=COUNTIFS(INDIRECT("A"&1):[@A列],[@A列],INDIRECT("C"&1):[@C列],[@C列]<>""))

では駄目でした。
どうすれば良いでしょうか。
0284名無しさん@そうだ選挙にいこう2018/08/14(火) 00:27:12.38
テーブルの列に関数を作って列全てに反映させてから
行を挿入すると関数もコピーされる場合とされない場合とがあるのですが
行挿入時に関数もコピー(反映)させるにはどうすればいいですか?
0285名無しさん@そうだ選挙にいこう2018/08/14(火) 12:41:34.54
ショートカットキーのCtrl+Alt+5が効かないんですが、みなさんの環境では如何ですか?
OSはWindows10
バージョンは2016です
0293名無しさん@そうだ選挙にいこう2018/08/14(火) 21:52:16.51
win10
2003年版
VBAはコードが分かれば走らせられる程度


スケジューリングをするのにエクセルで表を作っています。
今選択されてる所に○を付けていってるのですが、キーボードの右を押すと○が隣に移るようにするにはどうしたら良いでしょうか?
また日曜から月曜に移動する場合も教えてくださいお願いします。
0294名無しさん@そうだ選挙にいこう2018/08/14(火) 22:34:44.22
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel10
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A B C
1 1 1 あ
2 1 1 1
3 1 1 あ
4 1 1 あ
というデータがある場合、別のシートに、あ が入ってる行だけ貼り付けたい場合、関数だけでできますでしょうか?
0295名無しさん@そうだ選挙にいこう2018/08/14(火) 22:52:46.14
>>293
すみません、意味がよく分かりません。
具体例とか、図とか入れてもらえると分かりやすいです。

>>294
「貼り付け」というなら難しいでしょう。
VBAでないと無理だと思います。
if関数などの数式を入れて、「あ」が入っていれば表示をする、入っていなければ表示をしない(見た目上、空白にする)というなら出来ると思います。
0297名無しさん@そうだ選挙にいこう2018/08/14(火) 23:12:11.86
>>295
293です。
薬の日のエクセルを作っています。
→キーを押してそれをコピーしたらその週のご飯に薬を添える人が分かるようにしたいです。
土曜日の次はその週は奇数となるので1日ズレるので○のセルを1日ずらして翌週にしたいのです。
○をキーボードの右を押して翌週にするにはどうしたら良いでしょうか?

名前日月火水木金土
鈴木ー○ー○ー○ー
田中ーーー△ー△△
佐藤ー□ーー□□ー

翌週
鈴木ーー○ー○ー○
田中△ーーー△ー△
佐藤ーー□ーー□□
0300名無しさん@そうだ選挙にいこう2018/08/14(火) 23:39:47.40
>>297
上の表の日曜から金曜までをしたの表の月曜日(から)に貼付け
上の表の土曜日を下の表の日曜に貼付け
ってやるだけでは?
あと「キーボードの右を押す」にこだわってるけどそれは変えられないの?
0301名無しさん@そうだ選挙にいこう2018/08/14(火) 23:40:25.36
>>297
私の理解力が足りないのか、
「キーボードの右を押して」というのが、どういう状況なのか不明です。
まず、「キーボードの右矢印キーを押す」というイベントプロシージャはたぶん作れません。

H列のセルがアクティブセルになっていて、矢印キーで1つ右に移動して、I列がアクティブになるとマクロが実行されるとかはできます(アクディブセルに関係なく、普通にI列をクリックしても実行されてしまいますが)。

ボタンを用意して、それをクリックすると1日ずれるとかいう方法が考えられます。目的次第でしょうけど。
0302名無しさん@そうだ選挙にいこう2018/08/14(火) 23:51:04.93
>>300
ちょっとこれは例なので少ないのですがそれをプログラム可能ですか?
毎週80名ぐらいいるのでそれを処理できないかなーと
右を押すのは○の薬の時でコードの仕掛けが分かれば上を△で左の薬を□にしようと思います。
0307名無しさん@そうだ選挙にいこう2018/08/15(水) 00:06:29.11
>>305
例えば○を動かしたい場合は
○を右に移すのはどのようにしたらいいでしょうか?
○を探すと言うかエクセルでどうやってリストから探しますか?
0308名無しさん@そうだ選挙にいこう2018/08/15(水) 00:07:11.42
>>302
> 毎週80名ぐらいいるのでそれを処理できないかなーと
いや、80名だろうが1,000名だろうが選択しちゃえば操作自体は変わらんよ?

> 右を押すのは○の薬の時でコードの仕掛けが分かれば上を△で左の薬を□にしようと思います。
コピーの話なのか個々の入力の話なのかよく分からん
>>305が書いてるようにVBAでカーソルキーを取得できるけどよほどうまく作らないと操作性がすごく悪くなるからおすすめしない
03093012018/08/15(水) 00:10:19.13
そうですね、Altキーなどと組み合わせれば、キーボードショートカット的にマクロを割り当てられます。

どちらにしても、名簿が増えた時にどこまで対応するかなどでコードが変わってきます。
0310名無しさん@そうだ選挙にいこう2018/08/15(水) 00:12:01.99
>>308
そうなのですか
○用の矢印を押すと○を探して右に移すっていうのをしたくて
今色々問題があるんだなぁとわかった所です
キー入力を読み取るシステム
文字列を探すシステム
文字列を動かすシステム
これらをしなければいけないのですね。。。
0311名無しさん@そうだ選挙にいこう2018/08/15(水) 00:17:57.76
>>309
そのエクセル表のマクロを起動したらALTだけ押しっぱなしになるようにとかは出来ますか?
多分その表はその薬の週移動しかしないと思います
0312名無しさん@そうだ選挙にいこう2018/08/15(水) 00:26:18.78
そもそも クスリは何種類あるの 矢印だけじゃ4種類しか対応できない
それよりも くすりの名前がついたマクロボタンをつくってそれを押すのがいいと思うけど
またわからないのが、なぜ薬の種類ごとに移動させなければならないのか。いっぺんに全部動かしたほうがいいんじゃないの
03133012018/08/15(水) 00:26:27.88
それは無理でしょう。多分ですが。<alt押しっぱなし

なぜ、そこまでキーボードにこだわるのかよく分からないです。
あと、説明がよくわからないのです(特に○とか△とかの部分が)。
295の例では○も△も□も1日スライドしてますが、それぞれ独立してスライドしたいということ?
0314名無しさん@そうだ選挙にいこう2018/08/15(水) 00:27:19.19
結局やりたいことは、表全体の日曜日〜土曜日の部分をコピーして月曜日にはる。
土曜日の右にはみ出たところを日曜日にはるという認識でok?
土曜日の右が空欄じゃないと駄目だけど。
0316名無しさん@そうだ選挙にいこう2018/08/15(水) 00:32:00.13
エクセル使う意味がないね
でも頑なに自分のやり方は変えない人間だろうな

お前ら黙ってオレのやりたいコードをタダで作りやがれ!
みたいに感じる
0317名無しさん@そうだ選挙にいこう2018/08/15(水) 00:40:30.35
>>313
そうです押しっぱなし
○△□は薬の種類です
薬の種類ごとに曜日の移動が必要なのです
人ごとの移動は無いんですけど人の登録番号順なので薬はごちゃごちゃでコピペ毎回大変になってしまいます。
0319名無しさん@そうだ選挙にいこう2018/08/15(水) 00:52:20.62
うわ大変そうだ
でも矢印はカーソルだから無理に近いね
てかそんな大変なこと今に始まったことじゃないんだろ?今はどうやって管理してるんだい?
03203012018/08/15(水) 00:56:54.54
で、薬の種類は何種類くらいあるんですか?
>>312さんの言うようにボタンを作るのがいいと思いますよ。
同じ人が複数の薬とかは、ないんですか?
0321名無しさん@そうだ選挙にいこう2018/08/15(水) 01:01:48.20
>>319
今は薬ごとで使いきりのカルテのデータを頼りにデータファイリングされてます。

No.xxxxx 鈴木さん x/x水
3週間 8時間毎
    朝昼晩
スタートー○ー13:06
03253012018/08/15(水) 01:13:26.31
いや、自分も分からない。
一番分からないのがキーボードにこだわる理由。

次に分からないのが、○だけスライドするとか、△だけとかいうのか不明。

下の例で言えば、○をどうにかしたら、こんな風に○の入ってる鈴木さんだけスライドするということ??

名前日月火水木金土
鈴木ー○ー○ー○ー
田中ーーー△ー△△
佐藤ー□ーー□□ー

鈴木ーー○ー○ー○
田中ーーー△ー△△
佐藤ー□ーー□□ー
0326名無しさん@そうだ選挙にいこう2018/08/15(水) 01:14:55.76
ちゃぶ台返しになっちゃうけど…
>>321みたいなデータがあるならそれから一覧表を作るソフトをどこかに頼んで作ってもらった方がいいような気がする
投薬ミスとか下手したら生死に関わりそうだし
03283012018/08/15(水) 01:21:17.45
>>326
それは同感。
投薬ミスの原因が知らない人に書いてもらったコードでしたとか、かなりマズイでしょう。

コード自体に問題はなくても、データ増えてきたり、誰かが表をいじっておかしくなる可能性は十分ある。
0329名無しさん@そうだ選挙にいこう2018/08/15(水) 01:21:45.19
>>321のようなデータを元に毎週の表をつくってるんだとしたら、このひとはいま何周目なのかってことも管理しないといけないね。
それと、>>321からは曜日をずらすという要件は読み取れない。なぜずらすんだろう。
自分だったら>>321を元に曜日じゃなく月日でテーブルをつくってピボットで作表するかな
0331名無しさん@そうだ選挙にいこう2018/08/15(水) 01:36:49.04
>>329
何周目かをカルテに追記して行きます。
そしてリリカとか精神系の薬は1日の上限の量が決まっています。
上限量まで行くと副作用が完全に解毒に至るまでで1日がずれます。
突発的な発作でニトロなどの効果の短い薬でも他との効果併用があるので時間がズレます。
0332名無しさん@そうだ選挙にいこう2018/08/15(水) 01:47:33.64
なるほど だとしたら投薬の量、間隔によっては曜日がずれない週もあるとか、同じ薬でもひとによってずれたりずれなかったりとかもありうるんだろうか
やっぱり横に日付を並べてある程度のスパンで、3週間なら3週間分まとめて最初につくって、今週分を印刷、というふうにしたほうがいいとおもう
03333012018/08/15(水) 01:53:45.65
4種類ならともかく、50種類を矢印キーでどうやって制御しようと考えていたのか分からない。
あと、○△を薬の名前にすると、セルの横幅(列幅)が広くなって見にくくなると思うけど、そのへんは?
0335名無しさん@そうだ選挙にいこう2018/08/15(水) 02:04:57.48
>>332、333
矢印と言うのが制御の妨げとなるのですね。
例えば矢印なのであってlyrとか略文字を打って移動印刷して変更しないで閉じれば移動したことにはならないと思って。ごめんなさい。矢印は文字列だと思ってました。
0336名無しさん@そうだ選挙にいこう2018/08/15(水) 02:17:00.65
あ、データをあらかじめ追記で作っておいてカルテNoを入れた時にchangeのコードでカルテNOの行を切り貼りするのを$で固定したらなんとなく出来ました。
0340名無しさん@そうだ選挙にいこう2018/08/15(水) 10:16:45.88
今初めて見たんだけどさ、もしかして
この人が言ってる矢印ってさ
オブジェクトで作成したボタンに「→」が表示されていればいいんじゃないの?
0342名無しさん@そうだ選挙にいこう2018/08/15(水) 12:57:12.12
有用かどうかはともかくとして、矢印キーで操作したいだけなら
Application.OnKey "{RIGHT}", "一週間ずらすプロシャージャ"
ってするだけなのに、何故一言もOnKeyが出てこないのか。
あ、VBA使える人はここにいませんでしたね。

まぁ矢印キーを上書きするのは色々弊害が大きすぎるから素直にボタンにマクロ登録したほうが良いとは思うけど。
0346名無しさん@そうだ選挙にいこう2018/08/15(水) 21:34:01.51
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

シート名「設定」のセルA1が
文字列「八百屋」の時はシート2と3を印刷
文字列「魚屋」の時はシート2,3,4を印刷する
ボタンを作りたいんですが
VBAでどのように入れれば上手く動くでしょうか?
0349名無しさん@そうだ選挙にいこう2018/08/16(木) 18:42:23.11
>>346
エラー処理とか、シート2がないときどうするとか、
もっとたくさんのシートを処理したいとかあると思うけど、
とりあえず、シンプルにやりたいことだけだとこんな感じでは?

Sub test()
If Worksheets("設定").Range("A1").Value = "八百屋" Then
Worksheets(2).PrintOut
Worksheets(3).PrintOut
ElseIf Worksheets("設定").Range("A1").Value = "魚屋" Then
Worksheets(2).PrintOut
Worksheets(3).PrintOut
Worksheets(4).PrintOut
End If
End Sub
0350名無しさん@そうだ選挙にいこう2018/08/18(土) 14:32:57.68
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel*2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

フォルダ内に
『00_集計』というファイル
と『01(aaa)_調査票』『02(bbb)_調査票』…
を入れています。
『調査票』の数は5〜50ぐらいです。
『調査票』ブックの『回答シート』の5行目を
『00_集計』の『集計シート』に転機したいのです。
自分で作業する時は、
『01(aaa)_調査票』『02(bbb)_調査票』…を手動で開き、5行目を選択したら
『00_集計』の『集計シート』の転記するマクロを組んで貼り付けし
その後ブックを閉じて繰り返し作業しています。

今後、引継ぎなどを考えた時に、
フォルダ内の『01(aaa)_調査票』を開き、転記し、閉じる。
    次に『02(bbb)_調査票』を開き、転記し、閉じる。
  と作業を行うマクロを組もうと思うのですが、
  順番に『01(aaa)_調査票』02(bbb)_調査票』を開くところがうまくいきません。
  フォルダの数自体が10数個なので、ファイル名も(aaa)(bbb)のところに違った文字が
  入るので、ファイル名は固定していません。

ファイル名が固定されていないのに、
フォルダ内のファイルを順番に開いていく方法がありましたら、
ご教授ください。お願いします。
0355名無しさん@そうだ選挙にいこう2018/08/18(土) 16:10:23.36
指定フォルダー内の全Excelファイルを開くマクロ
ttps://www.relief.jp/docs/excel-vba-open-excel-files-specified-folder.html

【エクセルVBA入門】For Each〜Next文でフォルダ内のブック全てを開く方法
ttps://tonari-it.com/for-each-next/

VBAでフォルダ内の全てのブックからデータを取り出す方法
ttps://qiita.com/takahiro_itazuri/items/08754db91c6ab72deb03
0356名無しさん@そうだ選挙にいこう2018/08/18(土) 16:19:09.36
346です。
自己解決できそうです。
workbooks.openのファイル名を変数で開けばいいことに気づきました。
お騒がせしました。
0357名無しさん@そうだ選挙にいこう2018/08/18(土) 16:22:09.40
>>355
355さん。ありがとうございます。
実は上から2番目のリンク先は見ていたのですが、
できませんでした。

1番上のサイトが
自分にわかりやすかったです。
本当に、ありがとうございました。
0358名無しさん@そうだ選挙にいこう2018/08/18(土) 16:27:06.55
>>352・353・354
皆さん。ありがとうございます。
本当にその通りです。
自分でも、そう思います。
ただシートの変更の権限がないのと
周りのスキルが
関数よりも電卓!
『エクセルは難しいから一太郎でもいい?』
ってな感じなので、
先の非効率な方法をとらざるを得ないわけです。

皆さんありがとうございます。
0359名無しさん@そうだ選挙にいこう2018/08/18(土) 18:34:53.17
職場って本当大変だよな
社長が「ワシが男塾塾長、江田島平八である!!」って言ったら
もう役員はおろか社員の俺らなんてなんもできねえもん
ホントなんも言えねえ
0360名無しさん@そうだ選挙にいこう2018/08/18(土) 18:55:24.89
351さん
359さん
ありがとうございます。
あの後、2時間くらいで完成しました。
エラー処理など完ぺきではありませんし、
Functionプロシージャを使えばもっとすっきり
まとめられそうだなーと思いながらも
とりあえず、完成としました。
本当にこの板は、自分にとって
最後の頼みの綱です。

※それ以前の書き込みもヒントになっています。
本当にありがとうございました。
0363名無しさん@そうだ選挙にいこう2018/08/22(水) 14:49:52.68
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7Pro
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい(VBAを貼ってもらえたら組み込んで使えるだけですが)
【4 VBAでの回答の可否】 可(できれば関数で)

社内システムから下記のような列の並びの受注伝票一覧がExcelファイルで出力できます

受注番号 受注日 商品名 客先 仕入先 受注数 単価 受注金額

この一覧で受注金額の列を一番上の行から下まで合計して
特定の仕入先の上位5位の客先を知りたいです

一旦ピボットテーブルで客先別、仕入先別に集計するのは
毎回一手間増えるのでやりたくないです

よろしくお願い申し上げます
0369名無しさん@そうだ選挙にいこう2018/08/22(水) 22:00:37.27
>>363
>特定の仕入先の上位5位の客先を知りたいです

特定の仕入れ先って何?
特定の商品の仕入れ先のうち上位5位?

あと関数は一行だけ?計算用に列使ってもいいの?
0372名無しさん@そうだ選挙にいこう2018/08/23(木) 05:56:08.86
>>367
ネットスラング?
「自己解決」の略として使われる場合があり、掲示板の質問スレなどで「自決しました」←「早まるな!」のようなやり取りが時々見られる。
使用者は元の意味を知らず素で使っている場合と知っていてネタ的に使っている場合の両方があると思われる。
https://dic.pixiv.net/a/自決
0373名無しさん@そうだ選挙にいこう2018/08/24(金) 07:37:55.94
>>371
作業列使って、作業列をINDEXすれば難しくはないが、同じ金額の場合の処理が面倒
五位が複数や、四位が三つ以上とか
0374名無しさん@そうだ選挙にいこう2018/08/27(月) 23:01:39.97
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可・

▼━関連スレ━━━━━━━━━━━━
セルA1の数値を別のブックへハイパーリンクを作成したいです。

1.ブック【要求票】より【台帳】A列をオートフィルで最下行の数値をコピー。仮に10とします。
2.【要求票】のセルA1に貼り付け。
3.【要求票】をA1にリネーム。ブック【10】とします。
ここまでマクロで何とか出来ました。

http://fast-uploader.com/start/7090933900754/

4.【台帳】のA列10に、ブック【10】のハイパーリンクを貼り付けができません。
よろしくお願いいたします。
0376名無しさん@そうだ選挙にいこう2018/08/28(火) 10:45:36.14
>>374
単一ファイルをアップするなら、xlsmファイルのままでアップしてほしい。
zipファイル開いて見てくれる人はあんまりいないと思いますよ。xlsmでもそうですが。

要求票、台帳は、別ブックなのか、シートではダメなのか?
ここまで出来ましたとあるけど、出来ているのは、
「A列のデータを1行分だけ下にオートフィルして、一番下のセルをコピーする」
これだけしかできてないですよ。
0377名無しさん@そうだ選挙にいこう2018/08/28(火) 12:46:37.88
>>376
Fast uploadetの仕様でxlsmファイルはアップロードできませんでした。
台帳と要求票は別ブックです。
2と3は参照先がないと動かなかったのでアップロードできませんでした。
申し訳ありません。
0378名無しさん@そうだ選挙にいこう2018/08/28(火) 12:56:17.23
可能ならブックは1つにして、シートで分けた方がやりやすいと思いますよ。
この場合は、リネームする10のみを別ブックにするとか。
03803742018/08/28(火) 20:57:55.23
>>379
ありがとうございます。要求票から台帳の番号を取るのではなく、逆にすれば良かったのですね。ハイパーリンクの仕組みはさっぱりですが、勉強したいと思います。
>>377
要求票を発行する対象が50人ほどで、要求票が1日20通ほど発行されているので、同じファイルでは無理でした。
ありがとうございました。
0381名無しさん@そうだ選挙にいこう2018/08/28(火) 21:09:25.80
複数のファイルを両面印刷で指定のプリンターで一括印刷するにはどうしたらいいんや?
0382名無しさん@そうだ選挙にいこう2018/08/28(火) 21:09:52.58
ちなみに編集を有効にする?みたいなのをいちいち押さないといけない状態
0384名無しさん@そうだ選挙にいこう2018/08/28(火) 22:33:45.72
初歩的な質問かもしれませんが、よろしくお願いします。
競艇の分析がしたくて、結果をコピペしたら

例)4-2-3が2004/2/3と日付になります。

4-2-3や423や4/2/3にする方法ありますかね?
0385名無しさん@そうだ選挙にいこう2018/08/28(火) 22:38:39.35
>>383
それって一つ一つ開いてPDFにしないといけなくないんじゃないの?
0393名無しさん@そうだ選挙にいこう2018/08/31(金) 07:51:09.61
>>388
=index(表示させたいデータがある範囲,match(min(a2:a4),a:a,0)-1)
0394名無しさん@そうだ選挙にいこう2018/08/31(金) 10:11:20.03
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

・関数のコピーについて
2か月くらい前までは関数の入ったセルの右下の+を縦にドラッグする事によってコピーできていたのですが、
なぜかできなくなりました。
というか、関数はコピーできているのですが、セルの表示が反映されなくなりました。
コピー元の表示がそのままズラッと並んでしまいます。

どうしたらいいか教えてもらえないでしょうか?
0396名無しさん@そうだ選挙にいこう2018/08/31(金) 10:35:28.96
>>395
ありがとうございます。
これに乗っている修正パッチは古すぎてもうダウンロードできないようです。
つまり、もう改善できないという事でしょうか?
Excel97なんで最新のExcelを買うべきなんでしょうか・・・
0398名無しさん@そうだ選挙にいこう2018/08/31(金) 20:10:39.50
>>396
スレ違いになるかもしれませんが、マクロなどExcel固有の機能を使ってないのであれば、
無料で使えるLibreOfficeのCalcやGoogleスプレッドシートなど、いかがでしょうか?
0403名無しさん@そうだ選挙にいこう2018/09/01(土) 13:46:02.64
ttps://i.imgur.com/AtBjJNC.png

同じ「1」なのですが若干見え方が違います
表示形式は同じ「標準」なのですけど
すごく初歩的な質問で済みませんがよろしくお願いします
0405名無しさん@そうだ選挙にいこう2018/09/01(土) 13:58:03.30
>>404
ありがとうございます
折り返しってどこで設定するんだろうといじっていたら
文字サイズが違っていました、まぬけな間違えでした
04064032018/09/01(土) 15:57:30.40
ttps://i.imgur.com/EEHnL5D.png

左側三つの文字サイズが9、右二つが11
右から二つ目に数字を入れると
左三つの文字サイズが9へ変更

範囲選択していないはずの条件式書式(色付け)が横にずれて反映されてしまいます
どういうことでしょうか?お願いします
0407名無しさん@そうだ選挙にいこう2018/09/01(土) 17:58:17.48
>>406
行や列を挿入またはコピーして、
左or上隣りを引きずったのでは?

規則性がなく部分的におかしくなっているなら、
もうゴチャゴチャだと諦めて、
書式は最初から設定し直す。
0408名無しさん@そうだ選挙にいこう2018/09/01(土) 18:09:25.50
>>407
ありがとうございます

検証が不十分なのですが
おかしくなるセルに上から順に数字を入れていくと該当のセルがおかしくなる
上のセルが空白だと正常

のようです
0410名無しさん@そうだ選挙にいこう2018/09/02(日) 14:18:26.97
ヘルプを表示させようとすると
「ヘルプビューアーに原因不明の問題が発生しました。続行できません。」
と出て表示できません。解決策ご存知の方おれらますか?
EXCEL2010、Windows7sp1(64bit)です。
04143742018/09/03(月) 22:33:45.03
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可・

▼━関連スレ━━━━━━━━━━━━
「管理台帳」から作成されたブック「要求票」に必要事項を入力後、
管理台帳の2列目以降に貼り付けを行いたいと思います。
>376 379様のおかげでは管理台帳のハイパーリンクで要求票を
管理できたのですが、一覧がほしいとのことです。コピペでは間違いが
あったので避けてほしいと言われました。 連番もまともに発行できない
次第です。どうかよろしくお願いします。

http://fast-uploader.com/file/7091536737390/
0415名無しさん@そうだ選挙にいこう2018/09/03(月) 23:29:59.60
>>414
「A3は数値のみ」とあるけど、B2の間違い?
仮にB2に数値をもってきたいとして、どこからどうもってきたいのかが分からないと無理でしょう。
04163742018/09/04(火) 00:06:19.14
>>415
申し訳ありません。要求票のセルB2からM2までを、管理台帳のb列に貼り付けたいのです。

ボタン2で作成されたブック「11」でしたらブック「11」のセルB2からM2までを
管理台帳のセルA12(番号”11”)右、B12に貼り付けを実施したく。
よろしくお願いします。
04174152018/09/04(火) 00:26:25.91
つまり、管理台帳のB12からM12に、11.xlsxのデータを転記したいということですか?
1つはindirect関数を使う方法があるけど、参照先のブックが開いてなきゃダメ。
マクロでするとしたら、どこ時点のデータを転記するかを考えないと。

例えばボタンを押して管理台帳のA列に11が入力されました。
その時点で11.xlsxにデータが入っているのか、それともその時点では空で、それから入力をするのか?
04184152018/09/04(火) 00:35:29.83
(1)要求票のハイパーリンクをクリックして、11.xlsmを開きました。
(2)11.xlsmのB2からM2に関数や手入力でデータを入力します。
(3)入力し終わったら、11.xlsmにマクロボタンがあるとして、それをクリックしたら11.xlsmから管理台帳の12列目に転記されて、11.xlsmが閉じます。

みたいな流れかな?
04194152018/09/04(火) 02:42:21.26
>>414
ttp://fast-uploader.com/file/7091551933613/
04213742018/09/04(火) 22:44:39.83
>>415
ありがとうございます。おかげで助かりました。
M2どころかABまで項目が増えましたが、なんとか解決できました。
VLLKUPでこれだけ参照するとブックも1MBにもなるのがわかりました。
0422名無しさん@そうだ選挙にいこう2018/09/05(水) 20:58:30.12
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 マクロコピペで手順など教えていただければ
【4 VBAでの回答の可否】 できれば否

ロックされていないセルだけ全部選択することは可能でしょうか?
0424名無しさん@そうだ選挙にいこう2018/09/05(水) 22:13:27.63
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい・
【4 VBAでの回答の可否】 可・
サーバに保存しているブックをpdf形式でローカルのマイドキュメントに保存したい。
¥¥gv9999¥本社¥総務部¥苦情にあるブックをpdf形式で<ユーザー名>¥マイドキュメントに保存したいですが、ユーザー名が不特定多数です。ユーザー名は数字6桁です。よろしくお願いします。
0427名無しさん@そうだ選挙にいこう2018/09/06(木) 01:03:23.89
>>424
ダイアログで保存先のフォルダをユーザーに指定してもらう方法は?
ユーザーの意図しない結果にならない事は防げると思うし、どんな処理をしてるかわかりやすいと思う
0428名無しさん@そうだ選挙にいこう2018/09/06(木) 18:40:05.85
>>424
おそらくVBAで自動化したいという意味なんだろうけど、どこまでやりたいかが不明。
一気にやりたいのか、それとも各ユーザーがファイルごとに各PCからできればいいのか。
0429名無しさん@そうだ選挙にいこう2018/09/06(木) 21:55:59.71
医薬品のgs1コードをバーコードにして印刷してスキャンできるようにしたいのです
04304242018/09/06(木) 22:54:35.61
>>425、426、427、428
ありがとうございます。
 当初は<苦情ブック>という入力フォームから<集計ブック>というブックに転記するだけ
でしたが、苦情の2重報告、マネージャーを通していない、集計ブックの非公開(公開して
前に改ざん、削除されました。)、<集計ブック>入力の誤記などがあり、ローカルに保存
してマネージャーがメールで424のマネージャーに報告する方法を思いついたのですが、質
問した通り、「てローカルに保存」する方法がわからず、行き詰っておりました。

 PDFですが<苦情ブック>はプルダウンとindirect、30か所のVLOOKUPで1MBあるため、
単にローカルに保存してメールに添付する方法は却下されました。そこでPDF形式でファイル
サイズを小さくすることにしたのですが、「PDF形式でローカルに保存する」方法がわかりません
でした。
 >>427のおっしゃる通り、ユーザーに指定する方法もありましたが、ディレクトリの概念が
乏しいようで、どこに何を保存したかわからないとの苦情を受けました。ファイル名の統一
もありますが。
 >>428 「各ユーザーがサーバの<苦情ブック>を使って処理の自動化」と思います。
自分も末端なので上司の意向、というか仕様を理解できていません。
04314282018/09/06(木) 23:44:34.71
>>430
ローカルと言うけど、windowsのバージョンによって、マイドキュメントだったり、ドキュメントだったりするとら思うけど、全て7?
サーバーというのは、会社のファイルサーバー?NAS?
そちらにフォルダ分けして保管する方法もありそうだけど。
04324242018/09/07(金) 05:21:55.42
>>431
OSはwindows7に統一されています。
近々10に、EXCELも2016にになるそうですが。
サーバはファイルサーバのみ。NASではありません。
マネージャーや同僚も明確な仕様を提示できていない事が原因なのです。
Accessならもっとスムーズかもしれませんが当方にスキルがありません。
0433名無しさん@そうだ選挙にいこう2018/09/07(金) 08:49:30.59
ヘルプデスクかコールセンター業務っぽいのに、ユーザーがIT知識が低すぎる感じ。
PDFにしたところでExcelで開けない、検索性が悪いなど期待した効果は得られないだろう
ユーザー毎にアクセス制御可能なCLIパッケージの導入検討をするべきだろう
04354282018/09/07(金) 10:07:26.61
>>424
ブックをマクロブックにすれば、できると思うけど。
ただ、色々ハードルがあると思いますよ。
何台あるのか知らないけど、各PCでセリュリティの設定したりできるのかとか。
win10に変わったら保存先のパスも変わってくるだろうし。
マイドキュメントに保存するときも、pdfのファイル名をどうするのかとか。

そもそも、仕様の理解できてない人の説明では、なんとも。
04364352018/09/07(金) 19:37:57.74
PDFで保存するだけなら、これでできそうかな。
7のマイドキュメントでも10のドキュメントでも同じっぽい。
7の環境がないから試せないけど。
PDFのファイル名をどうするかとか、すでにそのファイルがある場合にどうするかとか、
いろいろあるけど。

Sub make_pdf()
Dim Path As String
Dim WSH As Variant
Set WSH = CreateObject("WScript.Shell")
Path = WSH.SpecialFolders("MyDocuments") & "\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=Path & "aaaa.pdf"
Set WSH = Nothing
End Sub
0437名無しさん@そうだ選挙にいこう2018/09/08(土) 14:02:23.32
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

日付にaaaを加えて曜日を追加したんですが
日曜日の横列のみ削除したいのですが、どうすれば良いのでしょう?
縦が日付で横がデータです
日と付いてる列だけ消したいんです
お願いします
0440名無しさん@そうだ選挙にいこう2018/09/08(土) 14:28:16.84
>>437
オートフィルターで日曜日だけ抽出して、そのデータを手動で一気に消す
行そのものを削除したい時は作業列に通し番号を入れて、作業列ごと削除したあとでソートしなおす
04424352018/09/08(土) 15:53:47.99
>>441
検索(Ctrl+F)→検索文字列「日」、セルが完全に同一〜をチェック
→「すべて検索」をクリック
→「検索と置換」ウィンドウがアクティブな状態でCtrl+Aで、検索結果をすべて選択
→ホームタブのセルグループから「シートの列を削除」を選択
excel2016ならこれでできると思うけど、2010は環境がないので試せない。
0443名無しさん@そうだ選挙にいこう2018/09/08(土) 17:01:05.23
>>441
ちょっと説明が難しいんだけど、ワークシート上の関数だけだと、見えなくすることは出来るけど削除することはできないんだよ
セルに入ってるデータや数式の削除は手作業かVBAを使わないとできない
04444422018/09/08(土) 17:09:52.85
ちょい訂正。
(1)検索(Ctrl+F)→検索文字列「日」、セルが完全に同一〜をチェック、検索対象を「値」に変更
(2)「すべて検索」をクリック
(3)「検索と置換」ウィンドウがアクティブな状態でCtrl+Aを押して、検索結果をすべて選択
(4)ホームタブのセルグループから「シートの列を削除」を選択
(ショートカットならCtrlと-(マイナス)で、行全体を選ぶ)
※必要に応じて(1)で特定の列を選択する等しておく。

>>443
そういう意味では、自動で削除は無理ですね。
0445名無しさん@そうだ選挙にいこう2018/09/09(日) 20:26:43.57
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい(少し)
【4 VBAでの回答の可否】 可

数字が3つ以上連続している場合は"〜"や"-"で途中の数字を省略して
表示する方法はありますでしょうか

具体的には作業が1〜10,000程度まであり、担当者が2人いたとして、それぞれが
担当者A 1,2,5,6,7〜
担当者B 3,4,8,9,10〜
というように担当する場合で、エクセル上では作業の番号の隣の列に
担当者が入力されています(作業の振り分けに規則性はありません)

作業の内容はシート1枚が1ページとして印刷されており、ページ番号が
作業の番号に対応しています。何番の作業がどちらの担当かの一覧を
印刷して、それを見ながら作業内容の書かれたの紙を担当者毎に2つに
わけたいのですが、全ての数字を記載してしまうと確認が大変なので
担当者A 1,2,5〜7(または5-7)
担当者B 3,4,8〜10(または8-10)
というように連続している場合は省略したいのですが、なにかいい方法は
ありますでしょうか

よろしくお願いいたします
0447名無しさん@そうだ選挙にいこう2018/09/09(日) 23:53:00.22
>>445
A列に番号、B列に担当者名が入ってるのを集計するイメージかな?
その場合ならC列に担当者@用の作業列、D列に担当者A用の作業列を作って集計すれば良いと思う

C列はB列が担当者@ならA列の番号を、違うなら空白みたいなイメージで、かつ1行上に番号が入ってる場合は「〜」にするとかそんな感じの処理
04484462018/09/10(月) 00:06:54.15
ああ、そういうことですね。失礼。
>>446は無視してください。
0451名無しさん@そうだ選挙にいこう2018/09/10(月) 18:20:18.30
VBA使う方法しか思い付かん
ワークシート関数でやろうとすると、ものすごく数式が長くなりそうで、とても考えたくない
0452名無しさん@そうだ選挙にいこう2018/09/10(月) 18:47:44.01
445です。
「数字が3つ以上連続している」という条件はあきらめ、「5〜6,8」とかなってしまっても
OKということにしてなんとかなりました。みなさんありがとうございました。

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

例えば
1,3,7,12,15の中から7を隣かどこかのセルに選んだ後
更に違うセルに7以外のどれか4つの数字の内1つの数字を返す方法ってありますか?
0454名無しさん@そうだ選挙にいこう2018/09/10(月) 23:28:05.30
>>453
例えば縦に連続した15個のセルに数値が入ってるとして、index関数で1〜15までの乱数番目の数を引っ張るとする
もしそれが選んだ数だった場合は乱数に1足した数をmod関数で1〜15の範囲に直した物をもってくる

これでどうかな?
選んだ数以外が全て同じ確率じゃなくても良いなら
0455名無しさん@そうだ選挙にいこう2018/09/11(火) 11:59:38.04
【1 OSの種類      】 Windows10
【2 Excelのバージョン 】 Excel2016

CTRL+SHIFT+ Lでのオートフィルタのショートカットができません。
キーシーケンスの設定も変更してみましたが、直せませんでした。
どこか他に設定を確認した方がよい箇所はありますか?
0456名無しさん@そうだ選挙にいこう2018/09/11(火) 19:18:09.96
>>455
直接的な回答ができなくて申し訳ないけど
・特定のブックだけの現象なのか
・他のエクセルのショートカットは動くのか
・他のオフィスソフトのショートカットは動くのか
・各キーの故障の可能性無いのか

など、原因をもう少し追求してみると何かわかるかもしれません
0457名無しさん@そうだ選挙にいこう2018/09/11(火) 19:59:04.36
>>456
ありがとうございます

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

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

他のオフィスのショートカットは試してないので、試してみようと思います
0458名無しさん@そうだ選挙にいこう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  給与査定
0459名無しさん@そうだ選挙にいこう2018/09/12(水) 00:01:13.64
>>458
excel オートフィルタ 関数 で検索すると出てきます。
要は、オートフィルタでできることを、関数でやってしまおうということですよね。
04604582018/09/12(水) 00:36:24.79
>>459
それだとSUBTOTAL関数でオートフィルタの表示に連動させた計算結果をだすサイトが出てきます。
関数の式で教えてください。
04624582018/09/12(水) 01:14:07.77
>>461
どうやるの?式で教えてください。
0463名無しさん@そうだ選挙にいこう2018/09/12(水) 01:41:34.89
>>458
期限順に並べ替える訳ではなく、単純に上から順番に抽出するだけなら、作業シートを作って、元シートの内容をリンクさせる、countifで上から何番目の未完了なのか数えて、抽出シートにvlookupかindexとmatchてひっぱってくるのはどうでしょう?
04674582018/09/12(水) 23:42:28.74
>>463
だ・か・ら、式で教えてください。
0468名無しさん@そうだ選挙にいこう2018/09/13(木) 01:00:08.53
>>467
提案した全部の内容に関して全ての数式を書く気にはならないので、説明した内容で「この部分の意味がわからない」「この部分の意味はわかるけど、実装する数式がわからない」とか個別に聞いてくれたら(程度によっては)回答します

そもそも、仕事の依頼であればきちんとエクセルのブックで納品しますけど、軽い相談であれば、やり方の提案はしますが、最後は自分で頑張ってくださいね、って思ってます
04704582018/09/13(木) 06:21:27.54
>>468
文章はどうでもいいので関数式だけ書いてね
04714582018/09/13(木) 06:23:49.13
>>464
初心者なんで優しくしてくださいよ
どこかのサイトに全く同じのが載っているのなら
アバウトに検索方法じゃなくて具体的にURLで頼みます
0473名無しさん@そうだ選挙にいこう2018/09/13(木) 10:24:29.58
windows7
excel2010

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

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

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

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

よろしくお願い致します。
0477名無しさん@そうだ選挙にいこう2018/09/13(木) 12:22:06.52
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい・
【4 VBAでの回答の可否】 可・
セルA1が空白なら「社員番号がありません」とウィンドウでキャンセル、
セルB2が空白なら「日付がありません」とウィンドウでキャンセル、
セルC3が空白なら「時刻がありません」とウィンドウでキャンセルする方法がわかりません。
御指導、ご鞭撻をお願いします。
0478名無しさん@そうだ選挙にいこう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
0480名無しさん@そうだ選挙にいこう2018/09/13(木) 12:49:05.64
>>473
ファイル名に規則性があるなら、indirect関数でファイル名の部分を変化させて参照するのはどうでしょう?

ブック開かないと重いのであれば、自分ならvbaで全部のブックを結合して参照します
0481名無しさん@そうだ選挙にいこう2018/09/13(木) 12:59:53.91
>>480
ありがとうございます

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

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

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

回答頂き大変有り難いのですが、別の方法はありませんでしょうか?
04824772018/09/13(木) 13:30:46.62
>>478
コンパイルエラー
変数が定義されていません。
と出ました。
04834772018/09/13(木) 13:45:52.99
>>478
自己解決しました。option Ecplicitを削除したら機能しました。
ありがとうございました。
0485名無しさん@そうだ選挙にいこう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
04884772018/09/13(木) 21:58:31.31
>>487
余裕がなかったのです。
>>484
200以上になるので無理でした。
0490名無しさん@そうだ選挙にいこう2018/09/14(金) 22:34:13.19
windows10
excel2016
マクロ不可

質問です。
範囲選択してる時に、選択されている範囲を取得(表示させる)方法ってありますか?
例えばA1:H500を範囲選択すると、名前ボックスにはアクティブセルのみが表示されますよね。A1とか。
A1:H500だというのを確認する方法が知りたいです。
Ctrl+Tで、テーブル作成ダイアログを出して(その後キャンセルする)確認する方法などしか思いつきませんが、スマートな方法ってありますか?
0493名無しさん@そうだ選挙にいこう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 画像 で検索すると数式→名前の定義を利用した方法の解説が出てくるのですが列すべてに対応出来ません
よろしくお願いします
04954932018/09/17(月) 16:26:50.62
G3〜G6に名前(トマト、キュウリ…)を付ける→G3(トマト)セルをコピー→C3に「リンクされた図」で貼り付け→名前の定義で「名前」を「野菜」、「参照範囲」を=INDIRECT(Sheet1!$B$3)→B3セルに適当に文字入力(エラー回避)→C3の画像を選択して数式バーで「=野菜」と指定
という風にやってC3はB3を反映しますがC4がB4を反映してくれる訳ではありません。この方法だと手作業でこれを繰り返して大量の名前の定義を作り出すことになってしまうので別の方法がないかと
言葉足らずでした
0499このブックの自動回復を行わない2018/09/19(水) 02:21:46.19
【1 OSの種類         .】 Windows 10 Pro
【2 Excelのバージョン   】 Excel 2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

「このブックの自動回復を行わない」にチェック付けても、強制終了時に自動回復ファイルが作成されてしまうのですが、
回避方法はあるでしょうか?
0500名無しさん@そうだ選挙にいこう2018/09/19(水) 16:04:17.47
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         】 Windows10
【2 Excelのバージョン  】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

入力時常に上書きモードになるので挿入モードに変更したいです
insertキーは押しておらず、緑色のバーで右クリックを押すと出てくるユーザー設定では上書きモードにチェックは入っていません
他に何をすればよいですか
0503名無しさん@そうだ選挙にいこう2018/09/22(土) 15:29:18.63
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ(起動して入力するまではできます)
【4 VBAでの回答の可否】 可
初心者です。説明が下手なので画像付きで質問させていただきます。
Sheet1で図のように入力すると、自動でSheet2に図のように入力されるプログラムを作りたいです。

Sheet1:https://i.imgur.com/jzCfjb5.jpg
Sheet2:https://i.imgur.com/ChU3p4G.jpg

よろしくお願いします。
0504名無しさん@そうだ選挙にいこう2018/09/22(土) 15:54:58.33
>>503
シート1の3行目以降も同じように入力していくのを想定してるの?
その場合、そのデータはどこに増えていくの?
シート2の11以降に増やすのか、シート3を作ってそこにデータを入れるのか。
0505名無しさん@そうだ選挙にいこう2018/09/22(土) 15:55:11.94
>>503
すみません補足です。
Sheet2のA列の数字は既に入力されており、Sheet1で第2行,A〜Dのデータを入力すると、Sheet2の画像のように自動入力されるプログラムを作りたいです。
0507名無しさん@そうだ選挙にいこう2018/09/22(土) 16:11:45.88
転記するのはいいとして、どのタイミングで転記するか決めないと。
ボタンを押すのか、あとは例えばE2をダブルクリックしたら2行目を、E3をダブルクリックしたら3行目を転記するとか。
4項目全部入力したら転記するのかとか、消す場合はどうするのかとかも決めておかないと。
0509名無しさん@そうだ選挙にいこう2018/09/22(土) 16:14:07.93
記載行に重複がある場合は下にある行の内容に書き換えても問題ない?
それともメッセージで既にデータがあります!とか確認する?
05115072018/09/22(土) 16:30:24.98
ボタンを押すとなると、データが複数ある時にどの行のデータを転記するかというのを決めなきゃいけない。
普通は一番下の行だろうけど。
0512名無しさん@そうだ選挙にいこう2018/09/22(土) 16:45:15.68
Sub test()

Dim i As Long
Dim myRow As Long

'myRowは一番下のデータがある行(C列で上から下に検索する)
myRow = Cells(1, 3).End(xlDown).Row

'Sheet2をオブジェクト変数Ws2に
Dim Ws2 As Worksheet
Set Ws2 = Worksheets("Sheet2")

'最終行のC列、D列に数値が入っていて、D列の数値>=C列の数値である場合のみ転記をする。

If IsNumeric(Cells(myRow, 3)) = True And IsNumeric(Cells(myRow, 4)) = True And _
Cells(myRow, 3) <= Cells(myRow, 4) Then
For i = Cells(myRow, 3) To Cells(myRow, 4)
Ws2.Cells(i + 1, 2) = Cells(myRow, 1)
Ws2.Cells(i + 1, 3) = Cells(myRow, 2)
Next i
Else
MsgBox "入力値が適正ではありません"
End If
End Sub
0514名無しさん@そうだ選挙にいこう2018/09/22(土) 23:34:38.53
>>503
vba使わないで関数で引っ張るのはどうですか?
どれくらいの量になるのかによるけど、作業列使って計算すればできますよ
05175122018/09/23(日) 11:57:15.24
>>516
その場合、E列をWクリックするとその行のデータをもとに転記するイベントプロシージャにすれば?

それか、アクティブセルの行を転記するようにすればいいか。
myRow = ActiveCell.Row
に変更すればいい。
3行目をアクティブにした状態でボタンを押せば、3行目のデータをもとに転記される。
05195172018/09/23(日) 15:59:49.63
ドラッグ(矩形選択)した行を一括転記するようにしました。

これ、適正でない行が多いとmsgboxが何回もでるけど、いい方法あります?
変数jをelseの時だけ配列に入れて、それをmsgboxでまとめて1回だけ出すとかできるかな。
「5行目6行目のデータが適正ではありません」みたいに。

Sub test()
'矩形選択範囲から行を取得、該当業のデータをもとにsheet2に転記するプロシージャ
'例)A2:A8を選択した状態なら、2行目から8行目
'   B3:B10を選択した状態なら、3行目から10行目

Dim i As Long
Dim j As Long
'Sheet2をオブジェクト変数Ws2に
Dim Ws2 As Worksheet
Set Ws2 = Worksheets("Sheet2")
'C列、D列に数値が入っていて、D列の数値>=C列の数値である場合のみ転記をする。
For j = Selection(1).Row To Selection(Selection.Count).Row
If IsNumeric(Cells(j, 3)) = True And IsNumeric(Cells(j, 4)) = True And _
Cells(j, 3) <= Cells(j, 4) Then
For i = Cells(j, 3) To Cells(j, 4)
Ws2.Cells(i + 1, 2) = Cells(j, 1)
Ws2.Cells(i + 1, 3) = Cells(j, 2)
Next i
Else
MsgBox j & "行目の入力値が適正ではありません"
End If
Next j
End Sub
0520名無しさん@そうだ選挙にいこう2018/09/23(日) 16:17:26.66
>>519
Sub 偶数()

'1から10の中で偶数一覧を出力する
For i = 1 To 10
If i Mod 2 Then
'do nothing.
Else
偶数一覧 = 偶数一覧 & i & ","
End If
Next

'output
If 偶数一覧 Then
MsgBox "偶数:" & 偶数一覧
Else
MsgBox "偶数なし"
End If

End Sub
05215192018/09/23(日) 17:12:00.87
>>520
なるほど。勉強になりました。
0522名無しさん@そうだ選挙にいこう2018/09/24(月) 00:30:56.81
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A列に半角英数字10桁の商品コードが並んでいます。
タイプとしては英数字混在のものと数字だけのものです。英字だけのコードはありません。
B列には商品名があり、index(match)で商品コードを入れたら商品名を表示させたいです。

しかし、商品コード入力欄にテキスト入力をすると、商品コードが英数字混在のものしかヒットしません。
matchの検索値をvalue()で指定すると今度は数字だけのコードしかヒットしません。
どちらでもヒットするようにするにはどうすればよいでしょうか?
0523名無しさん@そうだ選挙にいこう2018/09/24(月) 02:23:02.79
>>522
現在の商品コードを文字列で同一すべき
適当な作業列に「=TEXT(A1,"@")」みたいに書いて、これをコピーして値として貼り付けで文字列に変換できる。

今後の登録のために、商品コード列の書式設定は「文字列」に変える

MATCHの第一引数に指定したセルも文字列に変える。
それが無理ならMATCH(TEXT(・・・,"@"),・・・)にすればいい。
0524名無しさん@そうだ選挙にいこう2018/09/27(木) 10:14:49.51
powerpivot機能ですが、
エクセルではフォローされている36:00:00みたいな24時間を超える書式[h]:mm:ssが、powerpivotではフォローされていないのか、データ型を日付にするとエラーになってしまい、テキスト型になってしまいます。

何か回避策はありませんでしょうか?
0525名無しさん@そうだ選挙にいこう2018/09/27(木) 16:18:44.81
元々のデータはテキストファイルか何かなのかいな
0526名無しさん@そうだ選挙にいこう2018/09/28(金) 15:23:53.46
1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

一つのセル内に
プリン3個、エアコン2個、ミカン4個、バナナ2個
という風に固有名詞は無秩序、個は規則的なセル内の数字を
合計して出すにはどうすればいいでしょうか
0528名無しさん@そうだ選挙にいこう2018/09/28(金) 15:41:42.64
11を別セルに出したいです
0530名無しさん@そうだ選挙にいこう2018/09/28(金) 16:21:07.31
FINDで「個」の位置を順番に把握して
MIDで切り出して
LOOKUPがらみで数値だけ抜き出して
足す

感じになるのかな。「個」の個数が不定だと修羅の道
0532名無しさん@そうだ選挙にいこう2018/09/28(金) 17:24:41.89
そもそもそんなデータ(1つのセルに文字列と数値が混在、単位まで付いてる)を作らないようにしないと。
項目 数値 単位 の3列でデータ作るようにする。
単位は表示形式で付ける方が良いかも知れない。

>>530さんの方法でやるか、固有名詞(りんご、バナナ)を全てピックアップできるなら、もう少し簡単にできるけど。
05365302018/09/28(金) 21:49:01.77
>>535
条件は書いてあることで全てだったのですが

A1 プリン3個、エアコン2個、ミカン4個、バナナ2個
A2 RIGHTB(LEFT(A1,FIND("個",A1)-1),2)*1
A3 FIND("個",A1)
A4 RIGHTB(LEFT(A1,FIND("個",A1,A3+1)-1),2)*1
A5 FIND("個",A1,A3+1)
の繰り返しでできましたありがとうございました。
0538名無しさん@そうだ選挙にいこう2018/09/29(土) 00:55:27.61
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

特定の計算をしたいのですが、前もって最下行までセルに式を入れるとファイルサイズが大きくなりすぎたので、
VBAで計算させる様にしたのですが、問題があります。
1.AC列はZ列から+14の日付にしたい。
2.このマクロだと1行目が書き換わってしまう。
3.シート「保全_集計表」を別のブックに貼り付けしたいのですが、別ブックのサイズが3MBになることがあります。てしまいました。


この3点を解決する方法があればご教授願います、

サンプル
http://fast-uploader.com/file/7093705631477/
0539名無しさん@そうだ選挙にいこう2018/09/29(土) 02:24:09.44
もし、P2が0(ゼロ)のとき、Q2はO2*(2/3)
もし、P2が0(ゼロ)じゃないとき、Q2は(O2-P2)*2/3
真偽の数字を、100のくらいから四捨五入したいのですが、IF関数にROUND関数を組み合わせる方法がわかりません。

IF(P2=0,O2*(2/3),(O2-P2)*2/3と組んではみました。

例えばQ2セルが13,333となった場合は、13,000で表示されるようにしたいのです。

私は看護師で、社員旅行の会計を任されましたが、バカなのでわかりません。教えてください。

O2は月々の旅行積立額、P2は旅行代金、Q2は返金額です。旅行は泊まり、日帰りとあって、日帰りの場合は積立額から、旅行代金を引いた2/3を積み立てた人に返して、旅行に行かなかった人は、積立額の2/3を返すことになっています。泊まりは、積立全額が旅行代金になります。
05425382018/09/29(土) 07:42:33.27
>>540
問題ありません。i=2で1行目が変わらないのですか。
05445382018/09/29(土) 08:17:14.32
>>543
サンプルは2行でしたが、2000行位になります。条件付きでループを終了させたいのですが、思いつきませんでした。
0545名無しさん@そうだ選挙にいこう2018/09/29(土) 08:49:20.57
>>544
話がかみあってないけど、「For i = 1 to」を、「For i = 2 to 」に変更する。
3行おきになっているのは、そのままでもいいけど、変数jにした方が見やすい。

別ブックに張り付けるのは、どのブックか不明なので(新規ブックなのか既存のブックなのか等)、もっと情報がないとわかりません。

Sub calclation()

Dim i As Long
Dim j As Long

Dim MaxRow As Long
MaxRow = Sheets("保全_集計表").Cells(Rows.Count, 1).End(xlUp).Row

For i = 2 To MaxRow
For j = 16 To 46 Step 3
Cells(i, j).Value = Cells(i, j - 1) + Cells(i, j - 2)
Next j
Cells(i, 29) = Cells(i, 26) + 14
Next i
End Sub
05465382018/09/29(土) 10:05:53.52
>>545
既存のブックになります。
よろしくお願いします。
05475452018/09/29(土) 10:35:56.91
>>546
既存のブックなら、余計分からない。
そもそも、vbaで計算結果入れるだけで重くなるなら、もともとのブックに問題があるのでは?
よろしくお願いしますって、何をしてほしいのか。
0549名無しさん@そうだ選挙にいこう2018/10/01(月) 22:37:09.13
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい・
【4 VBAでの回答の可否】 可・
A列 B列 C列  D列 E列以降
ID  品名 型式 残数 日付

E列以降に日付を入れるとD列(残数)が-1するにはどうしたらいいでしょうか?

D2が5でE2、F2に日付が入るとD2が3と表示させたいのです。
0550名無しさん@そうだ選挙にいこう2018/10/01(月) 22:49:56.78
>>549
A列 B列 C列  D列      E列        F列以降
ID  品名 型式 残数(入力) 残数(計算後)  日付

でいいなら、
E2=D2-COUNTIF(F2:H2,">0")

D列をそのまま変更するのはvbaがいる上に結構めんどくさい
(コメントに元の数値を逃して、計算するなどの変な処理が必要)
05515492018/10/01(月) 23:09:36.57
>>550
ありがとうございます。こちらの方がよいです。半期の棚卸で”いつ”部品をもちだしたか
不明で数と資産金額が合わなくて大惨事になりました。
1000万は無いって。
0552名無しさん@そうだ選挙にいこう2018/10/02(火) 19:27:43.15
すみません、質問させてください。
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
A1の数値を別のセルに 「.jpg」をつけて表示させたいのですが、どうしたらできますか?
セルの書式設定のユーザー定義にもないし、入力件数が多くて困っています。
関数などがまったくわからなくて、ネットでも調べてみたのですが検索の仕方が悪いのか
見当違いのものばかりで…お力を貸してください。お願いします。
0554名無しさん@そうだ選挙にいこう2018/10/02(火) 23:48:13.63
>>552
別のセルに
=A1&".jpg" と入力
=A1と書いて、書式設定のユーザー定義に0".jpg"と入力
=CONCATENATE(A1,".jpg")と入力
さぁ好きなのを選べ。

あと数値を・・ってことなので桁揃えするなら
=TEXT(A1,"0000")&".jpg"
としたり
=A1と書いて、書式設定のユーザー定義に0000".jpg"と入力
という方法があるゾ
0555名無しさん@そうだ選挙にいこう2018/10/03(水) 02:26:52.78
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 2010

エクセルの計算効率についてです。
COUNTIFを使う場合
1列10万件のセルをカウントするのと
1列1万件のセルを個別に10列分カウントしてあとで10個の数を足すのとでは
どちらが計算結果が早く出ますか?
あと、あらかじめ条件外となるものは先に=""で空指定したほうが
計算結果が早く出ますか?
0556名無しさん@そうだ選挙にいこう2018/10/03(水) 06:59:51.10
>>555
内部的な最適化までは誰もわからん。試したほうが早い
大抵の場合、余計なことをせずに素直な計算式にするのが一番良い
あと、罫線や色、フォント、条件付き書式など何も設定しないことの方がよっぽど大事
05575522018/10/03(水) 12:43:47.92
552です。
おかげさまで作業効率アップしました!
お二方ありがとうございました!
0558名無しさん@そうだ選挙にいこう2018/10/03(水) 13:58:12.10
求人で「エクセルができるかた」というのはどれくらいができればよいのでしょうか?
・四則演算ができる
・index,match,offsetなどの関数が使える
・条件付き書式のせっていができる
くらいで大丈夫ですか?
0559名無しさん@そうだ選挙にいこう2018/10/03(水) 14:37:42.85
職場によって求められるスキルは違うと思うけど、vlookupじゃなく、あえてindexやmutchを上げてるレベルなら大丈夫じゃない?
あとは、グラフとかピボット使えればいいかなと
0561名無しさん@そうだ選挙にいこう2018/10/03(水) 20:22:35.20
採用した社員の履歴書にMOUSエキスパートが書いてあり
どれくらいできるのかwktkしたら全然実務向きでなかったでござる。
0563名無しさん@そうだ選挙にいこう2018/10/03(水) 22:33:19.11
MOSエキスパートは関数とか熟知してなくても取れるしね
試験対策してればとれるし、機能の使用・理解範囲が無駄に広いだけだから、すごく役に立つというよりかは、ある程度どんな職場でも働けるってだけだよね
excelで画像加工とかほぼ実務で使わんw
0566名無しさん@そうだ選挙にいこう2018/10/04(木) 15:18:54.76
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】否
一つのセルの中に指定の単語がいくつ使われているのか
をカウントする場合はどうすればいいですか?
0567名無しさん@そうだ選挙にいこう2018/10/04(木) 15:33:48.52
>>566
=(LEN (A1)- LEN (SUBSTITUTE (A1,"単語", "") )/ LEN("単語")
05685662018/10/04(木) 19:57:42.94
>>567
できました。なかなかやりますね。
0569名無しさん@そうだ選挙にいこう2018/10/04(木) 22:50:08.71
1つのセルをウィンドウいっぱいに広げる方法ある?
そしてウィンドウのサイズを変えたら、セルのサイズもそれに追従するみたいな
0570名無しさん@そうだ選挙にいこう2018/10/04(木) 22:56:53.36
ないです
0571名無しさん@そうだ選挙にいこう2018/10/05(金) 19:15:09.88
印刷の設定を全シート一括でできますか?
0574名無しさん@そうだ選挙にいこう2018/10/05(金) 21:09:22.81
あるっちゃあるけどないっちゃない
vbaで作ればできるけど、その操作以上の労力がいるから意味ないんだよね〜
0576名無しさん@そうだ選挙にいこう2018/10/06(土) 16:34:04.78
セルに書き込む毎に枠線が自動で付く書式 =or($A1:$F1<>"")って書式組む時に
範囲選択してるんだから
普通に枠を付けるのとたいして変わらないと思いませんか?
0577名無しさん@そうだ選挙にいこう2018/10/06(土) 18:18:03.26
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel for Office 365
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 否

ピボットテーブルでの比率の計算について教えて下さい。
元の集計表として、

時間帯, 基準値, 要素1, 要素2, 要素3
0, 200, 80, 50, 20
1, 210, 100, 20, 30
2, 180, 150, 50, 0

23, 90, 0, 70, 50

という合計を集計したピボットテーブルがあります。
これを元に、基準値に対する比率を求めるピボットテーブル

時間帯, 基準値, 要素1, 要素2, 要素3
0, 100.0%, 40.0%, 25.0%, 10.0%
1, 100.0%, 47.6%, 9.5%, 14.3%
2, 100.0%, 83.3%, 27.8%, 0.0%

23, 100.0%, 0%, 77.8%, 55.6%

というピボットテーブルを追加または新規で作りたいのですが、
「親集計に対する比率」で[基準値]を「基準フィールド」に指定してみたところ、
結果は#N/Aエラーになってしまいました。
何かやり方があるのでしょうか?

各行には異なる日付の内訳(行数可変)があるので、
直接セル指定での計算列追加は避けたいです。
0578名無しさん@そうだ選挙にいこう2018/10/06(土) 18:18:37.44
1か2か3の値が毎時入手できて、これを積み上げ横棒グラフで同じ数字なら同じ色にして12個積み上げてグラフにする方法ありますか?
0579名無しさん@そうだ選挙にいこう2018/10/07(日) 05:11:50.39
左にタイトル 右に内容
みたいな感じでエクセルが使える

しかし入力がしずらい

エンター押すと次の枠に行っちゃうし(ソートするときは枠結合しないといけないし)
ALT+エンター 使えばいいんだけどなんか面倒

メモ帳だと左にタイトルつけれなくソートもないし メモしたものがわからなくなるし

他のいいソフトありますか?
もしくはエクセルの使い方。
05835772018/10/08(月) 09:17:41.61
自己解決

「計算の種類」の「親集計に対する比率」の使い方は分かりませんでしたが、
目的のことは「集計フィールドの追加」で出来ました。
0587名無しさん@そうだ選挙にいこう2018/10/09(火) 16:22:30.57
たとえばExcelのA1に0、A4に10と入力して、
A2に3.3333、A3に6.6666と出力させる方法はありますか?

間にあるセルの分だけ等分にして表示させたいのですが

実際使うときは数千等分にしたいのです
0589名無しさん@そうだ選挙にいこう2018/10/09(火) 17:59:42.43
図形に指定したサイズ(cm)通りに印刷されません。
それ以上に、縦横比が狂ってしまい困ってます。
プリンターが原因でしょうか?
0591名無しさん@そうだ選挙にいこう2018/10/09(火) 22:22:04.33
最近のMSには小さな親切大きなお世話って言葉がピッタリだ
初心者やタブレット向けにセキュリティやUIを変えたつもりだろうが
使い慣れた操作を大きく変更されて余計使いづらいっていう
0592名無しさん@そうだ選挙にいこう2018/10/09(火) 22:27:57.11
今さらそんなこと言っても、大きなお世話はMSの伝統でしょ。
win10の強制アップデート
word、Excelのオートコレクト
office2007になった時のリボン導入
IEの強制バンドル
コントロールパネルがなくなる
勝手にアップデートして勝手に再起動
0593名無しさん@そうだ選挙にいこう2018/10/09(火) 22:37:33.83
>>588
やっぱvbaですか
少し齧っただけだけどやってみます
ありがとう
0595名無しさん@そうだ選挙にいこう2018/10/10(水) 05:52:51.26
>>592
> win10の強制アップデート
うん
> word、Excelのオートコレクト
設定切れよ
> office2007になった時のリボン導入
慣れ。むしろ使いやすい
> IEの強制バンドル
それ何が困るの?独占禁止法?
> コントロールパネルがなくなる
グループポリシーの方で設定すりゃ関係ない
> 勝手にアップデートして勝手に再起動
WSUSは?
0598名無しさん@そうだ選挙にいこう2018/10/10(水) 13:58:38.16
まだIEとか言ってるのか
0599名無しさん@そうだ選挙にいこう2018/10/10(水) 18:54:34.40
> IEの強制バンドル
はまだ良いとして、規定のブラウザ変えようとすると警告が出るのがイラッと来る
あとこういう警告のせいでIEが根強いと思うと更にイラッと来る
で、そんなwindowsを使わなければならない自分にイラッと来る

まぁIEの挙動が大分マシになったとはいえ、
めんどくさい事には変わりない

未だにIE前提で作られている管理ツールはやまほどあるからな
0602名無しさん@そうだ選挙にいこう2018/10/11(木) 12:40:48.85
このスレレベルが高すぎるんですが
エクセルのことに関して初心者でも相談できるスレないでしょうか
5ch内をスレタイ検索してみましたがうまく見つかりません
0605名無しさん@そうだ選挙にいこう2018/10/11(木) 13:05:43.09
>>602
別にここでも大丈夫だよ
たまに初心者にもマウント取りたがるやつがいるけど、5ちゃんねるはそういう所だと思って相手にしなければいい
0608名無しさん@そうだ選挙にいこう2018/10/11(木) 19:38:58.03
マクドナルド伝説の店長が教える、最強店長になるために必要なこと
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=apxtSqxjw08&;t=13s
美容師の楽しさ再発見!やる気スイッチが入る働き方セミナー
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
0610名無しさん@そうだ選挙にいこう2018/10/12(金) 21:14:54.37
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

「検索と置換」の検索履歴もしくは置換履歴の削除方法を教えていただきたいです
0611名無しさん@そうだ選挙にいこう2018/10/13(土) 00:38:19.63
【1 OSの種類 】Win10
【2 Excelのバージョン】2016
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否

長い文章から特定の言葉だけを抽出し、その言葉をカウントする方法をお願いします。
例えばA1のセルに"あいうえお"が連続して入っている場合、"うおえ"の部分だけを
抜き取り、さらにその数を数えたい場合です
セルの部分は分割ではなく、A1のみに文章があるものとした場合です
よろしくお願いします
0614名無しさん@そうだ選挙にいこう2018/10/13(土) 08:17:10.36
VBAもPowershell おVBSも使わんというなら

1)置換でA1内の改行を削除する
2)置換でうおえをうおえ[改行]に置換数る
3)A1セルでF2押下後、文字列をドラッグ選択して右クリック→コピー
4)B1セルに貼る。B列に末尾うおえ区切られた文字が別々のセルに入る
5)Ctrl+↓で最後のセルの行数を見る
0618sage2018/10/13(土) 14:29:05.28
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

グラフのデータ元を自動更新(最下行6行)できずに悩んでおります
データ元を自動更新するのは、名前の設定でグラフの元データを選択しております
名前の設定では、(OFFSET(INDIRECT("A"&COUNTA(データ!$A$2:$J$A)+1),0,0,6,1))のようにしています
名前をPrint_areaにして関数が間違ってないのは動作確認済み
これを「元データ」のような名前にしてグラフの元データにするとうまくいきません
なにが悪いんでしょう?
0622sage2018/10/13(土) 19:24:04.12
>>619

投稿時の誤字でした
ただしくは
「(OFFSET(INDIRECT("A"&COUNTA(データ!$A$2:$A$100)+1),0,0,6,1))」
ですね
0625名無しさん@そうだ選挙にいこう2018/10/13(土) 23:35:01.06
>>616
総文字数 から "うえお"を除いた総文字数を引いて "うえお"×n回の総文字数が出るから、あとは"うえお"の文字数で割れば出現回数が分かるわけか

これ最初に気がついたひと頭いいな

普通の人なら検索繰り返したり、Forループ回して総当たりする方法しか思いつかない
0629名無しさん@そうだ選挙にいこう2018/10/14(日) 10:33:08.50
>>618
ぱっと答えられるところで言うとこの辺?

他で同じ名前が使われてるとか
→確認
「元データ」をタブやセルに書かれていた文字をコピーしてしまってるとか
→見えていないスペースが入っている可能性があるので直接「元データ」と入力

今度Excel触れるときにまた確認してみる
0631名無しさん@そうだ選挙にいこう2018/10/14(日) 19:42:17.91
【1 OSの種類 】Win10
【2 Excelのバージョン】2016
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否

コントロール最小値1〜最大値100の設定で、100パターンのデータを一つのシートでまとめているが、これらを一括でPDF化する方法を教えていただきたいです。
よろしくお願いします。
0633名無しさん@そうだ選挙にいこう2018/10/14(日) 20:19:56.11
>>631
>コントロール最小値1〜最大値100の設定で、100パターンのデータを一つのシートでまとめている
よーわからんが、IDを元にvlookupで引っ張ってきている感じ?>>632の通りvbaなら楽勝
0636sage2018/10/14(日) 22:57:28.10
>>634

>>635
ありがとうございました
indirectが使えない理由…は、よくわからないけど、使わない方向ということで了解です
indirect自体がぼんやりとしかわかってませんが(笑)
0639名無しさん@そうだ選挙にいこう2018/10/15(月) 09:24:36.34
送ってもらった漢字の名簿(xls)に、手作業でフリガナを追加しているのですが
もしかして元のファイルにかなデータがあるんではないかと思い
ホームタブの「ふりがなの表示」を押してみましたが出ませんでした。
PHONETIC関数を使っても漢字のまま表示されるだけでした。

しかし「ふりがなの編集」をするとそれらしいふりがなが出ました。
これはどういうことなのでしょうか?
0640名無しさん@そうだ選挙にいこう2018/10/15(月) 09:32:37.32
Excelが勝手にふりがなを予想する機能があるんだよ。
どこかにデータが残っているわけじゃないよ。
0641名無しさん@そうだ選挙にいこう2018/10/15(月) 10:13:34.44
なるほど、勝手に漢字を読んでるだけなんですね。

ではせっかくなので、ゼロから入力するのではなく、
この「編集」で表示されるものをベースにして入力することは可能でしょうか?
ちょっとやってみたところ、表示させて確定しても、スペースを足してみても消えてしまいました。
0642名無しさん@そうだ選挙にいこう2018/10/15(月) 10:46:50.80
>>641
漢字のセルを選択してShift+Alt+↑を押すと推測のふりがなが表示されるので、Enterで確定
確定したら消えたように見えるけどセルを右クリ「ふりがなの表示」で出てくる
0644名無しさん@そうだ選挙にいこう2018/10/15(月) 12:29:07.52
印刷でカラーにしたのにカラー印刷されないんですがどうすれば
0645名無しさん@そうだ選挙にいこう2018/10/15(月) 12:30:11.59
少しずつ印刷するとカラーになったりならなかったりです
0648名無しさん@そうだ選挙にいこう2018/10/15(月) 13:27:15.38
>>644
おそらくプリンターの問題でしょう。
他のプリンターで試してみるか、無理ならpdfプリンター(仮想プリンター)入れてみたら?
0649名無しさん@そうだ選挙にいこう2018/10/15(月) 16:22:25.09
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ

質問です。
2つのデータを1つにまとめる(統合?)方法を教えていただきたいです。
GPSログのデータと気温ログのデータなのですが、
同じ間隔でログを設定したのですが、GPSデータが微妙にずれていて、
直接コピペでまとめられません。
5秒間隔で、3秒以上ずれたら次のセルに〜といった感じに、
近い時間のGPSログに、気温ログを統合させたいです。
人力でやろうと思っても、6時間分くらいあるので難しいです。
よろしくお願いします。
0651名無しさん@そうだ選挙にいこう2018/10/15(月) 16:38:04.84
>>650
ifで3秒以上ずれた時にvlookupで近い値を探して入力するって感じでしょうか?
0652名無しさん@そうだ選挙にいこう2018/10/15(月) 16:50:11.33
>>651
lookup関数でダメですか?
データがどんな感じかイメージが難しいけど。
0653名無しさん@そうだ選挙にいこう2018/10/15(月) 18:23:17.77
ベースデータを温度表A、ぶつける先を場所表Bとして、Bを時間で降順にする

1. 表Bの時間に対して、次の時間との中間値を保持
例)A3に =ROUNDDOWN( (A1+A2)/2, 10)

2. 表Aの時間からMATCHの「以上」設定で 中間値を探す
※表Aの値以上の最小値の行が判る
=MATCH(表Aの時間, 表Bの中間値全部, 1)

3.その行の場所データを取る。

かなあ、VLOOKUPとかは近似値の上下どっちにあたるかランダムだし
0654名無しさん@そうだ選挙にいこう2018/10/15(月) 18:23:39.18
こんな?
時間 気温 INDEX(場所エリア,MATCH(時間,中間値エリア,-1),1)
11:00:00 28.3C 場所A
11:00:05 28.1C 場所B
11:00:10 27.9C 場所B
11:00:15 27.9C 場所C
11:00:20 28.4C ダミーED

時間 場所 RoundDown(値,10)
11:00:20 ダミーED 12:00:00
11:00:19 場所D 11:00:19
11:00:14 場所C 11:00:16
11:00:07 場所B 11:00:10
11:00:01 場所A 11:00:04
11:00:00 ダミーST 11:00:00
0655名無しさん@そうだ選挙にいこう2018/10/15(月) 18:28:12.53
うわ、基本仕様見落としてる。すまん馬鹿だった。場所と温度の親子関係逆じゃないか
>近い時間のGPSログに、気温ログを統合させたい
0656名無しさん@そうだ選挙にいこう2018/10/15(月) 18:55:14.94
>>649
気温データをちょっといじって
A列 元の時間-1.5秒
B列 元の時間+1.5秒
C列 気温
みたいな表にしとく

GPSデータの方でSUMIFSなりSUMPRODUCTなりで
A列<GPSの時刻<B列 になるデータを拾う

俺ならこうする
0659名無しさん@そうだ選挙にいこう2018/10/15(月) 21:27:59.85
>>632
>>633
回答ありがとうございます。
>>633のおっしゃる通りです。
無理そうですね。実はデータはもっとあるのでどうにかしたかったです。
0661名無しさん@そうだ選挙にいこう2018/10/16(火) 17:17:38.90
>>649
配列数式っての初めて使って、上下比較して近似値にVLOOKUPしかける式作ってみたけど。説明めんどい

単純に以上か以下固定しちゃって、一番近い値ならすっげえ簡単。つか一発、そうしちゃえ
0662名無しさん@そうだ選挙にいこう2018/10/17(水) 09:38:11.96
スレチだったらスマソ
Android版のExcelの「画像から表を作成」の機能ってまだ実装されてない?
office365のベータ入ってるけど見当たらない
0667名無しさん@そうだ選挙にいこう2018/10/17(水) 11:34:33.23
【1 OSの種類         .】 Windows7,10
【2 Excelのバージョン   】 Excel 2007,2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

北海道 青森県 秋田県
札幌市 青森市 秋田市
旭川市 弘前市 男鹿市
函館市 八戸市 大仙市
小樽市 三沢市 仙北市
千歳市 むつ市
室蘭市 平川市
石狩市

岩手県 宮城県 山形県
盛岡市 仙台市 山形市
滝沢市 石巻市 上山市
一関市 大崎市 東根市
花巻市 栗原市 天童市
遠野市       新庄市

上記のようなリストがあります。(このリストは画面をスクロールせずに全て見ることが出来きます)
A1にドロップダウンリストがあって
「北国A」を選択するとB1のドロップダウンリストには北海道の市が表示
「北国B」を選択するとB1のドロップダウンリストには青森県の市が表示
「北国C」を選択するとB1のドロップダウンリストには秋田県の市が表示
「北国D」を選択するとB1のドロップダウンリストには岩手県の市が表示

といった感じにしたいのですが、どのようにしたら良いのでしょうか?
厳密には北海道、青森県・・・山形県の部分は正式名称で、北国A、B・・・Dの部分は略称です
略称には正式名称の文字を含んでいなかったり、カタカナ表記で略しているのもあります
06686672018/10/17(水) 11:50:37.34
北海道 札幌市 旭川市 函館市 小樽市 室蘭市 千歳市 石狩市
青森県 青森市 弘前市 八戸市 三沢市
秋田県 秋田市 男鹿市 大仙市 仙北市
岩手県 盛岡市 滝沢市 一関市 花巻市 遠野市
宮城県 仙台市 石巻市 大崎市 栗原市
山形県 山形市 上山市 東根市 天童市 新庄市

このように大項目と言える部分がA列にあれば、スレ内の質問にあった手法で出来そうなのですが
リストをスクロールせずに1画面に表示させる為にA1、B1、C1、A10、C10、B10に大項目があるので使えない感じがします
他にも正式名称と略称の紐づけもあって、どのように手を付けたら良いのか困っています
0669名無しさん@そうだ選挙にいこう2018/10/17(水) 13:49:12.13
別シートに 668形式で値を保持してマスターデータに、ドロップダウンはそっちを利用する
667は見た目だけのシート、値は668シート参照してとってきてもいい
0675名無しさん@そうだ選挙にいこう2018/10/17(水) 20:54:27.14
>>672
まずワークシート全体の書式を(左右)中央揃えにする
A1 B1 C1を結合して4/1と入れて書式を m"月"にする
A2に=A1と入れて書式をdにする
B2に=A2と入れて書式をaaaにする
C2に=IF(MOD(A2,7)>1,"○","休")と入れる
A2 B2 C2を選択したらフィルハンドルをつかんでずるずると下に引っ張る
A B C列をコピーしてD E F列に貼り付け
D1に=DATE(YEAR(A1),MONTH(A1)+1,1)と入れる
D E FをコピーしてG H I列以降好きなだけ貼り付け
最後に調の日だけ手動で入力
0676名無しさん@そうだ選挙にいこう2018/10/17(水) 20:57:04.38
あ、あと31日の塗りつぶしも手作業でやって
自動でもできるけどちょっと手間がかかるから、手動のが早い
うるう年だけ注意して
0677名無しさん@そうだ選挙にいこう2018/10/17(水) 21:14:55.48
>>675>>676
凄い、そう言うの思い付かなくて…
たいへん参考になりました、ありがとうございます
後でご指摘通りに入力してみますね
0680名無しさん@そうだ選挙にいこう2018/10/18(木) 11:29:34.00
対象をファイルに保存してExcelでイメージを挿入・・
というボケが間に合わなかったー。

リモコンの電池カバーどうした
0681名無しさん@そうだ選挙にいこう2018/10/18(木) 15:41:01.76
1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
エクセルの印刷について教えてください。

かなりの分量の資料を作成しました。
横26行以上、縦80行以上、その全てのセルに何文字も入っている資料です。

完成はしましたが、ここから印刷して渡さないといけないので、今エクセルの印刷の設定をしてますが、苦戦してます。

例えていうなら、A4サイズ3枚で印刷したいとき、設定で縦3といれて、横を一枚にそろえるでやったところ、最初の2枚はギチギチですが、最後の一枚は上数10cmしか使ってないみたいな。
こうなるくらいなら、A4三枚で全部ギリギリまで使ってもう少し文字大きくしてほしいんです。そういう拡大をしたいんです。

このシートをA4(もしくはA3)用紙一杯のものを○枚の状態で作りたいのです。
仕事上ページの指定は厳しくないので、列が全部収まってれば行はいくらでも構わない、ページ数も増えてもまあいいという感じです。
しかし、印刷設定で列を1ページにおさめるとかやるとどうしても縮小されてしまいます。

こういう分量多いものをきれいに印刷する方法を何でもいいから方法教えてください。

最悪入力したものを削って内容簡素化するのもありです。
0682名無しさん@そうだ選挙にいこう2018/10/18(木) 15:49:35.88
列幅基準で縮小されるならその倍率にしないと全部の列入らないんじゃないの
それなのに拡大しろとか無茶言うなって話
0684名無しさん@そうだ選挙にいこう2018/10/18(木) 17:41:35.03
683やね。

横26項目に文字いっぱい?A4じゃ見えないと思う。A3横が無難

1.余白は手動で全部0か、タイトルなどにギリギリまで寄せる
2.プレビュ表示モードにする
3.行の高さを広げていき、丁度いい具合で止める

自分のやり方だけど、縦は自動(文字サイズ次第)のままで
表の右、印刷範囲外の列を選択して「フォント△」で大きくする。フォントサイズに合わせて行が広がる
広げてる見出し行とか、改行入りでもともと広がってる行とかには影響しない
0685名無しさん@そうだ選挙にいこう2018/10/18(木) 19:07:17.63
>>675
たびたびすいません、ご指摘通りに入力し
オートフィルでコピーしたけど連続でコピーされなくてオートフィルのオプションにも
「連続データで」の選択が無いのでA2のセルは「1」B2が「日」でしかコピー出来なくて困ってます
何が悪いのでしょうか?
0688名無しさん@そうだ選挙にいこう2018/10/19(金) 14:41:52.95
>>675
お手数ですが気が向いた時でいいので
IF(MOD(A2,7)>1,"○","休")が平日○土日休になる仕組みを教えて頂けますか?
0689名無しさん@そうだ選挙にいこう2018/10/19(金) 15:21:45.10
日付の内部データは1900/1/1 = 1、からの連番なので
7で割った余りが0なら土曜日、1なら日曜日 になる。水曜休みなら=4にする
今日2018/10/19は43392

※1900/2/28以前は1日ズレる問題はある、がどうでもいい
0691名無しさん@そうだ選挙にいこう2018/10/19(金) 20:20:30.39
>>689
なるほど土曜日が7の倍数だから割ると0
日曜が8の倍数だから余り1になるわけか
ありがとうございます、納得しました
0695名無しさん@そうだ選挙にいこう2018/10/19(金) 22:08:44.84
>>690
それも良いかも、少しは自身の頭で考えないと為にならないし
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ヶ月分指定するのもありかな。閏年の考慮は必要だけど、式を見ただけで誰でもわかると思う
0720名無しさん@そうだ選挙にいこう2018/10/22(月) 15:34:28.57
年間カレンダーを作成して特定の日にちを空欄にし
まとめて「休」の字を入れるのに何かうまいやり方無いですか?
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
0745名無しさん@そうだ選挙にいこう2018/10/23(火) 19:15:01.88
て、マクロにして毎回変わる行数へ使えるようにしたいのでは無かったのかw
1回で良ければ$付けてコピーすりゃ良い
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は入れないな。
あいつらファイル参照や自動作表どころか単純な関数すら別のブックにシートコピーとかやって効かなくして壊れたと騒ぐ。
0776名無しさん@そうだ選挙にいこう2018/10/25(木) 12:37:15.35
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で出力したいのですが
よろしくおねがいします。
行数は日々変動いたします。
07927902018/10/28(日) 21:44:41.92
>>791
具体的にデータを作りました

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

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

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

アドレスではなくテーブル名と列名を使った構造化参照での回答がありがたいです
07957902018/10/28(日) 22:17:08.21
>>794
これと同じ操作がテーブル違い列違いで30テーブルくらいあるんですよ
07967902018/10/28(日) 22:19:24.91
そして最低週1回以上のCSVデータの更新が必要でして
0797名無しさん@そうだ選挙にいこう2018/10/28(日) 22:21:45.86
テーブルをどうやって指定するかとか、csvファイルの名前や保存場所をどうするかとか、色々ある。
inputboxで指定するのか、シートにテーブルは1つと決まっていてそれを自動で取得するのかとか。
自分で作らないと思うようにできなさそう。
0799名無しさん@そうだ選挙にいこう2018/10/28(日) 22:40:08.59
【1 OSの種類         .】 Windows** 7
【2 Excelのバージョン   】 Excel** 365(体験版みたいなやつ)
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

今まで24型モニタDPI=100%で印刷していたのを
27型モニタDPI=117%で印刷しようとしたところ、印刷範囲がずれてました。

原因はDPIみたいで、最初に作ったのがDPI=100ならば、それが基準になるので
新しい環境に変えてもDPI=100%しなければならないとの事で
これを踏まえての質問があります。

DPI=100%以外の数値でも、印刷範囲をずれなくする方法を
液晶モニタを変える 解像度を変える 以外であれば教えてください

1年に十数ファイルも印刷するので、特定のファイルにのみ効果を及ぼす方法は駄目です。一度設定すると今あるファイルは勿論、今後作成するファイルにも
影響する方法が望ましいです。

Windows10にする Excel2019にする 特定のシェアウェア フリーウェアを導入する等、あらゆる方法をOKとします。
0800名無しさん@そうだ選挙にいこう2018/10/28(日) 22:48:30.75
>>790
Sub TEMP()
Dim TBL As ListObject
Dim RowClient As ListRow

Set TBL = Worksheets("Sheet1").ListObjects("Table1")

Open "D:\TEMP.CSV" For Output As #1

Print #1, TBL.HeaderRowRange(3) & "," & TBL.HeaderRowRange(5)
For Each RowClient In TBL.ListRows
Print #1, RowClient.Range(3) & "," & RowClient.Range(5)
Next

Close #1
End Sub
08027902018/10/28(日) 23:49:18.82
>>793
>>800
ありがとうございます 
いただいた情報を参考にしなが自分なりに作成してみます
0803名無しさん@そうだ選挙にいこう2018/10/29(月) 10:44:11.51
>>790>>795 について
全シートの3・5列をCSVで出す。より
全シートを1つにまとめたシートかCSVを作る マクロを作っておいたほうが将来的に楽よ

シート名,行番号,A列,B列・・ の1つにまとまったものがあれば
今回の要望も手作業のコピペ+出力で足りる可能性がある
0804名無しさん@そうだ選挙にいこう2018/10/29(月) 10:53:59.87
>>799
ディスプレイの設定が印刷に関わる?
Excelのバージョン、OS、プリンタとプリンタドライバは同じなのかな。

印刷範囲の設定がちがちにして、余白に余裕があれば、PC変えても大概ズレないが
環境により印刷可能サイズが狭くなるので、ギリギリの%指定で作ってるとたまにはみ出す

A. もし印刷だけの資料なら、PDFにしてしまったほうが確実
0805名無しさん@そうだ選挙にいこう2018/10/29(月) 11:51:46.27
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ(マクロの記録程度なら可)
【4 VBAでの回答の可否】 可能であれば使わない方法で、使わなければ解決しないようであれば使った回答をお願いします。

直撮りで申し訳ないのですが、画像のような表で、17行目の@〜Eに、空白を除き、各行ごとに比較して、各列(H31〜H26)に最小値が入っている個数をカウントしたいです。
例えば、
@は10行目の1908と16行目の1913の2個が最小値なので「2」
Aは14行目の1805が最小値なので「1」
Bは最小値が無いので「0」
と表示させたいです。
COUNTIFやMINを使ってやってみたのですが、うまく行きません。ご教授よろしくお願いします。

https://i.imgur.com/jd1K1JD.jpg
0806名無しさん@そうだ選挙にいこう2018/10/29(月) 11:58:29.79
>>805
追記
たとえば@に入る関数を示していただければ、A〜Eについては引数を変える程度はできますので、1つ例として挙げていただくだけで結構です。
よろしくお願いします。
0808名無しさん@そうだ選挙にいこう2018/10/29(月) 13:18:49.24
別シートで、最小値かどうかを1,0で保持する
そこの縦で1のカウントをとる

Sheet2のA2に =IF(A2=MIN($A2:$H2),1,0) で票の範囲全部にコピー
@〜には=COUNTIF(A$1:A16,1)

いっぱいシートがあったり、行数がちょくちょく変わるのであれば。。。困ったな
0811名無しさん@そうだ選挙にいこう2018/10/30(火) 00:07:43.93
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

2019から搭載されたideasって機能が見当たらないのですが、
表示させるにはなにか操作が必要なのでしょうか?

https://i.imgur.com/exstLyf.png
shareの下辺りに出ると思うのですが
0814名無しさん@そうだ選挙にいこう2018/10/30(火) 02:04:22.42
AIとか搭載されたのか、知らなかった。

そのうち「先月と同じ報告書」って入力したら同様の書類全部作ってくれるようになるな
08157992018/10/30(火) 02:18:29.75
>>801
えー マイクロソフトは何年も前から仕様です で済ませてるし
全然改善しようしないですよね。VBAはよく判らない><

>>804
液晶モニタのみ買い換えたんですよ 他は同じです
毎日の売り上げを基調してるんで、pdfオンリーではないです><
0819名無しさん@そうだ選挙にいこう2018/10/30(火) 12:56:23.48
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい(コピペして一部編集して使うくらいのレベル)
【4 VBAでの回答の可否】 可

表の構成が同じSheet1とSheet1(1)があります
最終行はSheet1とSheet1(1)で違います
A列をA5から順番に1つ1つ下に見てA列が一致するB列以降をSheet1(1)からSheet1に
B列以降の列を値で貼り付けしたいです
B列からどこまでコピペするかは変えるかもしれないので簡単に変えられるようにしておきたいです
要はvlookupのようなことがしたいですが
vlookupだと式を1列ずつコピーして値で貼り付けになり時間かかるので
値でいきなり貼り付けたいです
0820名無しさん@そうだ選挙にいこう2018/10/30(火) 17:24:06.12
>>819
Sub 探すで()
Dim Y1 As Long
Dim Y2 As Long
Dim X As Long
Dim r As Range
Const START_ROW As Long = 5
Const COPY_MAX_COL As Long = 20

On Error GoTo eH
Application.ScreenUpdating = False
For Y1 = START_ROW To Sheet1.Cells(START_ROW, 1).End(xlDown).Row '、空白でストップ
Set r = Sheet2.Columns(1).Find(Sheet1.Cells(Y1, 1).Value, , , xlWhole) 'A列で探す
If Not (r Is Nothing) Then
Y2 = r.Row
Sheet2.Range(Sheet2.Cells(Y2, 2), Sheet2.Cells(Y2, COPY_MAX_COL)).Copy
Sheet1.Cells(Y1, 2).PasteSpecial xlPasteValues
End If
Next Y1
eH:
Application.ScreenUpdating = True
End Sub
0822名無しさん@そうだ選挙にいこう2018/10/30(火) 18:47:42.15
>>820-821
できました!
アレンジして使いたいと思いますが質問あります

Const START_ROW As Long = 5は5行目から須田とかと思うのですが、
Const COPY_MAX_COL As Long = 20は横幅は20列がコピーするMAXという意味でしょうか?

塗りつぶした色付きでコピーすることできるでしょうか?
0823名無しさん@そうだ選挙にいこう2018/10/31(水) 03:01:16.47
シートAに
シートBのB列からシートAのAB9と同じ文字の行を探し
シートBのその行のCQ列の文字をシートAに入力したいのですか

その計算式を
=IF(ISERROR(VLOOKUP($AB$9,シートB!$B:$CQ,85,FALSE)),"",IF(VLOOKUP($AB$
9,シートB!$B:$CQ,85,FALSE)="","",VLOOKUP($AB$9,シートB!$B:$CQ,85,FALSE)))
としたのですが

なぜか
CQではなくCH列の文字を入力します

シートAに
シートBのB列からシートAのAB9と同じ文字の行を探し
シートBのその行のCQ列の文字をシートAに入力したいのですか
その計算式を教えてください 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
0827名無しさん@そうだ選挙にいこう2018/10/31(水) 06:33:34.51
=L26*U26が
L26とU26の値が無いの場合は

♯VALUE!
になってしまいます

これを♯VALUE!ではなく空白にするには
=L26*U26をどうすれば良いですか?
0830名無しさん@そうだ選挙にいこう2018/10/31(水) 11:36:21.00
>>822
値でコピーしたいというので値コピーだけにしちゃった。
VLOOKUPにならないようにってことね

全コピーでOKなら 中央を差し替え。
If Not (r Is Nothing) Then
Y2 = r.Row
Sheet2.Range(Sheet2.Cells(Y2, 2), Sheet2.Cells(Y2, COPY_MAX_COL)).Copy Sheet1.Cells(Y1, 2)
End If
08318222018/10/31(水) 17:51:04.04
>>830
できました!
ありがとうございます、完璧です
0837名無しさん@そうだ選挙にいこう2018/11/01(木) 23:19:17.74
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 2010
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 否

B列にコードが並んでいて、それが正しいパターンかをC列に○×で表示させたいです。
正しいパターンは半角7桁で最初の3桁が英字(大文字)で残り4桁は数字です。

どうすれば条件通りに○×をつけられますか?
0840名無しさん@そうだ選挙にいこう2018/11/02(金) 01:18:41.21
>>837
=
IFERROR(
IF(
AND(
AND(CODE(MID(A1,1,1))>64,CODE(MID(A1,1,1))<91),
AND(CODE(MID(A1,2,1))>64,CODE(MID(A1,2,1))<91),
AND(CODE(MID(A1,3,1))>64,CODE(MID(A1,3,1))<91),
AND(CODE(MID(A1,4,1))>47,CODE(MID(A1,4,1))<58),
AND(CODE(MID(A1,5,1))>47,CODE(MID(A1,5,1))<58),
AND(CODE(MID(A1,6,1))>47,CODE(MID(A1,6,1))<58),
AND(CODE(MID(A1,7,1))>47,CODE(MID(A1,7,1))<58)
),"○","×"),
"×")

>>838
検討中
実際に決まってるのはjsの方
0843名無しさん@そうだ選挙にいこう2018/11/02(金) 04:19:57.05
>>840
IFERRORとCODEを使ってる理由、ANDを二重にしている理由の解説きぼん
俺はこんなんでもいいかと思ったんだが、だめなんだろうか、あんまりEXCELに詳しくないんでよくわからん
=IF(AND(LEN(B1)=7,
"A"<=MID(B1,1,1),MID(B1,1,1)<="Z",
"A"<=MID(B1,2,1),MID(B1,2,1)<="Z",
"A"<=MID(B1,3,1),MID(B1,3,1)<="Z",
"0"<=MID(B1,4,1),MID(B1,4,1)<="9",
"0"<=MID(B1,5,1),MID(B1,5,1)<="9",
"0"<=MID(B1,6,1),MID(B1,6,1)<="9",
"0"<=MID(B1,7,1),MID(B1,7,1)<="9"),"○","×")
0844名無しさん@そうだ選挙にいこう2018/11/02(金) 04:48:18.83
>>843
文字列そのままで比較は怖くて使わないだけ。vbaで挙動が変わったりするしね
でも今回みたいにA-Z、0-9ぐらいなら使っても問題なかったわ

>>840よりも>>843の方が良いと思う
0846名無しさん@そうだ選挙にいこう2018/11/02(金) 07:19:44.95
数字判定って少数や指数認めるので記号不可はまとめて判定しづらい
AAA-987 BBB12.3 CDE+456 ZZZ10スペース2つ
などが抜ける
0849名無しさん@そうだ選挙にいこう2018/11/02(金) 11:02:42.42
TRIMとかINTとFORMATあたりを組み合わせて0000から9999に入ってるかどうか調べる手も考えられるけど、たぶん1文字ずつ判定の方が式が簡単になるんと違う?
誰かヒマなやつ、逃避したいやつ、考えてみてくれ
0850名無しさん@そうだ選挙にいこう2018/11/02(金) 11:56:38.81
みんないつもVBAでやってて
あえて数式で文字コード以外になんかあったっけ、って考えた人が結構居そう

・・0000〜9999のデータにMATCHを・
0852名無しさん@そうだ選挙にいこう2018/11/02(金) 15:56:12.56
=AND(
LEN(TRIM(MID(A2,4,4)))=4,
TEXT(VALUE(MID(A2,4,4)),"#")=MID(A2,4,4),
TEXT(INT(MID(A2,4,4)),"#")=MID(A2,4,4),
TEXT(ABS(MID(A2,4,4)),"#")=MID(A2,4,4)
)

>>840が一番だよパトラッシュ・・抜け道あるかもわからん
08548532018/11/02(金) 16:35:04.01
=AND(LENB(MID(A1,4,4))=4,ISNUMBER(MID(A1,4,4)*1))
0855名無しさん@そうだ選挙にいこう2018/11/02(金) 16:41:19.43
>>851
よく気づくねぇこんな事。内部的にどういう処理してるんだろ

>>852
AAZ0001
でだめだった

>>853-854
それは
AAA-234
でも通るって上に出てるじゃん

正規表現使いたい・・・使いたくない?
まぁあんまりテクニカルな事すると漏れが出てくるね
0857名無しさん@そうだ選挙にいこう2018/11/02(金) 19:13:57.78
>>856
どうかな?と言われても。検証は自分でやって
そこまでテクニカルにすると逆にしんどくなるだけだとは思う。俺ならしない
0859名無しさん@そうだ選挙にいこう2018/11/02(金) 23:04:18.24
>>858
あーlen()いるのか
もうやだー

=
IFERROR(
IF(
AND(
len(a1)=7,
AND(CODE(MID(A1,1,1))>64,CODE(MID(A1,1,1))<91),
AND(CODE(MID(A1,2,1))>64,CODE(MID(A1,2,1))<91),
AND(CODE(MID(A1,3,1))>64,CODE(MID(A1,3,1))<91),
AND(CODE(MID(A1,4,1))>47,CODE(MID(A1,4,1))<58),
AND(CODE(MID(A1,5,1))>47,CODE(MID(A1,5,1))<58),
AND(CODE(MID(A1,6,1))>47,CODE(MID(A1,6,1))<58),
AND(CODE(MID(A1,7,1))>47,CODE(MID(A1,7,1))<58)
),"○","×"),
"×")
0861名無しさん@そうだ選挙にいこう2018/11/03(土) 00:27:18.10
>>837
作業セルを2つ作って、一つはアルファベット、もうひとつは数字を入れておく
それを使って1文字ずつfind関数に入れていって、全部足したのがエラーになるか判定する
どうかな?
0863名無しさん@そうだ選挙にいこう2018/11/03(土) 06:19:10.93
大文字と小文字の問題がなあ、無視してくれる関数があるから
UPPERして同じかどうか判定するか
AAA〜ZZZはセルの列アドレスに変換してどうにかならんかな

あと、元の質問はB列の判定だから、サンプル上げるやつはA1じゃなくてB1と書いた方が

>>859
ANDを入れ子にする必要はないだろ
0865名無しさん@そうだ選挙にいこう2018/11/03(土) 06:33:40.04
=IF(AND(
LEN(B1)=7,
CODE(MID("AAA0000",{1,2,3,4,5,6,7},1))<=CODE(MID(B1,{1,2,3,4,5,6,7},1)),
CODE(MID(B1,{1,2,3,4,5,6,7},1))<=CODE(MID("ZZZ9999",{1,2,3,4,5,6,7},1))
),"○","×")

=IF(IFERROR(AND(
LEN(B1)=7,
FIND(MID(B1,{1,2,3},1),"ABCDEFGHIJKLMNOPQRSTUVWXYZ"),
FIND(MID(B1,{4,5,6,7},1),"0123456789")
),),"○","×")
0870名無しさん@そうだ選挙にいこう2018/11/03(土) 12:21:50.19
何がすごいってめちゃくちゃテクニカルなのに可読性が全く損なわれてない事
(もちろん配列が読める前提)
正規表現なしでここまで出来るとは恐れ入った
0872名無しさん@そうだ選挙にいこう2018/11/04(日) 20:59:26.89
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2017
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

VBAについての相談です。

『現在の選択セルがA〜C列の、何れか1セルである』 時に、
キーボードのZ, X, C のそれぞれのキーを押した際、通常の文字入力を行わずに
『Zキーを押したら現在選択中のセルと同じ行のA列のセルを選択し、"〇"を入力して1つ下のセルを選択』
X、C についても同様に
『Xキーを押したらB列のセルに"×"を入力して1つ下に』
『Cキーを押したらC列のセルに"△"を入力して1つ下に』
としたいのですが、どういうコードを書けばいいのでしょうか?

以上、詳しい方ご教授ください・・・
0873名無しさん@そうだ選挙にいこう2018/11/04(日) 22:32:50.67
単純な1キーの監視はAPI使わないと無理じゃないかな
[ctrl]+[x]とかでいいならOnKeyメソッドでいけるんじゃない
位置判定はActivecellのaddressやcolumnで
08748722018/11/05(月) 00:08:33.99
なるほど、[ctrl]+[x]でも大丈夫です。
0875名無しさん@そうだ選挙にいこう2018/11/05(月) 15:49:11.70
【1 OSの種類         .】 Windows10と7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

教えてください。
一般的に、モジュールの名前やフォームの名前を、全角の日本語にするのはリスクがあるのでしょうか?
現在、module1などのデフォルト名と、フォームはF01などの半角英数字のみの名前にしているのですが。
数が増えてくると半角数字+日本語という名前にしたいな、と思っています。
0877名無しさん@そうだ選挙にいこう2018/11/05(月) 16:17:56.46
ぶっちゃけ自由ですが
1に判りやすさ 2に使いやすさ 3に判りやすさ
 mod各種定義 frm01メニュー画面 frm11処理1メイン画面 mod○○系演算処理

VBAコード内で頻繁に使うのであれば、英字オブジェクトのほうが良いですかね、

PG畑の人は育った畑のネーミングルールになると思いますが
プレフィクスに前3文字で種類ぐらいあるといいかな
先頭数字は無理です
0878名無しさん@そうだ選挙にいこう2018/11/05(月) 16:31:15.71
>>872
シートモジュールに
Sub Sample2()
Application.MacroOptions Macro:="Sample1", ShortcutKey:="j"
End Sub

標準モジュールに
Sub Sample1()
MsgBox "aaa"
End Sub

これでctrl+Jでメッセージボックスが出る

どうでもいいけどこれ、「1」「2」「3」
とか入力してあとで置換した方が早くない??
作ってる途中で無意味な気がしてきたんだけど

>>875
一年ぐらい前。accessのVBAで、functionかフォームの
先頭の文字が日本語だとマクロが動かなくなるという絶望的なアプデがあった
他の人が使うファイルなら、避けれるなら避けたほうが良いと思う
自分が使うものならその場で書き換えればいいだけなので、まぁなんとでもなるからどっちでも良いと思う
0880名無しさん@そうだ選挙にいこう2018/11/05(月) 16:50:02.56
自分で入力するリストとかは、○と×はoとxで入力しちゃうな。 あとはooやmやら決めて
キー入力に余計なことやると、文字入力しても影響受けるからお勧めできない
0883名無しさん@そうだ選挙にいこう2018/11/05(月) 18:43:27.32
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ (上司に相談したら駄目だと言われた)
【4 VBAでの回答の可否】 否

口で説明するのが難しい場合、グーグルのスプレッドシートを貼り付けても大丈夫でしょうか?
0885名無しさん@そうだ選挙にいこう2018/11/05(月) 19:27:30.91
>>884
ありがとうございます

https://docs.google.com/spreadsheets/d/1xhIJYvPHB1Th8T28FMbjN527rmZhTbz_lsW-yVEtUUE/edit?usp=sharing
シートを跨いで、データを入れて、最終的には表にしたかったのですが
参照方法を忘れてしまい、処理が出来ません

条件
・実際には1万件近くのデータがあり、来月には更に1万件、来年の今頃にまた1万件来るので
 データのシートに情報を投げ入れて、少し弄る程度で表が横に増やせるようにしたい
・該当する月に取引がない場合は、0を入れたい(nullでも可)

お願いします
0887名無しさん@そうだ選挙にいこう2018/11/05(月) 19:40:08.54
>>883
よくわからんけど
> 【3 VBAが使えるか    .】 いいえ
> 【4 VBAでの回答の可否】 否(上司に相談したら駄目だと言われた)
じゃねーの?
0890名無しさん@そうだ選挙にいこう2018/11/05(月) 19:47:37.64
>>878
エクセルでも起きたよ。ファイルが破損して完全に死ぬから古いエクセル残してない人は積んだ。
ちなみにモジューム名の末尾全角がアウト
0891名無しさん@そうだ選挙にいこう2018/11/05(月) 22:26:11.53
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

すみません、式を教えてください。
例えば商品があって
A列    B列
商品    合計
にんじん  0
バナナ   0
りんご    0
味噌汁   0
にんじん   1
団子     0
バナナ    1
にんじん   2
以下同じように続く・・・

というように同じ商品が出たら合計が1つずつ加算される関数を教えてください。
最初は0にしたいんです。次が1で同じのを入力すれば1ずつ増えるようにしたい。
よろしくお願いします。
0896名無しさん@そうだ選挙にいこう2018/11/06(火) 11:05:03.80
>>890
も・・モジュール名だけだよな、きっと、
personalのプロシージャはめっちゃ日本語だらけだ。 mac背景色赤()とか
モジュール名は気を付けよう。
0899名無しさん@そうだ選挙にいこう2018/11/06(火) 15:04:21.88
漢字で書ける内容なら文字数(バイト数)が減って行が短くできるのが日本語のメリットだな
カタカナで書くぐらいなら英語使うけど
0900名無しさん@そうだ選挙にいこう2018/11/06(火) 18:29:51.68
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

A1の文字列の中で部分一致vlookupで別表を使いC1に表示する文字列を変えてます

例 A1:係長   C1:賞与係長級
しかし、昇格が有った場合、その時のみ
A:1 係長→課長 C1:賞与課長
になるようにしたいです。
vlookupで使う表には係長も課長もそれぞれあるため、係長で一致して引っ張ってきちゃいます
条件付き書式のように上位、下位の優先度みたいな感じの設定は出来ないんでしょうか?
もしくは「部分一致で2つ以上マッチした場合、後者・2番目を使うとかできませんか
現状A1を分けることは出来ません
0908名無しさん@そうだ選挙にいこう2018/11/06(火) 22:40:55.03
>>901
説明が拙くてすいません

>>903
ありがとうございます
仰る通りです

同じセルに設定された違う検索値が並んでる状態で
検索値を選べないのか、優先順位をつけれないのか、ということです

>>904
ありがとうございます
課長だけで特命課長、担当課長などあって、
係長も同様、主任、副主任と、とんでもないことになるんです(´Д`;)

>>905
ありがとうございます
はじめそれで作って部長に出したのですがそこを変えるなと言われました(´Д`;)
理由は謎です
0909名無しさん@そうだ選挙にいこう2018/11/06(火) 22:43:08.28
>>908
追記
課長だけで7つぐらいカテゴリが有ります
係長、主任、副主任と下がるごとにもっと増えていきます
他社との吸収合の歴史の名残だそうです・゚・(ノД`)・゚・。
0910名無しさん@そうだ選挙にいこう2018/11/06(火) 22:53:42.42
>>908
>>905だけど、ファイル見た?
区切るって複数セルに入れるんじゃなく、計算式の途中でfind()で分解してるだけだよ
A3に「係長→課長」が入ってるけど、「課長」で検索するようになっている
0913名無しさん@そうだ選挙にいこう2018/11/07(水) 01:44:41.49
仕様はこうで良いのかな
・矢印で分割された最後の名称をキーにする
・賞与+キーをもとに、1番上の行を取得する。矢印の数は0または1のみ

匿名課長級があるなら課長の検索が出来ないので前付けた
課長代理もあったら、後ろもルール要る
0915名無しさん@そうだ選挙にいこう2018/11/07(水) 11:41:08.70
で、運用始めたらこんなデータもあるのがわかるんだよな、きっと

課長→暫定据え置き、課長→仮決定)部長級、課長(営業第一)
賞与特命課長補佐級、賞与課長補佐級、賞与課長級査定上
賞与特命課長級査定下、賞与冬課長級
0918名無しさん@そうだ選挙にいこう2018/11/08(木) 19:02:55.45
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】可

ものすごく大雑把で申し訳ありません。スクショしてあるような上記、横並びのデータを下記、3列の表に入れて印刷したい場合、どういった方法がよろしいでしょうか。
上記のデータは、いつも100程ありExcelデータでもらいます。そのため表だけのシートを別に作り、最終的には印刷して商品に貼り付けたいです。
https://i.imgur.com/pw3V7mJ.jpg
0921名無しさん@そうだ選挙にいこう2018/11/08(木) 19:49:39.07
横1列で来るリストを
印刷しやすい数で複数行に並べたいってことでしょう
カレンダーを一覧から7日区切りに変更したいとか、あるある

折り返しの数が決まってるなら参照を用意したシートに貼り付けるだけ だが

縦並びにして行数が データ数/3てことになると・・・
手作業で三分割して行列変えて貼り付け(おいw
0922名無しさん@そうだ選挙にいこう2018/11/08(木) 19:56:00.57
>>918
100列のデータを34行×3列にしたいってこと?
100列固定なら
C7: =C3
D7: =D3
E7: =E3
C8: =F3
D8: =G3
E8: =H3
C9: =I3
D9: =J3
E9: =K3

とひたすら数式入れたシート作って、貰ったデータをC3からに値貼り付けすればいいかと
0923名無しさん@そうだ選挙にいこう2018/11/08(木) 20:04:04.21
1列目:表示行が、INT((件数+2)/3)以下なら出力
データ1からOFFSETで、表示行-1分 列移動したデータ
2列目:表示行が、INT((件数+1)/3)以下なら出力
データ1からOFFSETで、INT((件数+2)/3) + 表示行-1分
3列目:表示行が、INT((件数)/3)以下なら出力
データ1からOFFSETで、件数 - INT((件数)/3) + 表示行-1分

計算式、これでいいのかな・・えーとうーんと。なんかExcel重いから作るのよろしく
0929名無しさん@そうだ選挙にいこう2018/11/09(金) 16:30:37.41
>>918
Sub SubC3Right_to_C7vertical3Line()
Dim rSrc As Range '取得データ
Dim cntX As Long '1列の最大数
Set rSrc = Range(ActiveSheet.Range("C3"), ActiveSheet.Range("C3").End(xlToRight))
cntX = Fix((rSrc.Count + 2) / 3)

Dim N As Long
For N = 1 To rSrc.Count
ActiveSheet.Cells( _
7 + ((N - 1) Mod cntX), _
3 + Int((N - 1) / cntX)).Value = rSrc(N).Value
Next
End Sub
0930名無しさん@そうだ選挙にいこう2018/11/09(金) 19:08:19.34
難しい質問ばかりの中、恥ずかしいのですが教えて下さい。

【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 ほんの少し
【4 VBAでの回答の可否】 可

データ入力したい行を画面の一番上にして作業をしたいのですが、

例えばC5セルを選択している時に、C5セルを画面の一番左上にするショートカットはありますか?左上が無理なら画面の一番上でもよいです。

スクロールバーのボタンをマウスで押すのが面倒なので、どなたかご存知の方がいらっしゃったら教えて下さい。宜しくお願い致しますm(._.)m
0931名無しさん@そうだ選挙にいこう2018/11/09(金) 19:17:17.31
>>930
・ウィンドウ枠の固定。AB列と1-4行目を非表示にすると良いかも
・新しいウィンドウを開く
どちらか好きな方で実現できるよ
0932名無しさん@そうだ選挙にいこう2018/11/09(金) 19:28:35.45
VBAが使えるなら、Application.Goto ActiveCell, Trueでいけるんじゃないかな
それにショートカットキー割り当てとけばいけるにはいける
0935名無しさん@そうだ選挙にいこう2018/11/09(金) 20:08:27.42
>>933
目から鱗!
思いつきませんでした、すごい!
0936名無しさん@そうだ選挙にいこう2018/11/10(土) 12:35:24.10
教えてください。
エクセル2013です。

普段、クイックアクセスツールバーに「値の貼り付け」などを設定しており、alt+テンキーのショートカットキーで使っています。

同じようにクイックアクセスツールバーからショートカットキーで

・行列を入れ替えて値の貼り付け
・値を乗算して貼り付け

する方法はないでしょうか?
0937名無しさん@そうだ選挙にいこう2018/11/10(土) 12:50:15.04
>>936
alt→H→V→S→M(乗算貼り付け)
Alt→H→V→S→E(行列を入れ替えて貼り付け)

それかマクロにしてショートカット登録をするか。Undoができなくなるけど。
0938名無しさん@そうだ選挙にいこう2018/11/10(土) 21:44:38.71
すいません、教えて下さい。
例えば
2018-11-09|
     |朝食|Aさん
     |昼食|Bさん
     |夕食|Cさん
2018-11-10|
     |朝食|Bさん
     |夕食|Aさん
2018-11-11|
     |朝食|Aさん
     |昼食|Eさん
     |夕食|Dさん
こういう表があるとします。
1年間続いています。
11-10の昼食がぬけてます。
ほかにも抜けているとして
その部分にセルを自動で挿入
して色付けする方法はないで
しょうか?
0940名無しさん@そうだ選挙にいこう2018/11/10(土) 22:01:42.40
VBA使わない方法としては 
2018-11-09 朝食
2018-11-09 昼食
2018-11-09 夕食
2018-11-10 朝食
2018-11-10 昼食
2018-11-10 夕食
っていう抜けのない表をつくっておいて、そこに元の表からVLOOKUPで内容を持ってくる
0942名無しさん@そうだ選挙にいこう2018/11/10(土) 22:18:48.19
た・・担当者か。 名前が別のなにかだと思ってしまった

日付に抜けが無いと仮定。
テーブルの挿入からピボットテーブルで集計
行を日付、列を食事、値をMAX(名前)。 にすると日毎の表になります
0944名無しさん@そうだ選挙にいこう2018/11/10(土) 22:30:17.11
すいません、再度
2018-11-09|
   08:31|朝薬|Aさん
   13:21|昼薬|Bさん
   19:11|夕薬|Cさん
2018-11-10|
   09:00|朝薬|Bさん
   18:45|夕薬|Aさん
2018-11-11|
   08:45|朝薬|Aさん
   13:05|昼薬|Eさん
   18:55|夕薬|Dさん
こういう表なんです。
何かといいますと、ある人に
薬を飲ませた時間と担当者の表です。
11-10の昼は飲ませてるですが入力
漏れです。漏れはほかにもありまし
て、それを見つけたい、と。
0949名無しさん@そうだ選挙にいこう2018/11/10(土) 22:49:43.90
今あげましたサンプルの最後に夕食後薬が二重で
入力してますが、それも間違いです。漏れと二重と
二種類の間違いがあるのです。
0952名無しさん@そうだ選挙にいこう2018/11/10(土) 22:54:37.80
>>945
作業列使えば、条件付き書式でいけるような気がする。
0953名無しさん@そうだ選挙にいこう2018/11/10(土) 22:56:10.28
欲を言えば漏れ、2重入力を別のシートに抜き出して一覧にできたらベストです。そしてそれを印刷して修正すると。
こういうのってVBAをかじれば簡単にできるんでしょうか?それなら勉強したいと思います。
0955名無しさん@そうだ選挙にいこう2018/11/10(土) 23:13:41.29
VBA無しだと行挿入不可だから面倒だな
別シートに数式びっしり配置して元データを表示するしか無いのか?
日付の差が1か調べ
食後の時間差も調べる必要がある
0956名無しさん@そうだ選挙にいこう2018/11/10(土) 23:13:47.83
考えて頂いてるのに申し訳ないのですが、これですと元のデータと見比べることになり、修正時間が増えてしまいそうです。
理想は「○月○日昼なし、夕2重」みたいに、それを見てそのまま修正できる形です。
0957名無しさん@そうだ選挙にいこう2018/11/10(土) 23:17:24.90
基本ロジックは
行の上から処理する。
A列が空白の時はB列C列の内容をハッシュ配列に格納し続ける
A列の次の値にぶつかったらハッシュ配列内の朝薬、昼薬、夜薬の出現回数をチェックする。
各1で揃わなければエラー処理、揃ってればOK
配列初期化
のループ。

日付が連番や、投薬者の抜けもチェックするならもっと細かくなる
0959名無しさん@そうだ選挙にいこう2018/11/10(土) 23:20:35.70
過去データをいぢるのは改竄ととられてもしょーもない事態に陥るがいいのか?
それより、今後・将来のことを見据えてキチンとした欠損の無い入力表を整えて
漏れの無い落ちの無い、かつ入力し易い環境をつくるのが
いっちゃん大事なんじゃないのか?

毎月末に翌月分の表を作りたい とかいう方が百万倍誠意あると思えるがな
0960名無しさん@そうだ選挙にいこう2018/11/10(土) 23:21:10.68
投薬者の抜けは問題ありません、あくまで、その一日にそろっているかどうかだけです
0961名無しさん@そうだ選挙にいこう2018/11/10(土) 23:23:01.42
1/1
朝 投薬 山田
昼 投薬 鈴木
版 投薬 
1/2
朝 投薬 
昼 投薬 
版 投薬 

最初からこういう表にしておいて名前w入れるだけにすれば二重はなしい漏れチェックも簡単にできるのでは?
0963名無しさん@そうだ選挙にいこう2018/11/10(土) 23:25:25.21
>>959
全くその通りです。元々は紙にサインしてたんですが、最近端末に入力することになったんですが、漏れ、だぶりが出てきました。
今現在も紙にサインすることは続いているのですが、データと紙を一致させたい、かつ入力間違いを探して間違えた人に注意したいんです。
0964名無しさん@そうだ選挙にいこう2018/11/10(土) 23:28:15.15
それと、この入力というのがExcelにではなくiphon端末を腰からぶらさげて専用のソフトに入力する形です
0965名無しさん@そうだ選挙にいこう2018/11/10(土) 23:29:27.24
そのソフトのデータ表示をコピーしてエクセルに貼り付けたのが先にあげたサンプルです
0970名無しさん@そうだ選挙にいこう2018/11/10(土) 23:38:58.13
多分、投薬カレンダーの人だよな。現状がやっつけシステムで引継ぎなんかが大変なんだろう

なんか403エラーで書けん・・
0971名無しさん@そうだ選挙にいこう2018/11/10(土) 23:39:43.36
>>967
そこらへんは現物確認で入力と同じように投薬してないとか、2重で投薬するとかはないようになってます。
ただデータがズタボロなんですよ。
0974名無しさん@そうだ選挙にいこう2018/11/10(土) 23:43:25.46
>>967
でもそうですよね。
例えば昼を入力してないなら、「昼が入力されてません。しましたか?」とかメッセージ出るとかにして欲しいですね
0975名無しさん@そうだ選挙にいこう2018/11/10(土) 23:43:46.71
ごめん、違ってたか。
これは出力結果かなにかで、手作業で修正しても意味が無いのであれば
毎回作業が入るぐらいならマクロ作るべきかな。

システムからOUTPUTでExcelかCSVが出てきてるのであれば、Personalにマクロ作る
0976名無しさん@そうだ選挙にいこう2018/11/10(土) 23:45:10.70
>>974
それはiphoneアプリ開発者か総務を通して言ったほうがいい
普通に改良してくれるよ
ってか今のままじゃ使い門にならんだろ
0979名無しさん@そうだ選挙にいこう2018/11/10(土) 23:51:53.00
>>975
私のあげたサンプルというのが、専用ソフトの一覧表示させたものをドラッグしてコピー、EXCELに貼り付けただけのものです。
修正するのはまたiphon端末の修正という画面で修正します。
0983名無しさん@そうだ選挙にいこう2018/11/10(土) 23:57:38.12
>>980
スレチでしたか申し訳ない。
ただ関数では無理そうと分かっただけでも収穫です。
VBA勉強します。こんな夜更けにありがとうございます。
0984名無しさん@そうだ選挙にいこう2018/11/10(土) 23:59:57.48
>>937
試してみます。ありがとうございました。
0986名無しさん@そうだ選挙にいこう2018/11/11(日) 01:04:20.59
専用ソフトの表示をコピーしたものをメモ帳に貼り付けてテキストファイルを上げることはできる?

正直Excel使うケースでも無い気がするので他の方法を試したい
もちろん大体の環境で動くようなやつ
0989名無しさん@そうだ選挙にいこう2018/11/11(日) 09:38:42.87
>>983
>> 理想は「○月○日昼なし、夕2重」みたいに、それを見てそのまま修正できる形です。

別シートにこれを出していくなら関数でいけそうだかども
ただ今日はExcel触れないごめん
0990名無しさん@そうだ選挙にいこう2018/11/11(日) 09:42:23.57
>>937
試しました。
ありがとうございます。

値だけ行列入れ替えなら
alt→HVSVEで行けました。
(乗算なら末尾I)

Undoが効くようにショートカット登録する方法があれば教えてください。
0991名無しさん@そうだ選挙にいこう2018/11/11(日) 11:45:11.12
>>989
すんません、朝っぱらから
09927902018/11/11(日) 13:52:54.38
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【4 VBAでの回答の可否】 可

(元データ)
,果物,,
,,りんご,
,,,王林
,,,つがる
,,すいか,
,,ミカン,
,野菜,,
,,はくさい,
,,だいこん,


(作成後)
├─,果物,,
│,├─,りんご,
│,│,├─,王林
│,│,└─,つがる
│,├─,すいか,
│,└─,ミカン,
└─,野菜,,
,├─,はくさい,
,└─,だいこん,

上のような系統図をキャラクターで線引きをして出したいのですが
いい方法はないでしょうか
09939922018/11/11(日) 13:57:49.16
範囲を指定して自動で線がひけるとうれしいです。
0996名無しさん@そうだ選挙にいこう2018/11/11(日) 15:44:01.56
>>994
かたじけないです、ちょっとマクロ勉強してきます
09979942018/11/11(日) 18:11:54.93
>>996
最終日の検査を放置するバグがあったので手直しします。少々お待ちを
10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 133日 8時間 46分 8秒
10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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