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
0374名無しさん@そうだ選挙にいこう
垢版 |
2018/02/19(月) 15:24:00.62
win10ってそもそもexifを読み込んで写真を勝手に縦にするんだよな
たまに横の写真が縦だったりするわ
で、付属の写真アプリで開いても縦なんだけどフリーソフトとかで開くと横だったりする
フォルダ内で回転させたのとフリーソフト等で回転させた向きが合わずにフォルダ内がカオスになったことあった
0375名無しさん@そうだ選挙にいこう
垢版 |
2018/02/19(月) 21:06:13.92
写真撮影時に写真の縦横がExifに記録されないデジカメもあるしね
そんな画像ファイルはExifデータを修正しておかないと後々面倒だ

まあ切り分けていかないと原因は判りにくい
0376名無しさん@そうだ選挙にいこう
垢版 |
2018/02/20(火) 07:37:57.46
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

指定したシートを、入れたい文字でPDF形式で保存したいと考えています。
具体的には、a-見積書-20180220-20180228.pdfのような感じで
aは参照するセルの内容によって可変。
20180220と20180228は参照するセルによって可変で、当該セルは和暦表示(例:平成30年2月20日)としています。

また、保存先は作業ブックと同じディレクトリをデフォルトととし、
重複する名前のファイルがあった場合の確認ダイアログを表示させたいと考えています。

ExportAsFixedFormat Type:=xlTypePDF、Application.DisplayAlertsの使用と
FilenameをString宣言するまでは、調べてわかったのですがファイル名の日付への反映がうまくいきません

よろしくお願いします。
0377名無しさん@そうだ選挙にいこう
垢版 |
2018/02/20(火) 22:29:06.63
>>376
こんなんでいけるんじゃない

Sub Macro1()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & Format(Cells(1, 1), "yyyymmdd"), Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End Sub
0379名無しさん@そうだ選挙にいこう
垢版 |
2018/02/20(火) 23:41:43.37
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
オートフィルタで絞ったまま可視セルのみでセル移動をし、さらに移動した可視セルに入力した内容を可視セルの一番下までペーストするため引っ張りたい

オートフィルタで絞る列はもちろんデータが入ってますが、他に空白の列がありその列の可視セルだけにデータを入力しそのまま下までペーストしたいのがやりたいことです

普通にoffsetでセル移動すると非表示セルへ移動しデータを記載してしまいます
検索しましたが解決できていません

宜しくお願いします
0382名無しさん@そうだ選挙にいこう
垢版 |
2018/02/21(水) 18:10:20.08
手作業だと出来ても、それを記録したマクロはダメってこともあるよね

俺は印刷設定の改ページを変更したくて、
それをマクロの記録でコードにしたけど、
そのコードを実行しても改ページは変更できなかった

具体的な記録内容としては
ファイル開いて、改ページプレビューにして、改ページ位置の点線を動かした
でも手作業では上手くいくのに、そのマクロでは何にも変わらなかった
0383名無しさん@そうだ選挙にいこう
垢版 |
2018/02/21(水) 21:31:01.61
>>379
どこまで自動化するのかわからないけど、オートフィルタしてあると仮定して
Dim ftable As Range 'オートフィルタの選択範囲
Dim target As Range 'それぞれの抽出セル

'A1にオートフィルタデータがあるとして
Set ftable = Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)

For Each target In ftable
'この辺で好きにしたらいいと思う
Debug.Print "セル位置" & target.Address
Next target
0384379
垢版 |
2018/02/21(水) 22:28:59.06
offsetで解決できました
ありがとうございました
0385ほんとの379
垢版 |
2018/02/21(水) 23:00:25.66
>>382,>>383
レスくださった方々ありがとうございます。
>>384が379になりすまして書いてますが自分が>>379を書いた者です

>>383を試しまたレスするようにします
ありがとうございます

