Excel総合相談所 134

レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@そうだ選挙にいこう2019/02/15(金) 15:31:58.60
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

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

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

Excel VBA 質問スレ
https://find.5ch.net/search?q=excel+vba

【質問不可】Excel総合相談所スレの雑談・議論スレ
https://find.5ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80

0952名無しさん@そうだ選挙にいこう2019/04/27(土) 09:06:05.48
>>949
MSのサイト見る限り対象になってる
ただ、実際に可能かどうかは試してみないとわからない

0953名無しさん@そうだ選挙にいこう2019/04/27(土) 09:16:24.85
こんなかんじ

ttps://dotup.org/uploda/dotup.org1832162.png
ttps://dotup.org/uploda/dotup.org1832161.xlsx.html

0954名無しさん@そうだ選挙にいこう2019/04/27(土) 09:24:29.14
↑2021年以降はすべて令和3年表示になるので注意 令和4年以降も表示したい場合は自分で書式を追加しないといけない
それと、条件付き書式なので表で多用すると書式が増殖して動作が重くなるかもしれない。適用先を単独セルじゃなく範囲にするなど自己管理が必要

0955名無しさん@そうだ選挙にいこう2019/04/28(日) 10:10:28.06
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

範囲は A1:F12 です。
3行でワンセットとなり,5セットで15行になります。
各セットとも,一番上の行,つまり1/4/7/10行にランダムに背景色(青・黄・赤)がついています。
それぞれの色がついたセルの2行下の部分,つまりワンセットの3列目に数値が表示されています。
この数値を各背景色ごとに合計したいのです。

よろしくお願いいたします。

0956名無しさん@そうだ選挙にいこう2019/04/28(日) 10:11:38.86
誤記があったため,再度書き込みます。

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

範囲は A1:F12 です。
3行でワンセットとなり,5セットで15行になります。
各セットとも,一番上の行,つまり1/4/7/10行にランダムに背景色(青・黄・赤)がついています。
それぞれの色がついたセルの2行下の部分,つまりワンセットの3行目に数値が表示されています。
この数値を各背景色ごとに合計したいのです。

よろしくお願いいたします。

0957名無しさん@そうだ選挙にいこう2019/04/28(日) 10:52:22.31
色で集計は無理 青=1、黄=2というふうに色をいったん番号に置き換え、番号を元に色付けするべき

0958名無しさん@そうだ選挙にいこう2019/04/28(日) 10:56:05.22
色で集計は無理 青=1、黄=2というふうに色をいったん番号に置き換え、番号を元に色付けするべき

0959名無しさん@そうだ選挙にいこう2019/04/28(日) 16:16:31.63
>>944
ありがとうございます、939です。

行の高さの変更と画像の位置修正を同時にVBAでやっているため、改ページの位置は
マクロ動作時に知りたいです。

その後いろいろと調べて現在下記のような状態なのですが、これだとE5が選択されるだけで
画像の位置が変わりません。どこがおかしいかわかる方いますか?

Cells(2, 5).Activate

For I = 1 To ActiveSheet.Shapes.Count
For J = 2 To ActiveSheet.HPageBreaks.Count

ActiveSheet.Shapes(I).Select
Selection.ShapeRange.Top = ActiveCell.Top
Selection.ShapeRange.Left = ActiveCell.Left

Cells(ActiveSheet.HPageBreaks(J).Location.Row, 5).Activate

Next
Next

0960名無しさん@そうだ選挙にいこう2019/04/28(日) 19:41:49.18
>>958
わかりました。やっぱりそうなんですね。では,質問をし直します。

範囲は A1:F12 です。
3行でワンセットとなり,5セットで15行になります。
各セットとも,一番上の行,つまり1/4/7/10行にランダムに数値(1.2.3…)が表示されています。
それぞれの数値のセルの2行下の部分,つまりワンセットの3行目にも別の数値が表示されています。
この数値をワンセットの1行目の数値ごとに合計したいのです。

1,2,3,3,2,4
○,■,■,△,■,▲
5,6,3,5,4,2

1行目が1であるセットの2行下の合計→5
1行目が2であるセットの2行下の合計→6+4=10
1行目が3であるセットの2行下の合計→3+5=8
1行目が1,2,3でないセットについては集計不要

としたいのです。よろしくお願いいたします。

また,今回の件でやっかいなのは,このファイルが別のところから週1のペースで配布されるため,ファイルにあらかじめ表や数式を埋め込めないのです。
よって,マクロをコピペしたほうが手間が少ないので,マクロでの解決の方がありがたいです。(マクロにパスワードなどは設定されていません。)
配信されたファイルに,自分で解決マクロをコピペし,そのファイルは自分の手元のみに残り,誰かに使わせることはない。ということです。

0961名無しさん@そうだ選挙にいこう2019/04/28(日) 21:27:52.61
>>959
こんな感じ?
ただこのマクロ、ページと画像のindexが合ってる保証がない
要は2P目の画像を最初に作ったあとに1P目の画像を作った場合、このマクロを走らせると入れ替わってしまう
そこだけ目視にするか、
IDが順番どおり並んでるか確認するマクロを別途作るかだな

