Excel総合相談所 136 at BSOFT
[2ch|▼Menu]
[前50を表示]
350:名無しさん@そうだ選挙にいこう
19/08/22 10:39:18.30 .net
むしろ重くなるから関数使うなという所もあるしな
そういう時は白紙ブックにマクロを入れて裏から操作すればいいけど
マクロで操作出来るのは何もマクロ入りのブックだけではないし

351:名無しさん@そうだ選挙にいこう
19/08/22 10:46:24.04 .net
>>347
少なくともこんなのから脱却せんと、生産性向上も楽することも望めない。
URLリンク(images.app.goo.gl)

352:名無しさん@そうだ選挙にいこう
19/08/22 12:40:04.15 .net
>>346
入力代行業とかだと普通にあるだろ
てかそう言うのを把握しておかないと作業時間の見積もりもできないし

353:名無しさん@そうだ選挙にいこう
19/08/22 14:31:53.29 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010,2013
【3 VBAが使えるか    .】 中級
【4 VBAでの回答の可否】 可
シートに表があります。
名前、ふりがな、注文品、個数という表です。
何百行もある表です。
あるフォームを開いた時そこのコンボボックスの選択肢に
シートのふりがなを用いたいのですが、表には同じ人が何回も登場するし
できればあいうえお順で.cmbboxにAddItemしたいです。
重複を避けあいうえお順にするのに何かいい方法ないでしょうか?

354:名無しさん@そうだ選挙にいこう
19/08/22 14:54:32.12 .net
URLリンク(www.ningenkankeitukare.com)

355:名無しさん@そうだ選挙にいこう
19/08/22 15:31:55.27 .net
>>352
さすがにそこまで単純な作業は歩合制かノルマ制が普通では

356:名無しさん@そうだ選挙にいこう
19/08/22 15:43:07.27 .net
>>353
どこか空いてるセルにふりがなの列をコピーして、重複の削除(RemoveDuplicate)と並び替え(sort)をすれば少ない手間で目的のデータが得られる

357:名無しさん@そうだ選挙にいこう
19/08/22 15:45:04.32 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(必要なら覚えます)
(機能の例としてのファイルなので、見なくても大丈夫です)
URLリンク(www.beec.or.jp)
一般財団法人 日本建築設備・昇降機センターのサイトに繋がります。
このページの
「東京都 建築設備定期検査報告書+報告概要書 Excel2010【リンク版】2019.4.26」
のファイルの中にあるマクロ(?)のように、
「エクセルファイル1」の「ワークシート名」の「セル(仮にA1)」の内容を、
「エクセルファイル2」の「ワークシート名」の「セル(仮にA1)」に移す、
という作業を各入力セル(500セルくらいあります)に行う
マクロ(?)ってどのように作ればよいのでしょうか?
このサイトの書式に限らず、
「公式が配ってる書式が1年に1度くらいのペースで微妙に変えられるので
旧書式の入力内容を新書式に手作業でカタカタ頑張って打ち込む」みたいなことが多いので
マクロ(?)やプログラムで自動処理みたいなのができるなら頑張って作りたいです。

358:名無しさん@そうだ選挙にいこう
19/08/22 16:01:51.70 .net
>>357
VBAならセルのコピーは1行で書けるけど、書式が変わってしまったら自動で対応するのはかなり難しいと思う
(例)
Workbooks("エクセルファイル2").Sheets("ワークシート名").Range("A1") = Workbooks("エクセルファイル1").Sheets("ワークシート名").Range("A1")

359:名無しさん@そうだ選挙にいこう
19/08/22 16:22:03.81 .net
>>358
書式が変わるのは頻繁ではない(多くて半年に1度程度)なので、
軽微な書式の変更は手作業のメンテナンスで対応していこうかと思っています。
(「A1をA1にコピー」を、「A1をA2にコピー」にする程度の書き換えを
十数ヶ所、程度の作業で大丈夫だと思いますので。)
Workbooks( )
Sheets()
Range()
=
を教えていただいたおかげで、方向性がわかって
検索もできるようになったので、ここからはコツコツと覚えていこうと思います。
ありがとうございました。

360:名無しさん@そうだ選挙にいこう
19/08/22 19:16:16.27 .net
>>355
君が知らないだけで、世の中こういう単純作業って山ほどある
納期が厳しいものは作業員の能力を把握してないと即納期遅延になるので、ノルマとか歩合制では不安定過ぎる

361:名無しさん@そうだ選挙にいこう
19/08/22 21:16:23.37 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
1つのファイルでシート1にデータソース、シート2、3にピボットを組んでます
ピボットのデータ範囲は同一のテーブルを使用しているのですが、片方は全て集計されているのに、もう片方はデータ1行分が集計されません
単純なピボットなので、組み方は間違っていないと思います
見当がつく方いらっしゃいますか

362:名無しさん@そうだ選挙にいこう
19/08/22 21:27:47.65 .net
>>361
この手のミスを探すときはまず、間違っていないという思い込みを捨て、めんどくさがらず確認する