>>381
記録だと具体的なセル番地を読み込んでしまうだけでした。。
0386ほんとの379
垢版 |
2018/02/21(水) 23:21:10.74
>>383
まだ試す前ですが、入力する値はA1には元々入っている…ことはなく、
例えばオートフィルタして1行目はそれぞれカラムの項目名として
A2,A3が非表示となりA4が1番上にあるとするとしたら、A4にバナナと記載しそれをオートフィルで下まで引っ張る
でまずバナナと入力するセルをA4にしたいのに非表示のA2になってしまうのだ!という事なのです。。。
0387ほんとの379
垢版 |
2018/02/22(木) 06:45:35.73
>>383
>どこまで自動化するのかわからないけど、
>オートフィルタしてあると仮定して

前後は他にもあるけど、オートフィルタ設定、絞る、絞った可視セルに単語記載→下まで引っ張る
このオートフィルタ絞り記載引っ張るの一連を12種類繰り返すので自動化したいという訳なのです
0388ほんとの379
垢版 |
2018/02/22(木) 06:47:20.42
うぉおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
0389名無しさん@そうだ選挙にいこう
垢版 |
2018/02/22(木) 20:36:11.85
shift-spaceで1行選択して、
ctrl-d で上の行をコピー

をすると、行コピーとか挿入とかいろいろ苦労してやらないといけない、
数式や書式をキープしたまま行が増やせて便利
0391名無しさん@そうだ選挙にいこう
垢版 |
2018/02/23(金) 10:32:36.86
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
シート1に数字の表があり、シート2でシート1のA5+A8+A10の計算をしているとき、
シート3で同じくシート1のB5+B8+B10のように列をずらして計算させたいのですが、数が多く手作業では負担が大きいため関数で解決できるとありがたいです。
offsetとindirectの組み合わせでできないか試してみたのですがやり方がよく分からず断念しました
宜しくお願いします
0392名無しさん@そうだ選挙にいこう
垢版 |
2018/02/23(金) 10:50:18.79
391の追記ですが、
シート1のデータは毎回変化するので予めセル指定することができないため、
1か所に入力したものを元に計算できないかと思い質問させていただきました
0394名無しさん@そうだ選挙にいこう
垢版 |
2018/02/23(金) 13:52:33.81
>>393
違うシートの同じセルに列をずらして計算させたいのですが相対指定でずらせるものなのでしょうか?
0395名無しさん@そうだ選挙にいこう
垢版 |
2018/02/23(金) 18:19:48.26
>>391
Sheet1が左端にあって、Sheet1のB3:K12に10行10列のデータがあり
M列に5, 8, 10行目のデータを抽出するために作業列{0;0;0;0;1;0;0;1;0;1} を加える

=SUM(OFFSET(Sheet1!$B$3, 0, SHEET()-2, 10, 1)*Sheet1!$M$3:$M$12)
と入力して shift + ctrl + enter

シートが目的の順に並んでいる限り目的行の和が得られるけど
正直お勧めしない
0398名無しさん@そうだ選挙にいこう
垢版 |
2018/02/23(金) 22:33:28.23
一度作って終わりでいいのかメンテを続ける必要があるのかだな

ちゃんとしたデータ構造になってれば、計算も楽なのが普通
計算が大変なのはちゃんとしてないからで、それでも一度限りなら残業して仕上げればいいけど、
その後誰かが使うなら、その人が可哀想
0399名無しさん@そうだ選挙にいこう
垢版 |
2018/02/24(土) 09:23:40.26
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

年月日を入力したところ全く異なる生年月日に変換されてしまいます
オリジナルの年月日より数十年前の年月日になっています(月日も異なる)
こうなる理由とオリジナルに戻す方法をご存知でしたらお願いします
0403名無しさん@そうだ選挙にいこう
垢版 |
2018/02/24(土) 10:46:57.20
>>401
1975/6/6と入力されたセルは1941/9/16と表示されます

既に変換された生年月日が入力されているため
オリジナルの年月日に直したいのです
0404名無しさん@そうだ選挙にいこう
垢版 |
2018/02/24(土) 11:06:53.63
>>403
原因や法則がわからんことには直しようがないんだよなあ

そのブックを作ったのは誰で、その時に使ったExcelのバージョンはわかる?
日本以外の国で作られた物だとカレンダーの計算がまったく違ってることもあるんだけど
0405名無しさん@そうだ選挙にいこう
垢版 |
2018/02/24(土) 11:09:37.90
>>402
そのセルには数式は入ってない?
そのブックにマクロは登録されてない?

