X



Excel総合相談所 130
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙にいこう
垢版 |
2017/12/24(日) 09:11:43.15
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

▼━関連スレ━━━━━━━━━━━━

前スレ
Excel総合相談所 129
https://find.5ch.net/search?q=excel

Excel VBA 質問スレ Part51
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
0794名無しさん@そうだ選挙にいこう
垢版 |
2018/04/05(木) 01:52:35.76
>>790
日付はctlr+で入力しオーフィルハンドルで下にひっぱっただけの極々単純な入力方法です

条件書式は=($A3=TODAY())
=$A3=TODAY()
両方試して変わりなかったので上を入れてあります
0795名無しさん@そうだ選挙にいこう
垢版 |
2018/04/05(木) 01:54:54.37
>>793
nowは明日試します

vbaでdate関数、
そのカレンダーの日付をdateにしてみるという意味でしょうか?
vbaでやる意味を教えていただけると有り難いです
0796名無しさん@そうだ選挙にいこう
垢版 |
2018/04/05(木) 02:05:37.19
ワークシート関数の戻り値と、vba関数(now、time、date)の戻り値が同じか試してみる。
通常は同じだろうけど、違えばそれが原因を探る手がかりになるでしょ。
0804名無しさん@そうだ選挙にいこう
垢版 |
2018/04/05(木) 12:26:44.60
失礼、today()です。
それがきちんと表示されるなら、「条件付き書式」の設定がおかしいか、「条件付き書式」の不具合があると考えられます。
0805名無しさん@そうだ選挙にいこう
垢版 |
2018/04/05(木) 12:35:05.93
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい・
【4 VBAでの回答の可否】 可
リネームして保存前にファイルサイズが400kb以上なら「ファイルサイズ超過」とメッセージボックスを出して、リネームをキャンセルする方法があればご教授願います。リネーム前にFilelenを使うとリネーム前のファイルサイズしか出ません。
0807805
垢版 |
2018/04/05(木) 22:18:16.81
リネーム後にファイルサイズ400kb以上でファイル名先頭に「サイズオーバー」
を追加は可能でしょうか?
リネーム後のファイル名を取得できないので、先に進めません。
1.yyyymmdd_hhmm(”D3")で保存。
2.1で保存したときにファイルサイズをチェック。
3.ファイルサイズをチェックして400kb以上なら、ファイル名先頭に「サイズオーバー」
を追加。

ご指導いただきますよう、お願いします。
https://u3.getuploader.com/taka1024/download/99
0808名無しさん@そうだ選挙にいこう
垢版 |
2018/04/05(木) 22:47:28.73
>>805
素直に行ったほうがいいかもな

別名で保存
自分自身のファイルサイズを計測
サイズオーバーならメッセージ出して閉じるとか

というかどういう状況?フロッピーでも使ってるの?
0809名無しさん@そうだ選挙にいこう
垢版 |
2018/04/05(木) 23:49:41.94
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

あるセルの値が、常に、
  空白/ひらがな文字列/全角カタカナ文字列/半角カタカナ文字列
のいずれかです。また、文字列にはスペースが混じっています。

これを、どんな場合でも、スペースなしの半角カタカナ(空白は空白のまま)に変更したいです。
どのようにVBAコードを書けばいいのか教えてください。
よろしくお願いします。
0812809
垢版 |
2018/04/06(金) 00:56:02.55
ありがとうございます。

ひとつではなく、複数の変換作業を通じて実現するんですね。
勉強になりました。
0813名無しさん@そうだ選挙にいこう
垢版 |
2018/04/06(金) 02:13:42.79
>>812
どちらの場合もネスト(入れ子)して一気にやるより、段階踏んでやる方が簡単だしあとで修正しやすいです。

ワークシート関数でやるなら、
A列に元の文字列、B列にphonetic(A1)、C列にsubstitute(B1,略)、D列にasc(略)

VBAでやるなら変数myStringなどにして、
myString=replace(cells(i,1), 略)
myString=strconv(myString, 16 + 8)
cells(i,2)=myString

なお、どちらの場合もスペースが半角と全角の両方あるなら、削除を2回する必要がある。
0815813
垢版 |
2018/04/06(金) 03:24:31.26
そうですね、たしかに足し算みたいだし分かりにくいですね。
0817805
垢版 |
2018/04/06(金) 06:39:01.35
>>808
修理依頼票として使うのですが、メールフォルダが200MBしかないので、
PDFを添付されると、メールフォルダがいっぱいになってしまうのです。
0821名無しさん@そうだ選挙にいこう
垢版 |
2018/04/06(金) 11:04:34.46
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

セルにシート名を表示するシンプルな方法はないですか?

セルにシート名を表示させようと思ったんですが
ググるとCELL関数を使うものしか出て来なくて
そしてその方法がRIGHT関数とかLEN関数とかを組み合わせたりしてて
なんというか冗長に見えてしまうんです
もっとシンプルにシート名を取り出せないものでしょうか!
0823名無しさん@そうだ選挙にいこう
垢版 |
2018/04/06(金) 16:34:38.79
>>821
関数ひとつ作っとけばどう?
0825名無しさん@そうだ選挙にいこう
垢版 |
2018/04/06(金) 20:44:19.11
>>787です
結果ご報告です
=A7から下に向かってカレンダーを引っぱってました
条件書式は=$A7=TODAY()
しかしなぜか昨日の日付がハイライトされるのが困ってることでしたが、今日ファイルを開けてみると
条件書式が=$A8=TODAY()
になってました

結果的には条件書式が即時反映してなかったことが原因のようです
フォーマットを整えるなかでグループ化を沢山したり行挿入などをましたが、途中メモリ不足で一度強制終了しました
そういったなかで条件書式の表記は=A7~と見えるのに実際は=A8~で条件を取っていたという結果と思います
条件書式を=$A7=TODAY()にして解決

グループ化を沢山してExcelの挙動がおかしくなったのも初めてでした
0829名無しさん@そうだ選挙にいこう
垢版 |
2018/04/06(金) 22:23:50.56
そんなに単純にはならんよ
なるほどねーという工夫はあるけど

そういう例題
今月は何日まであるか、最もエレガントに示せ
0831805
垢版 |
2018/04/06(金) 22:49:48.81
>>818
会社からは使えませんでした。
0834名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 00:12:06.07
CELL が嫌なら -CELL 付けてググればいい 一発目で出るだろ VBA使うけど
にしてもその書き方・使い方まで指導してる 簡単明瞭しかも早い
質問文書いてる間に結果が出てるぐらい簡単
サイトの主がアクセス数稼ぐために質問したんじゃねーのか?と、疑うぐらいどストライク
0835名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 00:53:40.92
CELL関数で2番目のパラメータA1は省略できる
作業セルにCELL関数だけ置いとけば数式の文字数は減らせるけどアルゴリズムがシンプルになるわけじゃない

A1=CELL("filename")
A2=RIGHT(A1,LEN(A1)-FIND("]",A1))
0838名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 10:48:40.70
省略したらでRフォルトはA1だろ
と思ったら血がてた

>この引数を省略した場合、最後に変更されたセルについて、
>"検査の種類" 引数に指定した情報が返されます。
>対象範囲がセル範囲の場合、その範囲の左上隅のセルに関する情報だけが返されます。

特に
>最後に変更されたセルについて、
に関しては、普通に別ブックも対象となるので絶対に省略しない方がいい
エライことになるぞ
0840名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 11:53:00.98
試したら本当に別ブックのフルパスとシート名が出たわ
自分が普段使わん機能は注意せんとあかんな

しかし、これってなんのための機能なんだろう?
0842名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 12:08:57.87
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

シートに3000行くらいのデータがあって、A列が日付、B列が名前、C列が得点です。
VBAで、以下のことを一気にやりたいのですが、どう書けばいいのか教えてください。

・B列で名前が空白の行を削除
・B列で名字と名前の間にスペースがある人がいるので、そのスペースを削除

表のいちばん下から、上に向かってループしながら、
削除とreplaceをやっていくしかないんでしょうか?
0843名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 12:15:33.00
>>842
だいたい思ってるとおりで大丈夫だよ
3000行なら工夫してもしなくても1秒で終わるから、マクロの記録してちょっと修正すればいい

1.画面の書き換えを止める
2.データ範囲を調べて下からループ
3.名前が空白なら行削除、そうでなければスペース置換
4.ループ終了したら画面書き換え再開
0844名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 12:18:12.69
>>842
どうしてもループせずに一気にやりたいならワークシート関数を使うといいかも
B列だけ範囲指定してスペースを何も無しに置換も1行で書けるし、オートフィルターを使えば空白セルをまとめて削除できる
0847名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 13:45:24.39
3000行くらいなら一発で削除できるんじゃないの
columns("B").specialcells(xlcelltypeblanks).entirerow.delete

スペースの削除はマクロ使わんでも置換機能でいけるんじゃない
マクロでやるならreplace
columns("B").replace " ",""
0852名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 14:39:01.02
WEBからコピペとかすると文字コード0xA0のスペースがたまに混じっててぐぬぬとなることがある
あとはTABに注意しとけばだいたいなんとかなるんでは
0855名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 19:20:53.86
ブックAのセルからブックBのセルに関数をコピーペーストすると
ブックAのブック名まで一緒にペーストされてしまうのですが
ブック名はなしで関数のみペーストする方法はないでしょうか
0858名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 19:56:35.28
>>855
方法は2つ
1つめは元のファイル名とシート名までを置換して削除する方法
!や'までちゃんと置換しないと失敗する


2つめはリンクの編集
データ→リンクの編集から変更する
けどバージョンによって違うだろうから自分の使用のExcelバージョンでググってくれ

excelxxxx 外部参照 関数 変更

こんくらいはわざわざ2ちゃん来なくてもググれるさー
0859名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 19:57:39.67
>>855
方法は2つ
1つめは元のファイル名とシート名までを置換して削除する方法
!や'までちゃんと置換しないと失敗する


2つめはリンクの編集
データ→リンクの編集から変更する
けどバージョンによって違うだろうから自分の使用のExcelバージョンでググってくれ

excelxxxx 外部参照 関数 変更

こんくらいはわざわざ2ちゃん来なくてもググれるさー
0861名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 20:08:27.31
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

A1からA5000くらいまで人名が入力されてるシートで、
人名の重複がある行はぜんぶ削除したいです。
複数応募は全無効なので、重複のうち1行だけを残すのではなく、
重複があった人名はぜんぶ削除したいのです。
VBAでなんとかできないでしょうか?
0867名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 22:34:10.73
質問
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


4月10日 朝
4月15日 昼
4月20日 朝
5月10日 昼
5月15日 夕
5月25日 朝
6月05日 朝
……

となっているデータから、5月分だけの一覧表を作るようにするにはどういう関数組めば良いんでしょう?
VLOOKUPでも最初の一つしか表示されないので困っています。
あと、可能であれば、元データの隣の列にある朝、昼、夕のデータを参照して、

抽出した表に、朝なら赤、昼なら黄、夕なら紫といったふうに、条件付き書式で表が色分け出来るようにしたいのですが…

うまく説明できているか解りませんが、宜しくお願いします。
0871名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 23:24:36.99
>>868
データは昇順で並んでいます

>>869
できれば関数で解決したいです
0872868
垢版 |
2018/04/07(土) 23:51:07.38
>>871
元の表に作業列いれてもいいならできそう。

countifsかsumproductと、vlookup組み合わせでできないかな。
0874名無しさん@そうだ選挙にいこう
垢版 |
2018/04/08(日) 00:25:25.49
>>873
ありがとうございます。頂いたデータを参考にチャレンジしてみます。
0876名無しさん@そうだ選挙にいこう
垢版 |
2018/04/08(日) 01:47:23.36
=VLOOKUP(C3, $P$2:$Q$47, 2, FALSE)
という数式があります
C3と同じ数字の右二つ隣を表示

これにC3が空白なら空白
を加えるにはどうしたらいいですか?
0879877
垢版 |
2018/04/08(日) 03:42:31.90
>>878
ごめん、スマホで打ったのでダブルクォーテーションがおかしかった。
パソコンのキーボードからだと、Shihtキー押しながら上段数字の2を押したら入力されるのが正しいダブルクォーテーションです。
0881855
垢版 |
2018/04/08(日) 09:36:20.84
>>857-860
ありがとうございます
0882855
垢版 |
2018/04/08(日) 09:37:13.58
>>856
ありがとうございます
0883名無しさん@そうだ選挙にいこう
垢版 |
2018/04/08(日) 20:05:47.32
Excelの関数について質問があります。

○の数を=COUNTIF(A3:A20,"○")でカウントしてC、FをカウントしたいけどB,Dはカウントしたくないときはどうしたらよいでしょうか
0885名無しさん@そうだ選挙にいこう
垢版 |
2018/04/08(日) 20:21:35.10
>>884
横にドラッグしたいけどするとB,Dにも0がでて消すのがだるいのでどうにかならないかと思って。
かと言ってC,Fでもカウントするのも嫌なので。
0889名無しさん@そうだ選挙にいこう
垢版 |
2018/04/09(月) 18:27:02.54
質問
【1 OSの種類         .】 Windows10home
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

F1キーで出てくるハズのオンラインヘルプに繋がらなくなってしまった(接続しています...から動かない)ので直したい
ネットサーフィンは出来るのでインターネット接続はちゃんとある
手始めにどこを見ればいいでしょうか?
0891名無しさん@そうだ選挙にいこう
垢版 |
2018/04/09(月) 19:52:53.29
おねがいします

【1 OSの種類         .】 Windows7→10
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

機材は1年程度です
エクセルはその当時からの付属で
最近まで不自由がありませんでしたが先月ごろから

@ A1=B1+C1  で、B1に数字を入力した
A A1=B1  で、そのA1をC1にコピーしようとした

など計算に関する操作をしたときに
(文字列入力のときは無症状)

エクセルは動作しなくなりました
のメッセージが出て、強制終了
となっています

すべてのファイルでその症状が出ます
新規ファイルで計算をやり直そうとしますが
計算操作をした時点で、エラーが出て停止するところまではわかりました

ディスク再インストールしましたが、症状は変化しません


この時点で、では何がおかしいと見るべきでしょうか
機材自体まで、さかのぼっておかしいと見るべきでしょうか
エクセルのエラー以外、おかしいところは今のところありません
■ このスレッドは過去ログ倉庫に格納されています

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