Sub foo()
基準列 = 5 'E列
For ページ = 1 To ActiveSheet.HPageBreaks.Count + 1 'ページを基準とする。余計ややこしかったらすまん
'移動
If ページ = 1 Then
Cells(2, 基準列).Activate
Else
Cells(ActiveSheet.HPageBreaks(ページ - 1).Location.Row + 1, 5).Activate
End If
ActiveSheet.Shapes(ページ).Select
Selection.ShapeRange.Top = ActiveCell.Top
Selection.ShapeRange.Left = ActiveCell.Left
Next
End Sub

0962名無しさん@そうだ選挙にいこう2019/04/28(日) 21:40:20.26
>>960 つくった 拡張子はxlsmに変更してから開いて。VBAがつかえるならこれくらいつくればいいのに

ttps://dotup.org/uploda/dotup.org1833576.txt.html

0963名無しさん@そうだ選挙にいこう2019/04/28(日) 21:54:48.16
まちがえた

 For i = 1 To 5
For j = 1 To 6

 For i = 1 To 6
For j = 1 To 5

0964名無しさん@そうだ選挙にいこう2019/04/29(月) 00:31:45.41
>>961
これでいけそうな感じです、ありがとうございます
画像のindexについてはすべて同じ画像なので問題ないです

ページが増えて画像が足りなくなる場合に手動でコピー以外に方法がないか
もう少し考えて見ます

0965名無しさん@そうだ選挙にいこう2019/04/29(月) 01:07:29.85
>>964
同じ画像を使うなら、カメラ機能ってのがある。今は図のリンク貼り付け、って言うんだっけな
もしよかったら試してみて、画像は一個だけで済むので軽くなる
ただ、動作は重くなるかも知れない。

それか、行のヘッダを使っても画像は一枚で済むと思う。ただ印刷用の調整はしづらく成る

0966名無しさん@そうだ選挙にいこう2019/04/29(月) 01:49:35.05
>>965
すでにデータと画像が入力済みのブックを修正しているのですが、データが3ページなら
画像も3ページまで1枚ずつで3枚(同じ画像が3枚)、4ページなら4枚、となっていて、
それの行の高さを高くするために画像が足りなくなる場合がある、という状態です。

画像が足りない場合のコピーについては以下で行けそうです
Sub copy()

Rows.RowHeight = 25 '先に高さを変えてページ数を確定(現状は18)

Dim 頁数 As Integer
Dim 画像数 As Integer

頁数 = ActiveSheet.HPageBreaks.Count
画像数 = ActiveSheet.Shapes.Count

For N = 0 To 頁数 - 画像数 '足りない分の画像を補充
ActiveSheet.Shapes(1).copy
ActiveSheet.Paste

Next N

Call foo

End Sub

961で教えていただいたプロシージャ(foo)の上部にこれをそのまま追加したら
Cells(ActiveSheet.HPageBreaks(ページ - 1).Location.Row, 5).Activate
の部分が「インデックスが有効範囲にありません」とエラーになってしまうので
Callで呼び出してみたらうまくいきました

0967名無しさん@そうだ選挙にいこう2019/04/29(月) 02:03:52.07
>>962-963
ありがとうございます。
作っていただいたマクロを拝見し,基本的な構造がわかりました。
それを実情に合わせるのに,こんな時間までかかってしまいました。
私のマクロのスキルはそんな程度です。
これで今週からずいぶん楽ができそうです。
本当にありがとうございました。

0968名無しさん@そうだ選挙にいこう2019/04/29(月) 11:07:52.20
VBAってどうやって勉強すればいいの?
パソコン教室?専門学校?

0969名無しさん@そうだ選挙にいこう2019/04/29(月) 11:14:30.11
金があるならオフィス田中のセミナー
無いなら業務をいかに楽できるかを考えて実行していれば自然と

0970名無しさん@そうだ選挙にいこう2019/04/29(月) 13:33:14.17
IE上のページで2時間毎に自動ログアウトされるのが鬱陶しいのです
最後のページ操作から2時間してから操作しそうとする(何かしらのリンクをクリックする)とパスワード入力画面が出る仕様ですが何かないでしょうか

0971名無しさん@そうだ選挙にいこう2019/04/29(月) 14:18:31.31
誤爆かなw

0972名無しさん@そうだ選挙にいこう2019/04/29(月) 14:27:31.82
>>970
IEじゃなくchromeなら拡張機能もtemp monkeyだっけな、あれ使えば行ける
ただ使い方は他で聞いてくれ

0973名無しさん@そうだ選挙にいこう2019/04/29(月) 14:54:25.08
あ、一応excelのVBAでできないかなって話です

0974名無しさん@そうだ選挙にいこう2019/04/29(月) 16:15:33.04
>970
vbaにタイマーないからめんどくさいな
セッションを保持したいなら、jsか何かで裏で開くとかやってみると行けるかも