本当にシリアル値になってるかどうか確認したいので、どれか一つ、日付とシリアル値の数字を正確に書き写して
0411名無しさん@そうだ選挙にいこう
垢版 |
2018/02/24(土) 12:35:58.31
409
それって1975/6/6って意味じゃなくて、単純に6桁の数字を入れたら勝手に日付に変わったってこと?
まだ法則が見えてこない
0414名無しさん@そうだ選挙にいこう
垢版 |
2018/02/24(土) 16:25:44.63
>>409
無い
恐らく書式設定が日付のところに
19756辺りを打って、シリアル値が日付に変換されたのだろう

1941/9/16も間違っているはず
19756だと1954/2/1になるからこの辺の日付だろう
0416名無しさん@そうだ選挙にいこう
垢版 |
2018/02/25(日) 12:04:35.27
ロケールの問題だったりして?

あと、そのセルの現在の表示形式ってまだこのスレには書いてもらってないよね
標準に変更する前にちゃんと確認したのかな
0417名無しさん@そうだ選挙にいこう
垢版 |
2018/02/25(日) 12:40:53.41
2017/1/11 も 2017/11/1 も 2017111 なのか知りたい
因みに、桐からもらったフォーマットだと 2017/ 1/11 とか 2017/11/ 1 とかが有って「を?」と思ったことはある
その時はインポートした後に 確かに変な日付に成ってた
CSVにエクスポートした相手の担当が無頓着だっただけだろうが
0418379
垢版 |
2018/02/25(日) 14:28:45.66
>>409
新規のブックだけ開いて入力してどうか
それでも正しい日付にならないならエクセル側の問題
該当のブックやシートのみなら一回書式をクリアするなりでやり直してどうか
0420名無しさん@そうだ選挙にいこう
垢版 |
2018/02/25(日) 14:32:53.96
質問してる人は入力してないんだよな
こういう風に入力したと聞いてるのに、そうなってない
何でだ

実はそう入力してないからという単純な話な気がする
0421名無しさん@そうだ選挙にいこう
垢版 |
2018/02/25(日) 15:10:07.55
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

ピボットテーブルで、全てユニークなデータの場合、
「Σ:値」に入れる項目は何が良いでしょうか
0423名無しさん@そうだ選挙にいこう
垢版 |
2018/02/25(日) 21:32:18.33
>>422
求人の集計です。タウンワーク、バイトルなどの媒体に求人を出していて、
どの求人媒体が効果的か・・・と言った感じです
他には最終的な合格率なども求めます
データは以下のような感じです
日時は同じセルに入っています

日時 媒体 結果
1/1 9:00 タウンワーク 合格
1/1 10:00: バイトル 辞退
1/2 10:00 タウンワーク 不合格
1/3 10:00 バイトル 辞退
0424名無しさん@そうだ選挙にいこう
垢版 |
2018/02/25(日) 21:34:02.17
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

ピボットテーブルで、「行ラベル」「列ラベル」の文字列を非表示にすることはできますか?
0427名無しさん@そうだ選挙にいこう
垢版 |
2018/02/26(月) 14:48:49.21
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

リンク先に飛びたい時、マウスでクリックするのではなく
リンクのところまでセルを動かして、キーボードのボタンだけで
移動するのってどうすればよいのでしょうか?
0428名無しさん@そうだ選挙にいこう
垢版 |
2018/02/26(月) 17:38:08.48
【1 OSの種類         .】 Windows 10
【2 Excelのバージョン   】 Excel 2016
【3 VBAが使えるか    .】 いいえ(コピペして貼り付ける程度です)
【4 VBAでの回答の可否】 否