363:名無しさん@そうだ選挙にいこう
19/08/22 21:38:45.48 .net
>>361
色んな原因あるから見ないことにはなんとも
ちなみに総合計も不足してる?

364:360
19/08/22 22:00:19.97 .net
>>362
明日全てチェックするようにします
>>363
総合計が不足していたので気付きました
セキュリティが厳しい会社なので、ファイルの持ち出しは出来ないですね

365:名無しさん@そうだ選挙にいこう
19/08/22 22:07:10.23 .net
>>364
>セキュリティが厳しい会社なので、ファイルの持ち出しは出来ないですね
いやw普通でしょ

366:名無しさん@そうだ選挙にいこう
19/08/23 00:12:16.95 .net
>>361みたいな悩みって、見る人が見たら数秒で原因がわかり、数分で修正できてしまうものだと思う。
こういうのを遠隔操作でチャッチャと解決してくれるサービス、誰かはじめてください。

367:名無しさん@そうだ選挙にいこう
19/08/23 01:18:37.43 .net
同じにしてるつもりが、データソースが1つずれてるんじゃないの?

368:名無しさん@そうだ選挙にいこう
19/08/23 19:40:56.68 .net
こういう些細なミスしてるやつってろくに確認しないで合ってると言い張るんだ
そして確認は他人に丸投げ

369:名無しさん@そうだ選挙にいこう
19/08/23 20:08:40.67 .net
疲れ切ってる時は許してあげて

370:名無しさん@そうだ選挙にいこう
19/08/23 20:17:53.55 .net
疲れてない時にやればいいじゃん自己中だなぁ

371:名無しさん@そうだ選挙にいこう
19/08/24 03:23:33.85 .net
VBA習いにパソコン教室いくわ。もう限界や。独学じゃわからへんわ。

372:名無しさん@そうだ選挙にいこう
19/08/24 13:37:01.59 .net
>>371
教えてくれるとことかある?
VBAマスター?取りたいんだよね
エクセルエキスパートとアクセスは取った

373:名無しさん@そうだ選挙にいこう
19/08/24 14:06:02.27 .net
無職の期間に職安の訓練校通ってExcel Access VBAのセットコース取ったけどVBAは触りだけって感じで業務に役に立つレベルには程遠かった

374:名無しさん@そうだ選挙にいこう
19/08/24 14:42:15.24 .net
>>372
いっぱいあるよ。パソコン教室はマジで吟味して決めた方がいいよ。周りの人たちがWordとかPhotoshopとかやってると質問とかしづらい。要は少人数の教室を探して行くのが1番いいよ。

375:名無しさん@そうだ選挙にいこう
19/08/24 15:35:51.28 .net
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

カーソルの位置を自動で適切な位置にしたいです
横列1の縦列のCまで入力したら自動で
横列2の縦列Aにカーソル移動
横列2の縦列Cまで入力したら自動で
横列3の縦列1にカーソル移動
って感じにしたいです

376:名無しさん@そうだ選挙にいこう
19/08/24 16:06:41.91 .net
>>375
たとえばマウスでA1からC3までドラッグして選択しとけば、その中だけで順番に動くようになる

377:名無しさん@そうだ選挙にいこう
19/08/24 18:31:55.71 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
B列からZ列くらいまで、10行の表があります。
B3の値が「出席」なら、B4のセルの背景色が青になるというように、
BからZ列までぜんぶ、「○3の値が出席なら○4の背景色を青」と
設定したいのですが、どのようにすればいいのでしょうか?
条件付き書式って、自分自身のセルのことしか無理っぽいです。
ひとつ上のセルを条件にするってことと、できればBからZまで一括設定がしたいのですが
何か方法あるでしょうか?

378:名無しさん@そうだ選挙にいこう
19/08/24 19:03:05.94 .net
>>375
毎回範囲を選択した状態にするのも面倒なら
入力したい範囲のセルの書式設定の保護タブで、ロックのチェックを外し
校閲タブのシートの保護で、ロックされたセル範囲の選択のチェックを外すと
ロックされていないセル範囲=入力したい範囲しかカーソルが動くことはなくなる。

379:名無しさん@そうだ選挙にいこう
19/08/24 19:20:09.13 .net
>>377
1 B2:Z11のセル範囲を選択する
2 リボン→ホーム→条件付き書式→新しいルール→数式を使用して〜
3 数式を入れる枠に =B1="出席" を入力
4 [書式]ボタンをクリック
5 塗りつぶしのタブをクリック→塗りつぶす色を指定→[OK]をクリック
6 [OK]をクリック
B2:Z11を選択している状態で、数式にB1と指定したところがミソです。

380:名無しさん@そうだ選挙にいこう
19/08/24 19:21:54.75 .net
>>377
B4セルの条件付き書式の条件の数式に
=B3=”出席”
でええんとちゃう?
なんでそのセルの値しか参照できないと思い込むのか分からん

