X



Excel総合相談所 135

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙にいこう
垢版 |
2019/05/02(木) 08:46:03.35
【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
0800名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:15:57.75
>>799
ありがとうございます。確かに見直したら教えてくれてる方一人いましたね。
ただこちらで教えてくださった方の答えと照らし合わせたら食い違ってる答えが多かったのと
スレの流れからして嘘を教えてるんじゃないか?という判断であちらは中断しました
0802名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:20:20.63
高校生だろ?
もしかして、そもそも躓いているところが違うんじゃないの?
行と列の縦横がわからないとか、単価の意味が分からないとか?
0805名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:31:44.59
vbaスレ見て分かった、エクセルを使った事が無いらしい
まぁ高校なら出席日数足りてりゃ卒業できるし、補修ヤリたくなかっただけだろ
0806名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:36:41.63
試験でも小論文でもないけど
期日までに全て正解した状態で完了しないと出席足りてても単位にならないみたいなので
なので困ってます
0808名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:39:25.65
どんな学校だそれwwww
誰かに嘘を吹き込まれてないか!?
小学校6年生になったら、機械式の物凄く痛い注射をされます、みたいなさ。
0809名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:45:16.80
>>807
期日は7/24です。一見長いように見えますが提出してから返却するまでに時間がかかるので
1,2回しか提出チャンスはないです。だからなるべく一回で済ませたいと此処の方に頼ってます
0811名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:50:55.39
凄い高校だなそりゃ。
計算式を入れて送信ボタン押すと、生徒の回答がVBAで自動集計されるとか、そういうの無いのかよ。
エクセルの問題を紙で出題って、昭和の発想だぞ。
0814名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:57:22.88
>>809
余裕ありそうに見えるけどもしかして定時制とか?
先生に分からないところ質問した方がいいと思うよ
自分も高校の時情報処理テスト落としたら赤点って言われたけど頑張ってる姿勢を見せたら免除された
上手く立ち回りな
0815名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:58:24.85
EXCEL使ってて気づいたんだけど、
フォーメーションZって、あれ絶対多重スクロールがやりたかっただけだよな。
意味はないけど、面白そうだからVBAでやってみたかったって感じによく似てる。
0818名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 23:19:43.36
D3セルの数値が,A1〜A10の範囲に存在し,かつそのA列セル右隣のB列セルが0であった場合に色を付ける

という条件付き書籍ではどのような数式を書けばいいのでしょうか?
↓では駄目なようです。

=offset(countif($A$1:$A$10,$D$3),0,1)=0
0821Mambow
垢版 |
2019/07/13(土) 00:54:20.99
>>818
=SUMPRODUCT((A1:A10=D3)*(B1:B10=0)*(B1:B10<>""))>0
0823名無しさん@そうだ選挙にいこう
垢版 |
2019/07/13(土) 02:11:57.00
最近Excelしかやってなくてもともとパソコン関連みたいなの苦手です
メッセージボックスをOK押さなくても消えるようにWindowsのスプリクト使って組んでそれはうまくいったんですが
そういうVBAでやりきれないことをやるものって何を勉強したら使えるようになるんでしょうか?
Excelのエキスパートまで取り終わったからaccess始めたけど面白くなくて
やっぱりExcelに役立つものやりたいなと思ってます
0825名無しさん@そうだ選挙にいこう
垢版 |
2019/07/13(土) 02:36:05.51
>>824
アプリを作るって発想がなかったけどそうですね
バーコード作るのとか利用してるけどそっち作ればいいのか
ちょっと検討してみます
ありがとうございます
0829たすけて。。
垢版 |
2019/07/14(日) 13:45:28.19
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013 Word2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可(優しめでお願いします)

エクセルにある複数のシートのセルの値を読み込んでワードで文書をつくりたい。

エクセルとワードのデータ連携は、「差し込み印刷」の作成と近いのだけど、
「差し込み印刷」はエクセルの行データから、次々にラベル欄を作っているのに対して

私がやりたいのは、複数のシートから複数のセルのテキストデータを個別に読み込んで
1枚のワード文書を作成させたい。