あるセルに文字列と数字が混ざっていて、そこから他のセルに数字だけ抽出する場合はどうすれば良いでしょうか
また数字も全角の場合は文字列扱いとなりますが、これを数字に変換して抽出する事は可能ですか?
WebクリエからGoogle為替レートのドル円為替相場のデータから数字だけを抽出したいと考えています
円/ドルだと、例ですが「1JPY/USD =0.00133」と表示されます
このうち、0.00133を抽出したいのです
全角数字の場合は文字列になってしまいますが…外国の友達に送るものなので、できれば半角英数字に変換できるのが1番好ましいです
0429名無しさん@そうだ選挙にいこう
垢版 |
2018/02/26(月) 17:39:29.04
クリエ→クエリですすみません
0434名無しさん@そうだ選挙にいこう
垢版 |
2018/02/27(火) 00:14:57.33
エクセル2010です。
一つのエクセルで複数のブックを開き、表示を標準(最大、最小以外)にしたときに、
ブックの上部がエクセルリボンの下に入ってしまい、ブックをエクセル上で移動できない状況になるときがあります。
この状況を打開するにはどうしたらよいでしょうか?
回答お願いいたします。
0437名無しさん@そうだ選挙にいこう
垢版 |
2018/02/27(火) 12:00:12.37
>>428
規則性が無いと難しそうだ

あとアポストロフィ付きの数字があると面倒だな
ISNUMBER関数だと文字列と判定される
VALUE関数なら数値になるけど
0438名無しさん@そうだ選挙にいこう
垢版 |
2018/02/27(火) 15:57:09.72
以前下記のExcelでメールを作成してメールソフトに流し込むVBAを教えてもらいました
件名と本文が中国語等日本語以外だとメールソフトに流し込まれた時に文字化けします
メールソフト側でUTF-8のメールを作成するようVBAでコントロールできないでしょうか

Sub createMail()
CreateObject("Wscript.Shell").Run _
"mailto:" & URLEncode(Range("B4").Value) & _
"?cc=" & URLEncode(Range("B5").Value) & _
"&subject=" & URLEncode(Range("B6").Value) & _
"&body=" & URLEncode(Range("B7").Value)
End Sub

Function URLEncode(ByVal strOrg As String) As String
With CreateObject("ScriptControl")
.Language = "JScript"
URLEncode = .CodeObject.encodeURI(strOrg)
End With
End Function
0442名無しさん@そうだ選挙にいこう
垢版 |
2018/02/27(火) 20:23:34.05
【1 OSの種類         .】 Windows 10
【2 Excelのバージョン   】 Excel 2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

セルに計算結果が表示され、その計算結果が1未満であれば1、1以上であればその数字を表示させるにはどうしたら良いでしょうか。

例えばC1が=A1×B1となっており、
A1×B1が0や-1であれば、C1に1と表示され、
A1×B1が1であればC1に1、2であればC1に2と表示されると言った感じです。

よろしくお願い致します。
0446名無しさん@そうだ選挙にいこう
垢版 |
2018/03/03(土) 10:23:28.78
391です
返事が遅くなって申し訳ない

>>395
この例だと毎回作業列に手を加えないといけなさそうですね…
知識として参考にさせていただきます
ありがとうございました

>>396
txtファイルはウイルスバスターで弾かれて見れておりません…
一応具体的な構成ですが、
・システムから出力される毎月の営業成績データから個人別に各項目の売上小計及び合計を出したい
・個人別のシートが既に作成されており、営業データから各項目を足して小計を出していく
・営業成績データの項目数が毎月変化するので小計部分の位置がその月によって変化する
・営業成績シートの構成としては、A列項目名、B列項目詳細、C〜J列個人別売上金額
分かりづらくてすみませんがこのような状態です

>>397
毎回調整作業をする必要はありますが作業量の減少はできそうですね
目的の式が作れなかった場合はこの方法でやっていこうと思います
ありがとうございました
0447名無しさん@そうだ選挙にいこう
垢版 |
2018/03/03(土) 11:58:14.72
表示されてない行があって、再表示では表示されず、オートフィルターを解除してもダメ
で結局、VBAで行高さを確認したところ2000行ぐらいのデータのうち高さ0が十数行もあった。
高さ変更して解決したと言えばしたんだけど、なんで高さ0になっちゃったんだろ?
知らず知らずのうちマウス操作ミスって高さ変更ドラッグとかやってしまってるんだろか?
どうも納得がいかない
0448名無しさん@そうだ選挙にいこう
垢版 |
2018/03/03(土) 13:04:23.36
複数シート選択してるのに気付かずに、
高さ変更とかした影響がよそに及ぶことがある

