X



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
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行目に数値が表示されています。
この数値を各背景色ごとに合計したいのです。

よろしくお願いいたします。
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
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ってどうやって勉強すればいいの?
パソコン教室?専門学校?
0970名無しさん@そうだ選挙にいこう
垢版 |
2019/04/29(月) 13:33:14.17
IE上のページで2時間毎に自動ログアウトされるのが鬱陶しいのです
最後のページ操作から2時間してから操作しそうとする(何かしらのリンクをクリックする)とパスワード入力画面が出る仕様ですが何かないでしょうか
0971名無しさん@そうだ選挙にいこう
垢版 |
2019/04/29(月) 14:18:31.31
誤爆かなw
0974名無しさん@そうだ選挙にいこう
垢版 |
2019/04/29(月) 16:15:33.04
>970
vbaにタイマーないからめんどくさいな
セッションを保持したいなら、jsか何かで裏で開くとかやってみると行けるかも
0978名無しさん@そうだ選挙にいこう
垢版 |
2019/04/29(月) 21:06:06.56
VBAって所詮BASICだし本を何冊か読んで順番にやれば、仕事で使う簡単なシステムを作る程度なら独学でなんとかなったな
アルゴリズムを理解できるかどうかだと思う
0981名無しさん@そうだ選挙にいこう
垢版 |
2019/04/29(月) 22:56:41.64
vbaは標準モジュール、シートモジュールが恐ろしくとっつきにくい
いきなりスコープを覚えにゃならん
標準モジュールだけにしとけば良かったのに
0983名無しさん@そうだ選挙にいこう
垢版 |
2019/04/30(火) 01:55:08.62
>>970
板違いになるがhtmlヘッダーのmetaタグでrefreshで自動更新すれば?
0986名無しさん@そうだ選挙にいこう
垢版 |
2019/04/30(火) 06:43:27.99
エクセルのセルからVBAを呼ぶことは出来るのでしょうか?
例えば"A1"のセルに CALL "なんたら"ってサブルーチンで
計算させた値を返すようなことはできるのでしょうか?
0993名無しさん@そうだ選挙にいこう
垢版 |
2019/05/01(水) 08:14:04.58
エクセル2010 平成バッチを当ててるけど、令和になりません。

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

残念。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 75日 16時間 43分 13秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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