「ワード エクセルデータ フィールド」で検索しても「差し込み印刷」の方法しか見当たらない。
何か良い方法。参考になるサイトありますでしょうか?
0830名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 14:01:03.66
「複数のシートから複数のセルのテキストデータを使って、1枚のワード文書を作りたい」
↑説明として雑すぎる
データベースとレポートの関係に近く見えるので、一般的にはAccessとかのDBツールの範疇
あくまでWordにこだわるならVBAでゴリゴリ処理を作成するしかないだろう
0831Mambow
垢版 |
2019/07/14(日) 14:09:37.77
>>829
Excelに各シートにどういう形式でデータがあるか具体的に書かないとアドバイスできないな
0832名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 14:12:02.19
最後のWord文書が定型で、データを埋め込む場所が固定なら、
複数シートのデータを一つのシートにまとめるマクロ組んで差し込みにした方が簡単じゃないかな
0833たすけて。。
垢版 |
2019/07/14(日) 14:19:09.65
ありがとうございます。

抽出するエクセルのセルデータの数が、200件ほどあって
列ごとに一つのデータがまとまっているわけでないです。

「差し込み印刷」みたいな、列ごとにデータをまとめてラベルを印刷するわけでないので、
もしかしたら便利な方法があるかなあと思いました。

>データベースとレポートの関係に近く見えるので、一般的にはAccessとかのDBツールの範疇
>あくまでWordにこだわるならVBAでゴリゴリ処理を作成するしかないだろう

まさにそのヒントが欲しかったです。VBAで何とかしてみます。
ありがとうございます。
0834たすけて。。
垢版 |
2019/07/14(日) 14:23:27.58
すいません。。

×
「差し込み印刷」みたいな、列ごとにデータをまとめてラベルを印刷するわけでないので、

「差し込み印刷」みたいな、行ごとにデータをまとめてラベルを印刷するわけでないので、
0835名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 14:30:22.00
>>831
ありがとうございます。抽出するセルの数が多すぎて、
具体的に説明するにはちょっと時間がかかるのですいません。
セルのデータ自体はただのテキストデータです。

>>832
>最後のWord文書が定型で、データを埋め込む場所が固定なら、
>複数シートのデータを一つのシートにまとめるマクロ組んで差し込みにした方が簡単じゃないかな
私もそう思いました。ありがとうございます!
0836たすけて。。
垢版 |
2019/07/14(日) 17:34:25.66
取り急ぎなのですが、monthProgramiというシートのオブジェクトにある、B列2行目から値がある場合、sという文字列オブジェクトに値を加えようとするループです。
VBAは久しぶりすぎて、戸惑ってます。
::::::::::::::::::::::::::
monthProgramiというシートオブジェクト
B列
(B1)週間テーマ
(B2)読む・書く
(B3)対人関係
(B4)家事
(B5)#N/A
::::::::::::::::::::::::::
VBAを実行すると
「読む・書く,対人関係,家事」
と出力されればOKです。
::::::::::::::::::::::::::
こう書いてみましたが、、どこが悪いでしょうか?

Sub プログラム結合版()
Dim i As Long
Dim s As String
i = 2
Do While Cells(i, 2) <> "" _
s += monthProgram.Cells(i,2).Value _
s += "," _
i += 1
Loop
Debug.Print (s)
End Sub
0837名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 17:36:16.88
>>835
Excelのセルに入った大量の文章は、メモ帳経由でコピペすれば単なるテキストに変換されるよ

Excelでコピー
メモ帳にペースト
メモ帳でコピー
Wordにペースト

こんだけの簡単な作業
0838たすけて。。
垢版 |
2019/07/14(日) 17:36:41.32
すいません。
×
monthProgrami

monthProgram
です。。。
0839たすけて。。
垢版 |
2019/07/14(日) 17:41:55.88
>>837
ありがとうございます。
単にコピペするのでなくて、必要なセルだけを抽出して、Wordファイルを完成させるのです。。
0840名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 17:42:59.74
>>836
Sub プログラム結合版()
  Dim i As Long
  Dim s As String
  i = 2
  Do While Cells(i, 2) <> "" And Not IsError(Cells(i, 2).Value)
    s = s + Worksheets("monthProgram").Cells(i, 2).Value
    s = s + ","
    i = i + 1
  Loop
  s = Left(s, Len(s) - 1)
  Debug.Print (s)
End Sub
0841たすけて。。
垢版 |
2019/07/14(日) 17:57:33.72
>>840
ありがとうございます。
「オブジェクトが有効範囲にありません」というエラーが返ってきます。
オブジェクト名は正しいはずなのですが、、
コードの問題でなく、何かのエクセルの環境ですよね。
0842たすけて。。
垢版 |
2019/07/14(日) 18:09:20.28
自己解決しました
>>840のコードを次のように変更したら正しく出力されました!!!
>>840さんありがとうございました。