381:名無しさん@そうだ選挙にいこう
19/08/24 19:51:33.75 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
条件で別領域に取り出すSMALL関数について質問があります。
B店舗夜間 25000
A店舗夜間 30000
Z店舗夜間 35000
Y店舗昼間 50000
Z店舗昼間 75000
A店舗昼間 100000
B店舗昼間 200000
上記のような売上表があって、
別セルに"A店舗夜間"を除外して、以下の式を別領域で計算していました。
={SMALL(IF(A$1:A$100<>"A店舗夜間",B$1:B$100),ROW(A1))}
条件に"B店舗夜間"も除外対象に追加したいのですが、うまくいかないのでご教示いただければ幸いです。

382:名無しさん@そうだ選挙にいこう
19/08/24 21:00:07.09 .net
>>381
なんでフィルタオプション使わないの?

383:名無しさん@そうだ選挙にいこう
19/08/24 22:01:10.22 .net
>>382
ご教示ありがとうございます。
確かにフィルターオプションでできました。
ただ、元の式から条件が追加になるだけだったので、式の軽微な修正でできるかと思ってました。

384:名無しさん@そうだ選挙にいこう
19/08/24 23:25:04.36 .net
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
初心者ですが、ここにながれつきました・・・
エクセルの式で、どのように作ればよいか分からず
悩んでいます。
セルA1が「1」ならB2を反映、A1が「2」ならC5を反映
としたいのですが、この場合どのような式になるのでしょうか。
ifsは2013では無理とやっと分かり、vlookupではとなりのセルしか
反映できない?みたいで、行き詰まっています・・・
すみませんが、どなたかご教授願います!

385:名無しさん@そうだ選挙にいこう
19/08/24 23:36:52.52 .net
>>384
=IF(A1=1,B2,IF(A1=2,C5,""))
これでいいのでは?最後の方の""は、セルA1の値が1でも2でもない場合の値となります。

386:名無しさん@そうだ選挙にいこう
19/08/24 23:38:35.61 .net
>>384
=SWITCH(A1,1,B2,2,C5,C1)
A1が1ならB2の値、A1が2ならC5の値、それ以外ならC1の値を表示する

387:名無しさん@そうだ選挙にいこう
19/08/25 00:21:52.02 .net
>>384
=CHOOSE(A1,B1,C5)
2013ならこれ

388:名無しさん@そうだ選挙にいこう
19/08/25 04:18:57.18 .net
>>387
B1どこからでてきたw
初心者さんだと簡単なミスでも混乱するぞきっとw

389:名無しさん@そうだ選挙にいこう
19/08/25 08:29:45.03 .net
ご回答ありがとうございます!!
今晩、パソコンで試してみます!
色々とありがとうございます。

390:名無しさん@そうだ選挙にいこう
19/08/25 14:25:41.74 .net
【1 OSの種類         .】 Windows 10
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 初心者
【4 VBAでの回答の可否】 希望します
i = Int(100 * Rnd + 1)
変数 i に 1から100までのランダムな数値入れて
その内、NGとなる数字を30個、A1:A30に入力します。
そして i に A1:A30 の値を参照させて判定させたいのですが
複数のセルを参照することができません。
If i = Range("A1:A30") としても、参照されるのがA1だけになってしまいます。
If i = Range("A1,A2,A3…")としても、一緒でA1だけになります。
参照するセルが複数の場合、どのように指定すれば良いのでしょうか?
また、マクロではあまり、セルに入力されている値を参照するものでも
ないのでしょうか?分かりにくい説明ですみません、よろしくお願いします。

391:名無しさん@そうだ選挙にいこう
19/08/25 15:21:40.18 .net
>>390
forで回すとか、WorksheetFunctionでやるとか
On Error Resume Next
hage = WorksheetFunction.Match(i, Range("A1:A30"), 0)
On Error GoTo 0
If hage > 0 Then
MsgBox "OK"
Else
MsgBox "NG"
End If

392:名無しさん@そうだ選挙にいこう
19/08/25 15:21:47.34 .net
findか何かを使えばいいんだろうけど構文を調べるのが面倒だから
ForEachで作ってしまう僕が通るだけで後はまかせますよ

393:名無しさん@そうだ選挙にいこう
19/08/25 16:15:44.65 .net
>>390
if range("A1:A30").find(i) is nothing then debug.print "NG"

394:名無しさん@そうだ選挙にいこう
19/08/25 16:18:35.87 .net
間違えたわ
if range("A1:A30").find(i) is nothing then debug.print "OK"

395:名無しさん@そうだ選挙にいこう
19/08/25 16:20:29.34 .net
findは文字列・数値で見つからないのが微妙に怖い

396:名無しさん@そうだ選挙にいこう
19/08/25 16:22:56.71 .net
見つからないことが困るか困らないかは仕様と目的による

397:名無しさん@そうだ選挙にいこう
19/08/25 16:29:47.28 .net
findって対象の値が二つ以上あったらどういう挙動なんだっけ?