0975名無しさん@そうだ選挙にいこう2019/04/29(月) 16:20:08.92
application.ontimeで適度に再読み込み

0976名無しさん@そうだ選挙にいこう2019/04/29(月) 19:17:03.09
これでええやん

https://www.vector.co.jp/soft/win95/net/se231018.html
IE表示自動更新くん
https://www.vector.co.jp/soft/win95/net/se233371.html
Web表示自動更新くん
https://www.vector.co.jp/soft/win95/net/se167058.html
自動更新ブラウザ

0977名無しさん@そうだ選挙にいこう2019/04/29(月) 20:18:36.23
>>968
VBA学びたいからパソコン教室いくよ。独学じゃしんどいわ。

0978名無しさん@そうだ選挙にいこう2019/04/29(月) 21:06:06.56
VBAって所詮BASICだし本を何冊か読んで順番にやれば、仕事で使う簡単なシステムを作る程度なら独学でなんとかなったな
アルゴリズムを理解できるかどうかだと思う

0979名無しさん@そうだ選挙にいこう2019/04/29(月) 22:20:34.19
>>978
言語はなんでもプログラミングになれてるかどうかっての大きいね
私はエクセルは4ヶ月ちょいだけど元プログラマだからな

0980名無しさん@そうだ選挙にいこう2019/04/29(月) 22:30:00.98
>>976
セキュリティの問題でフリーソフト使えないのよ
>>975だと作業中に不意にログインし直し入って作業水の泡みたいにならないかな

0981名無しさん@そうだ選挙にいこう2019/04/29(月) 22:56:41.64
vbaは標準モジュール、シートモジュールが恐ろしくとっつきにくい
いきなりスコープを覚えにゃならん
標準モジュールだけにしとけば良かったのに

0982名無しさん@そうだ選挙にいこう2019/04/29(月) 22:58:02.05
>>980
別のIEインスタンス作って、そっちをリフレッシュするんだ
そうすりゃセッションが途切れないはず
chromeで言う別タブみたいな感じ

0983名無しさん@そうだ選挙にいこう2019/04/30(火) 01:55:08.62
>>970
板違いになるがhtmlヘッダーのmetaタグでrefreshで自動更新すれば?

0984名無しさん@そうだ選挙にいこう2019/04/30(火) 02:54:40.41
vbaがPythonに置き換わるてのは本当ですか

0985名無しさん@そうだ選挙にいこう2019/04/30(火) 06:38:08.22
>>983
サーバー側に手を入れろってか?
それができるなら自動ログアウト切るだろ

0986名無しさん@そうだ選挙にいこう2019/04/30(火) 06:43:27.99
エクセルのセルからVBAを呼ぶことは出来るのでしょうか?
例えば"A1"のセルに CALL "なんたら"ってサブルーチンで
計算させた値を返すようなことはできるのでしょうか?

0987名無しさん@そうだ選挙にいこう2019/04/30(火) 07:46:09.69
>>986
出来るよ
A1セルの値が○○になったら等の条件で

0988名無しさん@そうだ選挙にいこう2019/04/30(火) 08:01:35.36
>>986
vba ユーザー定義関数
とかでググるがよい

0989名無しさん@そうだ選挙にいこう2019/04/30(火) 08:53:10.50
>>987
>>988
どもです Functionってのを使えばいい見たいと解りました

0990名無しさん@そうだ選挙にいこう2019/04/30(火) 12:21:47.59
>>989
ユーザー定義関数なんて使わないよ
イベントで大丈夫

0991名無しさん@そうだ選挙にいこう2019/04/30(火) 18:39:10.76
元号のgggeeのgとeって何の略ですか?

0992名無しさん@そうだ選挙にいこう2019/04/30(火) 22:07:46.88
>>991
gengouのgeじゃね?知らんけど。

0993名無しさん@そうだ選挙にいこう2019/05/01(水) 08:14:04.58
エクセル2010 平成バッチを当ててるけど、令和になりません。

=DATESTRING(TODAY()) → 平成31年5月1日 になります。

残念。

0994名無しさん@そうだ選挙にいこう2019/05/01(水) 10:06:37.62
令和はVBAを学ぶ時代にしたい。みなさんよろしくお願いします。

0995名無しさん@そうだ選挙にいこう2019/05/01(水) 10:31:58.00
>>994
いいね!自分はExcel統計解析を学ぼうと思っている

0996名無しさん@そうだ選挙にいこう2019/05/01(水) 12:41:08.52
埋め

0997名無しさん@そうだ選挙にいこう2019/05/01(水) 13:47:05.90
埋める前に新スレたてようぜ

0998名無しさん@そうだ選挙にいこう2019/05/02(木) 07:44:13.14
うんこでた

0999名無しさん@そうだ選挙にいこう2019/05/02(木) 08:14:14.39
VBA頑張ろ!

1000名無しさん@そうだ選挙にいこう2019/05/02(木) 08:15:11.34
ここにいる凄い人達に追いつきたい!

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 75日 16時間 43分 13秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。