s = s + Worksheets("monthProgram").Cells(i, 2).Value

s = s + monthProgram.Cells(i, 2).Value
0844たすけて。。
垢版 |
2019/07/14(日) 19:47:08.99
度々すいません。先のものを発展させて、次のようにエクセルデータがあります
A B C
1 日程 週間テーマ
2 12月2日〜 読む・書く 作文
3 12月9日〜 対人関係 会話のマナー
4 12月16日〜 家事 料理
5
6
7
8 作成年度
9 2018
10 作成月
11 12
:::::::::::::::::::::::::::::::::::下のように出力したい:::::::::::::::::::::::::::::::::::
【2018年度プログラム結合版、プログラム表紙、カリキュラム】
2018年度12月 2018年12月 [大テーマ]読む・書く,対人関係,家事 [小テーマ] 作文, 会話のマナー,料理
0845たすけて。。
垢版 |
2019/07/14(日) 19:47:53.67
:::::::::::::::::::::::::::::::::::作ったソース:::::::::::::::::::::::::::::::::::
Sub プログラム結合版()
Dim i As Long
Dim h As String
Dim s As String
Dim yyyy As String
Dim mm As String
yyyy = Str(monthProgram.Cells(9, 1).Value)
mm = Str(monthProgram.Cells(11, 1).Value)
h = "【" + yyyy + "年度プログラム結合版、プログラム表紙、カリキュラム】"
s = yyyy + "年度" + mm + "月" + yyyy + "年" + mm + " 月[大テーマ]"
i = 2
Do While Cells(i, 2) <> "" And Not IsError(monthProgram.Cells(i, 2).Value)
s = s + monthProgram.Cells(i, 2).Value
s = s + ","
i = i + 1
Loop
s = Left(s, Len(s) - 1)
s = s + "[小テーマ]"
i = 2
Do While Cells(i, 3) <> "" And Not IsError(monthProgram.Cells(i, 3).Value)
s = s + monthProgram.Cells(i, 3).Value
s = s + ","
i = i + 1
Loop
s = Left(s, Len(s) - 1)
Debug.Print (h)
Debug.Print (s)
End Sub
動きません。何がわるいでしょうか??
0846たすけて。。
垢版 |
2019/07/14(日) 19:52:34.14
あ、TABが効かないのかあ。これでわかるのかな。。