398:名無しさん@そうだ選挙にいこう
19/08/25 16:32:15.80 .net
はじめのrangeオブジェクト

399:名無しさん@そうだ選挙にいこう
19/08/26 12:52:25.65 .net
>>397
最初に見つけたところで検索終了
ただどこまで検索したのかの位置は内部的に記録してあって
それ以降のを検索するには
FindNextメソッド使って終わりまでループさせる
正直面倒な仕様だと思われ

400:名無しさん@そうだ選挙にいこう
19/08/26 14:50:29.32 .net
vbaでIEを動かす際、テキストボックスへのfocusが、成功するときと成功しない(で次の処理に移行しエラーが出る)ときがあります
安定させるのに何か方法はないでしょうか?

401:名無しさん@そうだ選挙にいこう
19/08/26 16:01:18.48 .net
エクセラーってちょっと響きかっこよいですよね
ワード…

402:名無しさん@そうだ選挙にいこう
19/08/26 19:23:48.02 .net
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
10シートのうち,「作業用」,「転記用」という名前が入っているシートがいくつかあります。
通常は非表示にしてあり,現在は,担当者が再表示する場合は「校閲」→「ブックの保護」→「パスワード入力」と行っています。
これを,例えば「シートの再表示」というマクロを実行すると,
1.「校閲」→「ブックの保護」→「パスワード入力」 まで自動で進む。
2.パスワードを入力する。
3.「作業用」,「転記用」という名前が入っているシートのみが再表示される。
また,逆に,
例えば「シートの非表示」というマクロを実行すると,
1.「校閲」→「ブックの保護」→「パスワード入力」 まで自動で進む。
2.パスワードを入力する。
3.「作業用」,「転記用」という名前が入っているシートのみが非表示される。
といいう動作にしたいです。
どのように記述したらよいか教えてください。

403:名無しさん@そうだ選挙にいこう
19/08/26 19:25:10.15 .net
>>401
エクセラだとインスタントコーヒーになってしまうので、エクセリストが推奨されています

404:名無しさん@そうだ選挙にいこう
19/08/26 19:31:38.32 .net
>>401
ワードナー

405:名無しさん@そうだ選挙にいこう
19/08/26 19:35:45.82 .net
>>402です。追記です。
パスワードなしの場合は,以下のように記述しています。

Sub 転記用シート一括非表示()
Dim s As Worksheet
For Each s In Worksheets
If InStr(s.Name, "転記用") > 0 Then
s.Visible = False
End If
Next s
End Sub

Sub 転記用シート一括再表示()
Dim s As Worksheet
For Each s In Worksheets
If InStr(s.Name, "転記用") > 0 Then
s.Visible = True
End If
Next s
End Sub

406:389
19/08/26 22:49:48.87 .net
アドバイスありがとうございました。
とても勉強させて頂きました。
私もいつかは回答者さん側になれるよう精進したいと思います。

407:名無しさん@そうだ選挙にいこう
19/08/26 23:01:40.34 .net
A1をリスト入力に設定し、リスト候補をセル範囲指定に
している場合で、セル範囲(縦一列に入力)の下部セル
にリスト候補を追加入力しただけで、リスト候補として
追加される方法はありますか?

408:名無しさん@そうだ選挙にいこう
19/08/26 23:14:33.58 .net
オートコンプリートじゃだめなんかい。

409:名無しさん@そうだ選挙にいこう
19/08/26 23:24:10.67 .net
>>407
C列に候補を入れているとした場合にデータの入力規則でリスト、
元の値のとこを↓にすれば出来る
=OFFSET(C1,0,0,COUNTA(C:C),1)

410:名無しさん@そうだ選挙にいこう
19/08/26 23:24:21.52 .net
入力セルがA列、リスト候補の列が別のとこに設けている
ようにしています。
新しいリスト候補ができると、都度入力規則を設定し直
しているのを省略したいです。

411:名無しさん@そうだ選挙にいこう
19/08/26 23:24:43.12 .net
>>407
リストの範囲を縦一列にしたらそうならんか?

412:名無しさん@そうだ選挙にいこう
19/08/26 23:39:29.30 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
Excelは計算量が多いと途中で計算をやめると聞きましたが、本当ですか??

413:名無しさん@そうだ選挙にいこう
19/08/26 23:45:15.60 .net
舐めてんのかお前

414:名無しさん@そうだ選挙にいこう
19/08/26 23:45:50.16 .net
>>412
ステータスバーに処理のパーセンテージが表示されてる時にEsc押すとキャンセルできる
って話?

415:名無しさん@そうだ選挙にいこう
19/08/27 00:02:40.93 .net
本当
試しにA:Aに=1+1とか入れてみると良い
>414
キャンセルしなくても終わる事はあるよ

416:名無しさん@そうだ選挙にいこう
19/08/27 07:39:02.23 .net
vba で複数シートを一括印刷する際、A1セルに「××」という文字列があるシートは除外して印刷するような設定ないでしょうか?

