X



Excel総合相談所 132
レス数が950を超えています。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
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が一番だよパトラッシュ・・抜け道あるかもわからん
0854853
垢版 |
2018/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
でも通るって上に出てるじゃん

正規表現使いたい・・・使いたくない?
まぁあんまりテクニカルな事すると漏れが出てくるね
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で
0874872
垢版 |
2018/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
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
今あげましたサンプルの最後に夕食後薬が二重で
入力してますが、それも間違いです。漏れと二重と
二種類の間違いがあるのです。
レス数が950を超えています。1000を超えると書き込みができなくなります。

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