X



Excel総合相談所 132

■ このスレッドは過去ログ倉庫に格納されています
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
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は入れないな。
あいつらファイル参照や自動作表どころか単純な関数すら別のブックにシートコピーとかやって効かなくして壊れたと騒ぐ。
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で出力したいのですが
よろしくおねがいします。
行数は日々変動いたします。
0792790
垢版 |
2018/10/28(日) 21:44:41.92
>>791
具体的にデータを作りました

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

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

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

アドレスではなくテーブル名と列名を使った構造化参照での回答がありがたいです
0795790
垢版 |
2018/10/28(日) 22:17:08.21
>>794
これと同じ操作がテーブル違い列違いで30テーブルくらいあるんですよ
0796790
垢版 |
2018/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
0802790
垢版 |
2018/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とか搭載されたのか、知らなかった。

そのうち「先月と同じ報告書」って入力したら同様の書類全部作ってくれるようになるな
0815799
垢版 |
2018/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
0831822
垢版 |
2018/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の方が良いと思う
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を・
■ このスレッドは過去ログ倉庫に格納されています

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