-, A, B, C,
1, 日程, 週間テーマ,
2, 12月2日〜, 読む・書く, 作文,
3, 12月9日〜, 対人関係, 会話のマナー,
4, 12月16日〜, 家事, 料理,
5,
6,
7,
8, 作成年度,
9, 2018,
10, 作成月,
11, 12,
0849名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 21:35:51.15
詳しく見てないけどyyyy=の行で止まるんじゃないか
monthProgram. となってるとこworksheet("monthProgram").cells(〜 では?
シート名が何か分からんけども
0851たすけて。。
垢版 |
2019/07/14(日) 22:32:26.27
>849さん
ありがとうございます。

実際のエクセルでのワークシート名は「学期別カリキュラム」です。なので指摘どおり、
yyyy = Str(monthProgram.Cells(9,1).Value)

yyyy = Str("Worksheet("学期別カリキュラム").Cells(9,1).Value)
と記述してみますと、コンパイルエラーが出てしまいます。

yyyy = Str(monthProgram.Cells(9,1).Value)
だと、エラーも出力もないです。。

VBAは一筋縄ではいけないですねえええ。。
0852たすけて。。
垢版 |
2019/07/14(日) 22:44:19.05
失礼しました。
間違えてました、以下のとおりだとエラーはでません。
×
yyyy = Str("Worksheet("学期別カリキュラム").Cells(9,1).Value)

yyyy = Str("Worksheets("学期別カリキュラム").Cells(9,1).Value)

ただ、エラーも出ませんが、出力もでません。。。
0853名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 22:48:39.01
>>852
まだ書き間違いしてる
変な位置にダブルクォートが入ってるから、それでもエラーが出るはず
それはともかくStrを外してみ

yyyy = Worksheets("学期別カリキュラム").Cells(9,1).Value
0854たすけて。。
垢版 |
2019/07/14(日) 22:58:51.44
>>853
できた!!!!
ありがとうございます。

Strが問題だったのかなあ。
0855たすけて。。
垢版 |
2019/07/14(日) 23:12:23.86
ご報告。。
ワークシートの書き方については、どちらでも行けました。

yyyy = Worksheets("学期別カリキュラム").Cells(9,1).Value
yyyy = monthProgram.Cells(9, 1).Value

Str()がダメだったみたいです。
×
yyyy = Str(Worksheet("学期別カリキュラム").Cells(11, 1).Value)
yyyy = Str(monthProgram.Cells(9, 1).Value)

皆さん。ありがとうございました。よい勉強をさせていただきました。
0857名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 23:51:31.12
ダウンロードしてないからどんなデータが入ってるか確認してないけど、
Strを使って何も表示されないんだったら、数字じゃないデータが入ってんだから消すのが手っ取り早い
CStrを使っても同じこと
0859野菜一日これ一本
垢版 |
2019/07/15(月) 23:51:38.45
&#9745;
0860野菜一日これ一本
垢版 |
2019/07/16(火) 00:00:21.94
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013 Word2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可(優しめでお願いします)

セルにフォームコントロールで「チェックボックス」を張り付けたのですが、
セルのアドレスを指定して、チェックしている名前を取得できますか?

例えば
A3 ■鹿児島 □宮崎 ■大分 □佐賀
A4 □鹿児島 □宮崎 ■大分 □佐賀

A3の「鹿児島」、「大分」にチェック、A4で「大分」のみにチェック
してあったとして、

A3のセルのチェックを調べて「鹿児島」「大分」が返ってくる
A4のセルのチェックを調べて「大分」が返ってくる
のようなVBAの命令文があれば教えてください。
0861名無しさん@そうだ選挙にいこう
垢版 |
2019/07/16(火) 04:27:25.99
ActiveXコントロールならできますが
フォームコントロールはセルとリンクさせてそれを取得するしかできないんじゃないかな
0865名無しさん@そうだ選挙にいこう
垢版 |
2019/07/17(水) 00:03:58.87
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

エクセルに挿入した画像の下にあるセルに数値を入力する方法はありますか?
具体的は測定器が5個写っている画像があって、測定器の数値を表示する部分のセルに数値を入力したいです

データ1は測定器A、Cの測定値を元に算出、データ2は測定器B、Dの測定値を元に算出・・・
といった感じの作業を電卓や暗算で行っていましたが、Win7機の入れ替えで端末が余ったので管理図置き場に設置しました

一応は画像の挿入を無しに測定器A、B、C、D、Eの測定値を入力して欲しいデータを表示させるようにはしましたが、
折角だから見たまんまで入力すればもっと分かりやすいのでは?と思い質問してみました
0869名無しさん@そうだ選挙にいこう
垢版 |
2019/07/18(木) 02:21:52.03
今年の1月に
Microsoft Excel 2019(最新 永続版)|オンラインコード版|Windows10/mac対応|PC2台を購入して、今使ってるPCとMacBook Airにインストールしています。
PCの方を新調するのですが、ライセンスの移行は認められているらしく、手順はこう書かれています。
現在使っているPCのExcelをアンインストール。新しい方のPCにインストール。
これってアンインストールした事がトリガーになってるんでしょうか?ライセンス違反して3台に使うつもりはありませんが、PC音痴なので、いざアンインストールして新しいのに移行出来なかったら怖いなぁって思ってるんです。
アンインストールがトリガーじゃなければ新しいので起動成功を確認してからアンインストールしようと思うのですがどうなんですか?
0870名無しさん@そうだ選挙にいこう
垢版 |
2019/07/18(木) 03:48:50.89
>>869
多分、アンインストールではトリガーにならなくて、
MSサイトの自アカウント情報ページに開いて、
コンピュータ名等で登録されているインストール済デバイスの一覧から、
古いPCを消せば良いとか?
それで台数条件満たせば認証が通ってupdate可能になるのでは?
0872名無しさん@そうだ選挙にいこう
垢版 |
2019/07/18(木) 23:14:44.12
昔エクセル詳しくなりたいんでセミナーでも
受けたらいいですかって聞いたら
セミナーとか何時の時代の人間だよww
そんなもの時間と金の無駄だからwww
ってめちゃくちゃ草生やされた;;;

でも今は、確かにセミナーは無いよなって思う
ネットでいくらでも調べれるし、自分で調べたほうが
ちゃんと身につくし、モチベーションも維持できるし
先輩の言ってること正しかったんだな…
0874名無しさん@そうだ選挙にいこう
垢版 |
2019/07/19(金) 06:19:45.55
   ,r´⌒ヽ,⌒ヽ,ヽ
   (⌒)、   .人  λ\、 .___
    \. \    、 ヽ./ ー  ー\
     |\ \    ヽ./ ( ●) ( ●)
     |  \  \ /     (__人__) \  はいはい、どーもすみませんでした
     |.   \   |       ` ⌒´   |
  .   |.   |.\_ノ\            /
  .   |.   |   |   \______/
  .   |   )  .|       ̄ ̄
  .   |   |  .|
     |   |.|  .|
  .   |  | .| .|
     /  / / ヽ,
    (__ノ  ヽ、__つ
0876名無しさん@そうだ選挙にいこう
垢版 |
2019/07/19(金) 12:57:15.18
オートフィルについてです

例えば
セルA1 =a!A1
セルB1 =b!A1

としたとき、
オートフィルで横に伸ばすと
セルC1 =a!C1
セルD1 =b!C1
こうなりますよね?

これを
セルC1 =a!B2
セルD1 =b!B2
こういう風にオートフィルしていくような手順ってありませんか?
0878名無しさん@そうだ選挙にいこう
垢版 |
2019/07/19(金) 18:27:27.94
vlookupで文字列とかで検索出来てないのはわかるんだけど
数値に直したあともセルにF2なり触らないと反応しないのって仕様なのか?
0885名無しさん@そうだ選挙にいこう
垢版 |
2019/07/21(日) 13:25:34.36
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ゲームの対応表について
同種族のキャラを集めて戦う、というゲームで対応表を作ろうと思っています。
キャラそれぞれに種族の名前を定義して種族の数を数えることはできました。
しかし、種族の数に対応させてキャラを表示させる方法が思いつきません。
何かいいアイデアはないでしょうか?

分かりにくい説明ですみません。
https://dotup.org/uploda/dotup.org1902048.xlsx.html
0888名無しさん@そうだ選挙にいこう
垢版 |
2019/07/21(日) 23:10:21.83
>>887
同じくwwww
超余裕だろうと思ったが、全然わからんwwww

データベースのセルD9。
ジャイロコプターなんて言葉を聞いたのは、
じゃあまん探偵団魔麟組以降、30数年振りだわ。
0889名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 19:02:18.63
質問させて下さい。

A1から下方向に会社名を入れていきます。

B1から下方向にA列に入力された会社名を参照したいです。

条件として重複するものは一つだけを参照して、B列は空欄を作らず、詰めて参照したいです。

空欄を作っていいのであれば出来ました。以下の数式です。

=IF(COUNTIF($A$1:A1,A1)=1,A1,"")

よろしくお願いします。
0890名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 21:37:49.27
>>889
名寄せしたいってこと?
0891名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 22:07:11.09
>>890

はい、重複データは飛ばないようにしたいです。

AB
11
22
27
73
34
35
3
4
1
5

文字と数値も同じだと思いますので、上の様な感じにしたいです。
0892名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 22:25:43.80
>>891
A列がソートされてるなら簡単。
1行目に1を入れる。
2行目以降は、A列のセルの上下を比較して、値が変わったら、1つ上の行の値に+1する。
変わらなかったら、1つ上の値をそのまま参照。
あとはRow()を引数にしてMatchすれば、行番号が取れるので、Indexするだけ。
0894名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 22:37:35.64
>>893
それならちょっと変えて。
CountIfで1になるやつだけ拾っていけばいいかな。
もちろん計算式が入っている行より上を参照するCountIfで。
0895名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 22:38:46.42
ソートされていなくてもmatchの0でイケるじゃん
0896名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 22:50:21.33
>>889
むしろやり方がわからないのに、そんな発想が出たのが凄いわ。
出来ない人は、そもそも計算式で空白を詰められるなんて考えもしないと思うんだが。
0897889
垢版 |
2019/07/22(月) 23:01:02.39
皆様ありがとうございます。

indexとsmallとrowの3つを使えば、上に詰めて参照できる事が分かりました。

それを889で示した数式を入れ込めば出来そうです。
0899名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 00:46:21.26
>>889
持ってる本にそういうの載っていたが会社に置きっぱなしだわ
なので自力で

B列を作業列として
B1に =IF(COUNTIF($A$1:A1,A1)=1,ROW())
C1に =IFERROR(INDEX(A:A,SMALL(B:B,ROW())),"")

もうちょっとシンプルになりそうな気もするが眠くて思いつかんわ
■ このスレッドは過去ログ倉庫に格納されています

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