417:名無しさん@そうだ選挙にいこう
19/08/27 09:52:54.68 .net
>>407
追加入力?
ちょっと後半の意味わかんない
画像つけてよ

418:名無しさん@そうだ選挙にいこう
19/08/27 14:30:25.77 .net
>>416
Ifで除外じゃダメなん?

419:名無しさん@そうだ選挙にいこう
19/08/27 18:31:12.72 .net
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
>>384  です。色々と試してうまくいきました!ありがとうございました!
2つ目の試練が出てきました・・・・
A1が1の時、  A3〜M3の範囲で「1であるセル」の下を選ぶ (例えばC3が1なら、C4)
という指定は可能なんでしょうか。

420:名無しさん@そうだ選挙にいこう
19/08/27 18:35:09.06 .net
418の続きです。
カレンダーの日付で、●日の時のメニューを、別シート(配送表)に反映させたいんです。
カレンダー様式は曜日が固定されていて、月によって●日という位置が変わるんです・・・
月 火 水 木・・・
1 2  3  4      もあれば
月 火 水 木・・・
31 1 2  3      などもあり、
日付と一致するセルの下のメニューを引っ張りたいんですが、式で可能なんでしょうか。
何度もすみませんが、どなたかご教授願います。

421:名無しさん@そうだ選挙にいこう
19/08/27 18:58:25.22 .net
↓だと半分ぐらいが削除されるのですが、なぜか削除されない行もあります。
セルにはスペースも何も入っていないで。
原因と解決方法を教えてください。

Sub Macro2()
'シート名「***」のC列に空欄のセルがあれば、その行を行ごと削除して詰める
Sheets("***").Select
For r = Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1
If Cells(r, "C").Value = "" Then
Rows(r & ":" & r).Delete
End If
Next r
End Sub

422:名無しさん@そうだ選挙にいこう
19/08/27 19:51:26.12 .net
>>421
For r = Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1
If Cells(r, "C").Value = "" Then
debug.print r&"行目の中身:"&Cells(r, "C").Value
Rows(r & ":" & r).Delete
End If
Next r
って感じでコンソールに出力すると良いよ
他にもF8のステップインって機能がある
一行一行見ていけば、変な行がわかる

423:384
19/08/27 20:40:32.82 .net
>>384,419
これでどうでしょう。
=IF(A1=1,OFFSET(A3,1,MATCH(1,A3:M3,0)-1),"")
=IF(A1=1,  ,"") の部分は説明不要ですね。
OFFSET(A3,1,MATCH(1,A3:M3,0)-1)の解説
OFFSET(A3,1,□)   で、A3セルを基準に1行下、□列右のセルを指定したことになります。
□はどうやってもとめるか・・MATCH関数の出番です。
MATCH(1,A3:M3,0) で、A3:M3セル範囲(1行×13列)の中から値が1のセルが何番目に
あるかを求める関数です。例えば、D3セルが1だったらMATCH関数の値は4になります。
このままではA3セルを基準に1行下4列右のセル=E1セルを指定してしまうことになるので
MATCH( )-1 としています。
ただし、A3:M3に一致する値がない場合はエラー #N/A となります。
なお、>>420を見てみた限り、この方法がいいのかどうかはわかりません。表の全体がもう少し
詳しくわかればいいのですが・・・。
かといって、実際のファイルをアップすることはしないように。
週間カレンダー形式の表は私もいくつか作ったことがあります。

424:名無しさん@そうだ選挙にいこう
19/08/28 08:20:13.79 .net
>>420
俺だったら、日付とその日のメニューを
左右2列に並べたシートを作り
それを元にカレンダー作るけどね
休業日のシートも作って
それもカレンダーに反映させればいいし
万年カレンダーでググればヒントになるの見つかるよ

425:名無しさん@そうだ選挙にいこう
19/08/28 09:09:15.81 .net
>423  ありがとうございます!自分の知らない関数でした!
確かに、これだといけますね!
範囲を複数にまたがる時ってどうしたらいいんでしょうか?
カレンダーなので、行が変わるんです。「A3:M3」だけでなく、
「A10:M10」も みたいなイメージです。
>424
横に書くデータ入力シートを作って、それを反映させるって意味ですね?
入力する素人おばちゃんが、縦と横、目を回さずに間違いなく入力できたら
いいんですが・・・一度話してみます!
色々とありがとうございます。

426:名無しさん@そうだ選挙にいこう
19/08/28 12:15:10.15 .net
>>425
横じゃなくて縦並び
手帳と同じ
日付,メニュー
2019/8/28,オムライス
2019/8/29,ハンバーグ定食
って感じ

427:名無しさん@そうだ選挙にいこう
19/08/28 12:50:53.91 .net
カレンダー作る時
日付を“1”で入れるか“2019/9/1”で入れて
書式にd入れるのは見かけ同じで意味が違う
後者の方が応用させやすい