複数シート同時編集とかやることは希なんだから、
明示的に有効にしない限りoffになってて欲しい
0450名無しさん@そうだ選挙にいこう
垢版 |
2018/03/03(土) 15:29:37.22
>>448
複数シート選択してるとそういうこともあるんですね
でもそんなことしてるとは到底思えないんです。

たまたま操作ミスで高さゼロにしてしまうことがあるのなら、
行高さをが5だったり、時には20だっりとかあると思う。
でもなぜか高さ0ばかり。

人為的なミスで高さ0が連発ってありえないような気がするんだけど、
人為的ミス以外に高さ0が発生する要因ってあるんですかね?
0454名無しさん@そうだ選挙にいこう
垢版 |
2018/03/03(土) 23:09:07.97
vbaマクロで、ヘッダーにシート名を付けるにはどう記述スレば良いでしょうか?
マクロの記録だと以下のようになります

With ActiveSheet.PageSetup
  .CenterHeader = "ヘッダータイトル &A"
End With
0455名無しさん@そうだ選挙にいこう
垢版 |
2018/03/03(土) 23:42:38.50
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ピボットテーブルで質問です
以下のデータがあるとして、
ピボット一発で集計する方法はありますか

id 項目
1 りんご
2 みかん,りんご
3 ばなな
0456名無しさん@そうだ選挙にいこう
垢版 |
2018/03/03(土) 23:49:14.34
>>451
Ctrl+9で行非表示って初めて知りました
でも行非表示と行高さ0って同じなんですかね?

Ctrl+9で例えば30行目を非表示にすると29、31と行番号が飛んでるけど
29,31行を選択右クリック再表示で30行目が表示されるはずだけど
>>447にも書きましたが、このときには再表示でも表示されなかったんですよ・・・
0458名無しさん@そうだ選挙にいこう
垢版 |
2018/03/04(日) 00:58:04.05
高さ0や非表示は再表示で表示される

高さ1みたいな、カーソルは止まるけど見えないようなのは、
再表示してもそのまま
0459名無しさん@そうだ選挙にいこう
垢版 |
2018/03/04(日) 01:24:14.84
高さ0と非表示は違うと思ってたけど、同じみたいね。
どちらも0(非表示)にする前の高さ情報持ってるし、同じ操作で再表示できるし。
subtotal関数の引数にしても、同じ結果になるし。
0460名無しさん@そうだ選挙にいこう
垢版 |
2018/03/04(日) 07:59:25.92
行に対して高さ情報と表示フラグがあって、
高さを変える処理は高さだけ変えてフラグはそのままの筈なんだけど、
0の時だけ例外的に高さ情報はそのままでフラグの方を変える
0463459
垢版 |
2018/03/04(日) 09:11:48.95
vbaでhiddenプロパティ取得しても、どちらもtrueになってる。
高さ0にしても、非表示にしても、hiddenはtrueになる。
verは2016(365)。
知らなかったな、というか以前は違った気がする。
0465名無しさん@そうだ選挙にいこう
垢版 |
2018/03/04(日) 10:12:59.97
非表示にしたのと高さ0にしたのと、xlsxファイルを展開して比較しても、
時刻以外に差分は無いので完全に同一だと思っていい
0470名無しさん@そうだ選挙にいこう
垢版 |
2018/03/04(日) 17:32:52.03
>>468 フィルタは解除したんですが再表示されなかったんです。
>>469 確認できる最も古いデータは2015年。自分の記憶を辿ってもOffice2010を買って以降のものと思われます。
0471名無しさん@そうだ選挙にいこう
垢版 |
2018/03/04(日) 17:45:49.46
フィルターは解除したつもりが解除できてないことが多いからなあ
全解除ボタンがあるのに隠しコマンドみたいになってるし
■ このスレッドは過去ログ倉庫に格納されています

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