Excel総合相談所 135
レス数が900を超えています。1000を超えると表示できなくなるよ。
【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 どんな学校だそれwwww
誰かに嘘を吹き込まれてないか!?
小学校6年生になったら、機械式の物凄く痛い注射をされます、みたいなさ。 >>807
期日は7/24です。一見長いように見えますが提出してから返却するまでに時間がかかるので
1,2回しか提出チャンスはないです。だからなるべく一回で済ませたいと此処の方に頼ってます だったら尚更嘘教えられてるかもって疑心暗鬼になりながら回答をもらうより自分で調べたほうが良いんじゃないの 凄い高校だなそりゃ。
計算式を入れて送信ボタン押すと、生徒の回答がVBAで自動集計されるとか、そういうの無いのかよ。
エクセルの問題を紙で出題って、昭和の発想だぞ。 まぁ脱線してるので>>778に解答いただけると助かります(´・ω・`) >>809
余裕ありそうに見えるけどもしかして定時制とか?
先生に分からないところ質問した方がいいと思うよ
自分も高校の時情報処理テスト落としたら赤点って言われたけど頑張ってる姿勢を見せたら免除された
上手く立ち回りな EXCEL使ってて気づいたんだけど、
フォーメーションZって、あれ絶対多重スクロールがやりたかっただけだよな。
意味はないけど、面白そうだからVBAでやってみたかったって感じによく似てる。 ここまで教えてもらえる余地がない中、
それでもVBAスレで教えてくれた善人を疑い
なおも頼り続ける心臓の強さよ D3セルの数値が,A1〜A10の範囲に存在し,かつそのA列セル右隣のB列セルが0であった場合に色を付ける
という条件付き書籍ではどのような数式を書けばいいのでしょうか?
↓では駄目なようです。
=offset(countif($A$1:$A$10,$D$3),0,1)=0 >>816
732-737あたりでこのスレの方が解答してくれた答えと一部違ってますが
VBAのスレの方が正しいのですか? >>818
=SUMPRODUCT((A1:A10=D3)*(B1:B10=0)*(B1:B10<>""))>0 相手するのが面倒になったからって嘘教えるなよww
流石に高校生相手にかわいそうだろ 最近Excelしかやってなくてもともとパソコン関連みたいなの苦手です
メッセージボックスをOK押さなくても消えるようにWindowsのスプリクト使って組んでそれはうまくいったんですが
そういうVBAでやりきれないことをやるものって何を勉強したら使えるようになるんでしょうか?
Excelのエキスパートまで取り終わったからaccess始めたけど面白くなくて
やっぱりExcelに役立つものやりたいなと思ってます >>823
ほかのアプリまで思い通りに操作したかったら、最終的には自分でアプリを作るのが確実
Visual Studioを覚えると捗るよ >>824
アプリを作るって発想がなかったけどそうですね
バーコード作るのとか利用してるけどそっち作ればいいのか
ちょっと検討してみます
ありがとうございます >>821
できました。どうもありがとうございます。助かりました 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013 Word2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可(優しめでお願いします)
エクセルにある複数のシートのセルの値を読み込んでワードで文書をつくりたい。
エクセルとワードのデータ連携は、「差し込み印刷」の作成と近いのだけど、
「差し込み印刷」はエクセルの行データから、次々にラベル欄を作っているのに対して
私がやりたいのは、複数のシートから複数のセルのテキストデータを個別に読み込んで
1枚のワード文書を作成させたい。
「ワード エクセルデータ フィールド」で検索しても「差し込み印刷」の方法しか見当たらない。
何か良い方法。参考になるサイトありますでしょうか? 「複数のシートから複数のセルのテキストデータを使って、1枚のワード文書を作りたい」
↑説明として雑すぎる
データベースとレポートの関係に近く見えるので、一般的にはAccessとかのDBツールの範疇
あくまでWordにこだわるならVBAでゴリゴリ処理を作成するしかないだろう >>829
Excelに各シートにどういう形式でデータがあるか具体的に書かないとアドバイスできないな 最後のWord文書が定型で、データを埋め込む場所が固定なら、
複数シートのデータを一つのシートにまとめるマクロ組んで差し込みにした方が簡単じゃないかな ありがとうございます。
抽出するエクセルのセルデータの数が、200件ほどあって
列ごとに一つのデータがまとまっているわけでないです。
「差し込み印刷」みたいな、列ごとにデータをまとめてラベルを印刷するわけでないので、
もしかしたら便利な方法があるかなあと思いました。
>データベースとレポートの関係に近く見えるので、一般的にはAccessとかのDBツールの範疇
>あくまでWordにこだわるならVBAでゴリゴリ処理を作成するしかないだろう
まさにそのヒントが欲しかったです。VBAで何とかしてみます。
ありがとうございます。 すいません。。
×
「差し込み印刷」みたいな、列ごとにデータをまとめてラベルを印刷するわけでないので、
○
「差し込み印刷」みたいな、行ごとにデータをまとめてラベルを印刷するわけでないので、 >>831
ありがとうございます。抽出するセルの数が多すぎて、
具体的に説明するにはちょっと時間がかかるのですいません。
セルのデータ自体はただのテキストデータです。
>>832
>最後のWord文書が定型で、データを埋め込む場所が固定なら、
>複数シートのデータを一つのシートにまとめるマクロ組んで差し込みにした方が簡単じゃないかな
私もそう思いました。ありがとうございます! 取り急ぎなのですが、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 >>835
Excelのセルに入った大量の文章は、メモ帳経由でコピペすれば単なるテキストに変換されるよ
Excelでコピー
メモ帳にペースト
メモ帳でコピー
Wordにペースト
こんだけの簡単な作業 すいません。
×
monthProgrami
○
monthProgram
です。。。 >>837
ありがとうございます。
単にコピペするのでなくて、必要なセルだけを抽出して、Wordファイルを完成させるのです。。 >>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 >>840
ありがとうございます。
「オブジェクトが有効範囲にありません」というエラーが返ってきます。
オブジェクト名は正しいはずなのですが、、
コードの問題でなく、何かのエクセルの環境ですよね。 自己解決しました
>>840のコードを次のように変更したら正しく出力されました!!!
>>840さんありがとうございました。
s = s + Worksheets("monthProgram").Cells(i, 2).Value
↓
s = s + monthProgram.Cells(i, 2).Value Doの行にもCellsが2つあるけどオブジェクト名を省略したらまずいのでは 度々すいません。先のものを発展させて、次のようにエクセルデータがあります
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月 [大テーマ]読む・書く,対人関係,家事 [小テーマ] 作文, 会話のマナー,料理 :::::::::::::::::::::::::::::::::::作ったソース:::::::::::::::::::::::::::::::::::
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
動きません。何がわるいでしょうか?? あ、TABが効かないのかあ。これでわかるのかな。。
-, A, B, C,
1, 日程, 週間テーマ,
2, 12月2日〜, 読む・書く, 作文,
3, 12月9日〜, 対人関係, 会話のマナー,
4, 12月16日〜, 家事, 料理,
5,
6,
7,
8, 作成年度,
9, 2018,
10, 作成月,
11, 12, 詳しく見てないけどyyyy=の行で止まるんじゃないか
monthProgram. となってるとこworksheet("monthProgram").cells(〜 では?
シート名が何か分からんけども >849さん
ありがとうございます。
実際のエクセルでのワークシート名は「学期別カリキュラム」です。なので指摘どおり、
yyyy = Str(monthProgram.Cells(9,1).Value)
↓
yyyy = Str("Worksheet("学期別カリキュラム").Cells(9,1).Value)
と記述してみますと、コンパイルエラーが出てしまいます。
yyyy = Str(monthProgram.Cells(9,1).Value)
だと、エラーも出力もないです。。
VBAは一筋縄ではいけないですねえええ。。 失礼しました。
間違えてました、以下のとおりだとエラーはでません。
×
yyyy = Str("Worksheet("学期別カリキュラム").Cells(9,1).Value)
○
yyyy = Str("Worksheets("学期別カリキュラム").Cells(9,1).Value)
ただ、エラーも出ませんが、出力もでません。。。 >>852
まだ書き間違いしてる
変な位置にダブルクォートが入ってるから、それでもエラーが出るはず
それはともかくStrを外してみ
yyyy = Worksheets("学期別カリキュラム").Cells(9,1).Value >>853
できた!!!!
ありがとうございます。
Strが問題だったのかなあ。 ご報告。。
ワークシートの書き方については、どちらでも行けました。
○
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)
皆さん。ありがとうございました。よい勉強をさせていただきました。 ダウンロードしてないからどんなデータが入ってるか確認してないけど、
Strを使って何も表示されないんだったら、数字じゃないデータが入ってんだから消すのが手っ取り早い
CStrを使っても同じこと 式の途中ならともかく、出力の直前でStrなんか使う必要ない
機能とか意味がわかってないだけでは 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013 Word2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可(優しめでお願いします)
セルにフォームコントロールで「チェックボックス」を張り付けたのですが、
セルのアドレスを指定して、チェックしている名前を取得できますか?
例えば
A3 ■鹿児島 □宮崎 ■大分 □佐賀
A4 □鹿児島 □宮崎 ■大分 □佐賀
A3の「鹿児島」、「大分」にチェック、A4で「大分」のみにチェック
してあったとして、
A3のセルのチェックを調べて「鹿児島」「大分」が返ってくる
A4のセルのチェックを調べて「大分」が返ってくる
のようなVBAの命令文があれば教えてください。 ActiveXコントロールならできますが
フォームコントロールはセルとリンクさせてそれを取得するしかできないんじゃないかな >>860
何だっけな。
一番近い位置にあるセルを取得する関数か何かがあったんだが、
思い出せない。 いや、その前に、チェックボックスに鹿児島って書いちゃダメなんか。 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
エクセルに挿入した画像の下にあるセルに数値を入力する方法はありますか?
具体的は測定器が5個写っている画像があって、測定器の数値を表示する部分のセルに数値を入力したいです
データ1は測定器A、Cの測定値を元に算出、データ2は測定器B、Dの測定値を元に算出・・・
といった感じの作業を電卓や暗算で行っていましたが、Win7機の入れ替えで端末が余ったので管理図置き場に設置しました
一応は画像の挿入を無しに測定器A、B、C、D、Eの測定値を入力して欲しいデータを表示させるようにはしましたが、
折角だから見たまんまで入力すればもっと分かりやすいのでは?と思い質問してみました LOOKUPで画像を表示させるってのがネットで検索できたんだけど、
オートシェイプも可能? 名前の管理にINDIRECTでオートシェイプも画像同様表示可能 そうなんだ、活用してみる。
ありがとうございます。 今年の1月に
Microsoft Excel 2019(最新 永続版)|オンラインコード版|Windows10/mac対応|PC2台を購入して、今使ってるPCとMacBook Airにインストールしています。
PCの方を新調するのですが、ライセンスの移行は認められているらしく、手順はこう書かれています。
現在使っているPCのExcelをアンインストール。新しい方のPCにインストール。
これってアンインストールした事がトリガーになってるんでしょうか?ライセンス違反して3台に使うつもりはありませんが、PC音痴なので、いざアンインストールして新しいのに移行出来なかったら怖いなぁって思ってるんです。
アンインストールがトリガーじゃなければ新しいので起動成功を確認してからアンインストールしようと思うのですがどうなんですか? >>869
多分、アンインストールではトリガーにならなくて、
MSサイトの自アカウント情報ページに開いて、
コンピュータ名等で登録されているインストール済デバイスの一覧から、
古いPCを消せば良いとか?
それで台数条件満たせば認証が通ってupdate可能になるのでは? >>869
ライセンスの問題
アンインストールを先にしないとライセンス違反になる
それで何が起こるかは知らない 昔エクセル詳しくなりたいんでセミナーでも
受けたらいいですかって聞いたら
セミナーとか何時の時代の人間だよww
そんなもの時間と金の無駄だからwww
ってめちゃくちゃ草生やされた;;;
でも今は、確かにセミナーは無いよなって思う
ネットでいくらでも調べれるし、自分で調べたほうが
ちゃんと身につくし、モチベーションも維持できるし
先輩の言ってること正しかったんだな… ,r´⌒ヽ,⌒ヽ,ヽ
(⌒)、 .人 λ\、 .___
\. \ 、 ヽ./ ー ー\
|\ \ ヽ./ ( ●) ( ●)
| \ \ / (__人__) \ はいはい、どーもすみませんでした
|. \ | ` ⌒´ |
. |. |.\_ノ\ /
. |. | | \______/
. | ) .|  ̄ ̄
. | | .|
| |.| .|
. | | .| .|
/ / / ヽ,
(__ノ ヽ、__つ オートフィルについてです
例えば
セルA1 =a!A1
セルB1 =b!A1
としたとき、
オートフィルで横に伸ばすと
セルC1 =a!C1
セルD1 =b!C1
こうなりますよね?
これを
セルC1 =a!B2
セルD1 =b!B2
こういう風にオートフィルしていくような手順ってありませんか? vlookupで文字列とかで検索出来てないのはわかるんだけど
数値に直したあともセルにF2なり触らないと反応しないのって仕様なのか? >>876
なんかエラー出るので外部のメモ帳サイト
http://plsk.net/asdasd
>>878
そう。これはめんどい仕様だな
数個ならF2とenter連打、
多いならどこかに1を入力して、コピーペーストで値+乗算貼り付けで数値にできる 私の魅力を教えて下さい
何も無いってことは無いと思うんです 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
ゲームの対応表について
同種族のキャラを集めて戦う、というゲームで対応表を作ろうと思っています。
キャラそれぞれに種族の名前を定義して種族の数を数えることはできました。
しかし、種族の数に対応させてキャラを表示させる方法が思いつきません。
何かいいアイデアはないでしょうか?
分かりにくい説明ですみません。
https://dotup.org/uploda/dotup.org1902048.xlsx.html >>885
学校の先生なら貴方に根気よく付き合ってくれるでしょう >>885
まぁ見てみれば分かるだろうと思ったら全然わからなくて草 >>887
同じくwwww
超余裕だろうと思ったが、全然わからんwwww
データベースのセルD9。
ジャイロコプターなんて言葉を聞いたのは、
じゃあまん探偵団魔麟組以降、30数年振りだわ。 質問させて下さい。
A1から下方向に会社名を入れていきます。
B1から下方向にA列に入力された会社名を参照したいです。
条件として重複するものは一つだけを参照して、B列は空欄を作らず、詰めて参照したいです。
空欄を作っていいのであれば出来ました。以下の数式です。
=IF(COUNTIF($A$1:A1,A1)=1,A1,"")
よろしくお願いします。 >>890
はい、重複データは飛ばないようにしたいです。
AB
11
22
27
73
34
35
3
4
1
5
文字と数値も同じだと思いますので、上の様な感じにしたいです。 >>891
A列がソートされてるなら簡単。
1行目に1を入れる。
2行目以降は、A列のセルの上下を比較して、値が変わったら、1つ上の行の値に+1する。
変わらなかったら、1つ上の値をそのまま参照。
あとはRow()を引数にしてMatchすれば、行番号が取れるので、Indexするだけ。 >>892
>>891をよく見ような
A列はソートされてない >>893
それならちょっと変えて。
CountIfで1になるやつだけ拾っていけばいいかな。
もちろん計算式が入っている行より上を参照するCountIfで。 ソートされていなくてもmatchの0でイケるじゃん >>889
むしろやり方がわからないのに、そんな発想が出たのが凄いわ。
出来ない人は、そもそも計算式で空白を詰められるなんて考えもしないと思うんだが。 皆様ありがとうございます。
indexとsmallとrowの3つを使えば、上に詰めて参照できる事が分かりました。
それを889で示した数式を入れ込めば出来そうです。 >>891
その元データに会社名ナンバーは作ってないの? >>889
持ってる本にそういうの載っていたが会社に置きっぱなしだわ
なので自力で
B列を作業列として
B1に =IF(COUNTIF($A$1:A1,A1)=1,ROW())
C1に =IFERROR(INDEX(A:A,SMALL(B:B,ROW())),"")
もうちょっとシンプルになりそうな気もするが眠くて思いつかんわ >>891
Excel for Office 365
Office インサイダー:月次チャネル (対象限定)
シンプルになりそうな >>889
わたしがそういう作業でいつもやるパターンは
ピボットテーブルを挿入
行に会社名をドラッグ
順番が重要ならダメかな… 動的な対応が必要なくて結果が欲しいだけなら「重複の削除」ってコマンドがExcelのメニューの中にある
順番もちゃんと保持される >>898
はい、会社ナンバーとかはふってないです。会社名がどんどん増えていき、さらに重複もA列に出てくる感じです。
>>899さんのやり方がいいのかなと思いました。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 まあまあ
【4 VBAでの回答の可否】 可
ある列に、ひらがな、カタカナ、半角カタカナ のいずれかの文字列が
入っています。
これを全部半角カタカナに統一したいです。
あいう→アイウ
アイウ→アイウ
アイウ→アイウ
こんな感じです。
VBAで命令することにはどうすればいいでしょうか? 計算式の=の後に@を入れた記憶がないのに、入っています。
同じファイルを別のPCで開くと入っていません。何か設定を変えてしまったのでしょうか? レス数が900を超えています。1000を超えると表示できなくなるよ。