428:名無しさん@そうだ選挙にいこう
19/08/28 13:19:50.23 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 不可
あるシートのA5に、=IF(A50>0,"支払済","未") という関数が入っており、それがZ列まであります。
それぞれ、50行目に金額が入っていれば 支払済、なければ 未 と表示されるようになっています。
このA5からZ5に、「値が 支払済 なら背景色変更」という条件付き書式を設定しようとしているのですが、
うまくいきません。
なぜか「値が 未 なら背景色変更」というのはできます。
「支払済」という文字が間違っているとは思えません。「済」という文字のコードに問題が?とか思って
関数も「すみ」に変えてもダメです。「未」だけ判定できる条件付き書式なんてありえるのかと
わけがわかりません。
何かアドバイスください。お願いします。

429:名無しさん@そうだ選挙にいこう
19/08/28 13:22:51.10 .net
>>428
それって、色を変える書式の条件を A50>0 にすればいいだけのような

430:名無しさん@そうだ選挙にいこう
19/08/28 13:27:08.82 .net
>>428
支払済を試しに半角英数字に変えてみては?

431:名無しさん@そうだ選挙にいこう
19/08/28 16:05:11.12 .net
>>428
絶対参照にしてたというオチはないだろうか

432:名無しさん@そうだ選挙にいこう
19/08/28 16:12:41.07 .net
>>428
条件式に間違いは無いのでは?
ただ、それに対応する書式がきちんとしていないとか?
>>429
普通はそうだよね。
強いて言えば、A50に"金額"という名前を付ける方が後で修正のときに迷わない。

433:名無しさん@そうだ選挙にいこう
19/08/28 16:20:46.01 .net
細かいこというけど、A50が空白かどうかの判定は
A50>0,"支払済",“未”
じゃなくて
ISBLANK(A50),"未","支払済"

434:名無しさん@そうだ選挙にいこう
19/08/28 16:28:54.80 .net
>>428
結局、支払済と未でそれぞれの背景を何色にしたいねん?
それを書かないとなんともなあ。

435:384,422
19/08/28 17:47:23.57 .net
>>425   簡単に作ってみました。
>>424さんが書いてるような、入力のためのシートと週間カレンダー形式のシートで構成しています。
両方のシートを画面イメージでアップしました。
URLリンク(i.imgur.com)
曜日固定のカレンダーに日付を設定するのは第1週の最後の曜日の日付を求める計算式が要です。
B1セルとC1セルに入れた年と月とI4セルの計算式で求めています。
I4セルの計算式の説明は割愛します。C4:I4、C7:I7、・・・のセルは計算式で日付を出しています。
セルの書式で日付のうちの日部分だけ表示するようにしています。I4セルだけ年月日を出してます。
入力シートから日付をキーとして引用する計算式は、図の下の方のF5のセルの
=IFERROR(VLOOKUP(F4,入力!$A$2:$C$50,2,FALSE)&"","")  です。
$A$2:$C$50という、49行×3列のセル範囲の先頭列が日付の検索範囲で、2 は該当したら
2列目(B列)のセルを返すようにしています。
項目2の欄であるF6セルの計算式は
=IFERROR(VLOOKUP(F4,入力!$A$2:$C$50,3,FALSE)&"","")  です。違いはわかりますか?

436:名無しさん@そうだ選挙にいこう
19/08/28 19:59:23.81 .net
>>428
色変える条件式どう書いたか晒してみ?
>>433
それだと数字以外でも支払済みになる

437:名無しさん@そうだ選挙にいこう
19/08/28 21:24:54.81 .net
>>409
返事が遅くなってしまいましたが、できました!
ありがとうございます!

438:名無しさん@そうだ選挙にいこう
19/08/28 22:21:47.09 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可
数式や関数がたくさん入っていて非表示になっているシート1があるとします。
VBAで、このシートのコピー(各セルの値はすべて値を貼り付け的な処理をして関数や数式は残さない)
を別ファイルとして保存することは可能でしょうか?
可能なのかどうか、また、できればそのコード(長くなるならヒントだけでも)を教えてください。

439:名無しさん@そうだ選挙にいこう
19/08/28 22:44:24.39 .net
>>438
可能です。
マクロの記録でもできそう。

440:名無しさん@そうだ選挙にいこう
19/08/28 23:37:15.59 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 可
【4 VBAでの回答の可否】 可
特に質問はないので、一応テンプレだけ。

441:名無しさん@そうだ選挙にいこう
19/08/29 00:13:51.18 .net
>>438
特殊な処理無いし書いてることそのまんまやるだけ

442:名無しさん@そうだ選挙にいこう
19/08/29 00:38:59.27 .net
>>438
ようは、マクロの記録でも出来る
そのマクロコードでオブジェクトやプロパティの意味を知りたければドラッグしてF1押せばマイクロソフトのサイトで解説してくれる

443:名無しさん@そうだ選挙にいこう
19/08/29 08:57:40.67 .net
>435
ありがとうございます!
まだパッと見てもわからないので(笑)
少し夜考えてから質問させてください!
写真まで丁寧にありがとうございます(^◇^)

444:名無しさん@そうだ選挙にいこう
19/08/29 15:59:20.40 .net
>435
何分か見比べてみました。何となくわかります!(笑)
画像つきで丁寧に教えていただきありがとうございます(^^)
VLOOKUP関数なるものは、検索してわかりました。(IFERRORも)
これを使うには、入力シートが、横に項目1・2と続く場合に
拾うというものですよね。縦のものを拾う関数は存在しないんでしょうか。
お弁当屋さんなんですが、結構デザートまで入れると6種目あって、
メニューの品名も長くて。縦に項目1・項目2として、それを反映する関数だと
一番入力する人間もわかりやすいのかなって思ってしまい・・・
でも、これが一番よいのかも!?

445:名無しさん@そうだ選挙にいこう
19/08/29 17:07:27.43 .net
>>444
一応、HLOOKUPというものもある
今年後半からXLOOKUPというのも出るそうだ
VLOOKUPよりindex+matchの方が使い勝手良いから使ってきたけどXLOOKUPの方が楽かもしれない

446:434
19/08/29 19:48:56.33 .net
>>444
まさか”メニュー”という言葉が出てくるとは!
自分は現在、福祉NPOに関わってて、ボランティアでパソコン関係の支援をしてます。
NPOの調理部門のメニュー表作成で以前作ったもののイメージをアップしたので参考にしてください。
URLリンク(i.imgur.com)
左側のシートは”DB”シートです。同じ日付で4行あるのは、朝・昼・夕・おやつ の4種類のためです。
VLOOKUPの対象となるのはC列〜I列です。
出力側シートのC11セルの計算式が見えてますが、おもしろいことに「昼食」の欄(C9:C13)の計算式は
全て同一です。計算式中の ROW()-7 の部分で自動的に引用する列をずらしているからです。
C11セルなので ROW()-7 の結果は 11-7=4 → VLOOKUPの対象となるのはC列〜I列なので
4列目にあたるF列の値が引用されます。

447:名無しさん@そうだ選挙にいこう
19/08/29 19:51:10.07 .net
vlookup をdisってようやくExcel上級者として認められる

448:名無しさん@そうだ選挙にいこう
19/08/29 20:03:11.57 .net
>>447
vlookupをindexとmatchで置き換えるのは中級レベル

449:名無しさん@そうだ選挙にいこう
19/08/29 20:11:07.23 .net
>>448
初心者だぞ

450:名無しさん@そうだ選挙にいこう
19/08/29 20:36:12.75 .net
初心者はいいすぎ。もう少しで中級者レベル。

451:名無しさん@そうだ選挙にいこう
19/08/29 20:54:47.70 .net
LOOKUPだと縦でも横でもいけるんじゃなかったっけ?
INDIRECTとMATCHが好きだけど

452:名無しさん@そうだ選挙にいこう
19/08/29 20:57:04.85 .net
vlookup 初級者
indexとmatchで 初級者+
vlookupmatch 中級者
実務で間違いが起こらないように数式を組み立てる事が出来る、これが一番大事
技術が幾ら凄くても間違ってたら駄目なんだ

453:名無しさん@そうだ選挙にいこう
19/08/29 21:07:14.85 .net
後継はxlookupだと。
URLリンク(forest.watch.impress.co.jp)
URLリンク(support.office.com)

454:名無しさん@そうだ選挙にいこう
19/08/29 22:13:18.04 .net
実務では無駄に凝った数式作って後でメンテする人に迷惑かけない事が大事

455:名無しさん@そうだ選挙にいこう
19/08/29 22:45:48.49 .net
>>454
しかし自分が使うとなると実装したくなる病気が発病するよね〜
楽したい〜

456:名無しさん@そうだ選挙にいこう
19/08/29 22:47:41.30 .net
分かるマン
なんなら誰かが見つけて称賛されたいマン

457:名無しさん@そうだ選挙にいこう
19/08/29 22:52:34.65 .net
I列にゼロがあれば、そのセルをクリアにするようにしたいのですが

For Each c In Range("I:I")
If c <= 0 Then
c.Clear
End If
Next c
これだと結構時間がかかります。
早くするコードをおしえてください

458:名無しさん@そうだ選挙にいこう
19/08/29 22:59:42.99 .net
>>457
範囲の値を配列に入れてそれを処理したあとまた範囲に戻す

459:名無しさん@そうだ選挙にいこう
19/08/29 23:01:22.17 .net
>>457
オートフィルタかけたらいかんの?
range("a:i").autofilter field:=9,criteria1:="<=0"
range("i:i").clear
range("a:i").autofilter

460:名無しさん@そうだ選挙にいこう
19/08/29 23:01:43.50 .net
それか、「0を含む」ではなく「0固定」なら置換使った方が楽で速いんじゃね

461:名無しさん@そうだ選挙にいこう
19/08/29 23:03:25.06 .net
>>457
Sub Macro1()
列 = 9
最終行 = Cells(Rows.Count, 列).End(xlUp).Row
For i = 1 To 最終行
If Cells(i, 列) = 0 Then
Cells(i, 列).Clear
End If
Next
End Sub
>>458-460
お、お前等
シートの最終行まで見てる事が遅い原因だぞ

462:名無しさん@そうだ選挙にいこう
19/08/29 23:18:15.97 .net
>>461
いや、Rangeを使ってるのが原因
Rangeは遅いから大量セルを弄るのに使うのは向かない

463:名無しさん@そうだ選挙にいこう
19/08/29 23:36:30.59 .net
Excelの機能でできることはExcelの機能で実現しないと遅くなるよな

464:名無しさん@そうだ選挙にいこう
19/08/29 23:39:05.03 .net
>>457
置換を自動記録。

465:名無しさん@そうだ選挙にいこう
19/08/30 00:05:52.67 .net
大量のセルを扱う時はRangeじゃなくて配列で処理したら一瞬だよ

466:名無しさん@そうだ選挙にいこう
19/08/30 01:14:28.40 .net
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
あいうえおおおかき(abcd)くけこさ(efef)しすせそた(gggg)ちつてと
上のようなパターンの文字列がありまして、いくつか(多くて5つくらい)のカッコで囲まれた文字列を除く計算式が知りたいです
結果こうなりたい
あいうえおおおかきくけこさしすせそたちつてと
置換Ctrl-Hじゃなくて計算式でよろしくおねがいします。

467:名無しさん@そうだ選挙にいこう
19/08/30 01:40:43.67 .net
>>402 >>405ですが,いかがなものでしょうか?

468:名無しさん@そうだ選挙にいこう
19/08/30 05:22:58.68 .net
>>466
=substitute(a1,"あ","")
みたいな感じで
>>467
難c

469:名無しさん@そうだ選挙にいこう
19/08/30 12:37:20.48 .net
>>467
フォーム作るなら楽に実現できる

470:名無しさん@そうだ選挙にいこう
19/08/30 12:56:01.44 .net
>>466
ユーザー定義関数使っていいなら出来るが
VBA否だからなあ

471:名無しさん@そうだ選挙にいこう
19/08/30 16:37:36.69 .net
特選!黒板チョークアートがギッシリ満載!無料イラスト商用OK
URLリンク(56emon-cafe.com)
カフェイメージ特選13作!無料イラスト商用OK.クレジット表記不要!
URLリンク(56emon-cafe.com)
【無料ダウンロード】美しい!マンダラ模様20選! 商用利用も可能
URLリンク(www.seleqt.net)
イラストレーター ぶらおさんの無料イラスト
URLリンク(www.pinterest.jp)
URLリンク(www.ac-illust.com)
フリーオシャレ素材 VintageVillageヴィンヴィレ
URLリンク(vinvill.com)
無料&商用OK!子供向け&アートなアルファベット・数字素材
URLリンク(kmy.website)
ロゴ作成ツール11選 無料でおしゃれなデザインを簡単に作れる!【商用OKも】
URLリンク(mag.app-liv.jp)
過去最大級!ナチュラル手描きイラスト素材集75万円分が
99%オフの破格セール中(水彩・パステル・線画)
URLリンク(photoshopvip.net)
文字をかっこよくデザインする!すごいPhotoshopテキストエフェクト厳選66個まとめ【2019年版】
URLリンク(photoshopvip.net)

472:名無しさん@そうだ選挙にいこう
19/08/30 16:44:13.85 .net
VBA実行ファイルと同じフォルダ内に複数のCSVファイルがあり、そのCSVの各ファイルのA〜Gの2行目以降を
コピーしてVBAを実行するBookの“日報”と言うシートに張付けて、行を累積していくコードを教えてください。
それぞれのCSVファイルの最終行はA行の最後です。

473:名無しさん@そうだ選挙にいこう
19/08/30 17:47:17.95 .net
>>472
何かの試験問題か?
>A行って何?
A~G言うから、これ列指定かと思ったら行と来たもんだ?
そもそも、どういう構造のCSVやねん?

474:名無しさん@そうだ選挙にいこう
19/08/30 19:10:25.27 .net
複数のシート間で対応するセル同士を相互リンクするのって関数じゃ無理ですか?
どちらで更新しても全てに反映されるような

475:471
19/08/30 19:39:32.82 .net
>>473
すみません。A列でした
それぞれのCSVファイルはA列〜G列に文字が記入してあります。

476:名無しさん@そうだ選挙にいこう
19/08/30 19:49:59.60 .net
>>474
循環参照になるのでは?

477:名無しさん@そうだ選挙にいこう
19/08/30 19:56:47.53 .net
>>472
そのCSVはExcelで開いても書式が崩れないやつ?001が1になったりとか


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

1717日前に更新/209 KB
担当:undef