!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part62
https://mevius.5ch.net/test/read.cgi/tech/1561303297/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part63
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ d3d0-EPXH)
2019/09/16(月) 19:34:59.04ID:emfTAhXr0107デフォルトの名無しさん (ワッチョイ 5f59-EMMW)
2019/09/28(土) 08:34:58.34ID:oUtMZ4Zg0 >>106
マイクロソフトが仕様書公開してる
マイクロソフトが仕様書公開してる
108デフォルトの名無しさん (アークセー Sxbb-aWhQ)
2019/09/28(土) 09:58:25.05ID:OFq3+Dp/x109デフォルトの名無しさん (アークセー Sxbb-aWhQ)
2019/09/28(土) 14:02:31.05ID:OFq3+Dp/x >>99
一番目の方法でまず一意のIDを持つ部材のマスタを作った方が良い
その上で、派生関係や使用工程は列を分けて部材マスタの属性値として管理する
そうすれば各使用工程で使う部材を抽出するビューが漏れなく簡単に作れるし、部材データの追加も容易
何故他のやり方が良くないかというと、使用工程や派生関係を管理番号で構造的に表そうとしても、一対一の親子関係から外れる複合的な派生関係の表現が難しいし、複数の工程にまたがって使用する部材が登場した場合の付番がとても困難だから
一番目の方法でまず一意のIDを持つ部材のマスタを作った方が良い
その上で、派生関係や使用工程は列を分けて部材マスタの属性値として管理する
そうすれば各使用工程で使う部材を抽出するビューが漏れなく簡単に作れるし、部材データの追加も容易
何故他のやり方が良くないかというと、使用工程や派生関係を管理番号で構造的に表そうとしても、一対一の親子関係から外れる複合的な派生関係の表現が難しいし、複数の工程にまたがって使用する部材が登場した場合の付番がとても困難だから
110デフォルトの名無しさん (ワッチョイ 878e-95m8)
2019/09/28(土) 16:34:58.82ID:w31BDneZ0 ↑仕様もわからないのに勝手に決めつける馬鹿
111デフォルトの名無しさん (アークセー Sxbb-aWhQ)
2019/09/28(土) 17:19:26.34ID:OFq3+Dp/x >>110
データ活用のシナリオの説明もある程度書いてくれてるし、3パターンの中からオススメを選んで教えてくれと言われてるんだから根拠を示しながら回答するのはOKだろ
データ活用のシナリオの説明もある程度書いてくれてるし、3パターンの中からオススメを選んで教えてくれと言われてるんだから根拠を示しながら回答するのはOKだろ
112デフォルトの名無しさん (ワッチョイ 27da-rP+5)
2019/09/29(日) 08:21:00.73ID:9ZqWtSe+0 馬鹿と言いたいだけの馬鹿は相手にしなくていいよ
113デフォルトの名無しさん (ドコグロ MM1f-Gn+r)
2019/09/29(日) 09:41:07.61ID:xMtED3CuM > 馬鹿と言いたいだけの馬鹿
>>112の悪口はやめなよ
>>112の悪口はやめなよ
114デフォルトの名無しさん (ワッチョイ 87b0-S/NQ)
2019/09/29(日) 10:19:36.85ID:whL1Vznb0 今、困っていることがあり教えてください。
Excelをオープンした時に、入力規則のリストが設定されているセルに
VBAでリストにある文字列を張り付けるとリストが解除されてしまい困っています。
ただ、Excelを既にオープンしている状態であれば、VBAで文字列を張り付けてもリストは解除されません。
Excelをオープンした際の文字列貼り付けでもリストを解除しない方法、何かないでしょうか。
Excelをオープンした時に、入力規則のリストが設定されているセルに
VBAでリストにある文字列を張り付けるとリストが解除されてしまい困っています。
ただ、Excelを既にオープンしている状態であれば、VBAで文字列を張り付けてもリストは解除されません。
Excelをオープンした際の文字列貼り付けでもリストを解除しない方法、何かないでしょうか。
115デフォルトの名無しさん (アークセー Sxbb-aWhQ)
2019/09/29(日) 11:49:35.55ID:mZHqVu1Bx >>114
試してないから自信はないけど配列に文字列の値を格納してからコピー先セルに一括代入してみたらどうかね
試してないから自信はないけど配列に文字列の値を格納してからコピー先セルに一括代入してみたらどうかね
116デフォルトの名無しさん (ワントンキン MM3f-qVNn)
2019/09/29(日) 12:33:57.48ID:QiINVIOGM 計算方法の自動手動を切り替えるとか
doeventsを挟むとか
入力規則を消去して再度設定してみるとか
doeventsを挟むとか
入力規則を消去して再度設定してみるとか
117デフォルトの名無しさん (ワッチョイ 87b0-S/NQ)
2019/09/29(日) 13:40:07.40ID:whL1Vznb0118デフォルトの名無しさん (ワントンキン MM3f-qVNn)
2019/09/29(日) 16:27:33.03ID:QiINVIOGM 再設定で目的が果たせるならそれでいいんじゃないの
気に入らないかもしれないけど
気に入らないかもしれないけど
119デフォルトの名無しさん (ワッチョイ 87b0-S/NQ)
2019/09/29(日) 19:28:31.60ID:whL1Vznb0120デフォルトの名無しさん (ワッチョイ e77c-y+KO)
2019/09/29(日) 20:52:21.32ID:/1W8DtBL0 1ステップずつ何が起こってるか確認してみた?
121デフォルトの名無しさん (アークセー Sxbb-aWhQ)
2019/09/29(日) 21:37:57.26ID:fy6bWXAvx ウォッチ式で入力規則が無効になった瞬間を捕まえたらどのステップで問題が起きてるか分かるよ
あとApplication.EnableEvents=False の状態で入力規則が無効化する症状が同じように出るかどうかを確かめると良いかも
副作用あるから気を付けた方がいいけどね
あとApplication.EnableEvents=False の状態で入力規則が無効化する症状が同じように出るかどうかを確かめると良いかも
副作用あるから気を付けた方がいいけどね
122デフォルトの名無しさん (ワッチョイ 5f59-EMMW)
2019/09/29(日) 22:03:13.06ID:sGqY7mop0 デバッグは大事
123デフォルトの名無しさん (ワッチョイ 7fdd-rP+5)
2019/09/29(日) 23:10:51.27ID:JC6PY5Dx0 Worksheetの表示を縮小したときに名前をつけた範囲名が青文字で表示されますが
あれを縮小表示なしに表示するメソッドとかないですかね?
なければ諦めて作ろうと思って、、
あれを縮小表示なしに表示するメソッドとかないですかね?
なければ諦めて作ろうと思って、、
124デフォルトの名無しさん (ワッチョイ 871a-ZFr+)
2019/09/30(月) 09:40:08.63ID:GRnK7Y6k0 以前の勤務表の作成についての質問をしたものです。
指定範囲に対して条件を参照して自動で勤務を組むにはどのようなコードが使えますか。
指定範囲に対して条件を参照して自動で勤務を組むにはどのようなコードが使えますか。
125デフォルトの名無しさん (ワンミングク MM3f-qVNn)
2019/09/30(月) 09:44:23.17ID:5dp60tLcM その通りにコードを組めばいいです
よかったですね
よかったですね
126デフォルトの名無しさん (ワッチョイ 5f42-upKm)
2019/09/30(月) 14:06:19.14ID:Xo+EVkfu0 そこまでくると質問というより代わりに作ってって感じな気がする
127デフォルトの名無しさん (スフッ Sd7f-C0+4)
2019/09/30(月) 14:27:24.46ID:KUbJhJ6Ud 15万ぐらい払えば作ってくれるよ
128デフォルトの名無しさん (ワッチョイ 5fda-AQ1v)
2019/09/30(月) 18:03:03.23ID:uds7JUMo0 任意のフォルダを開きたいくて、そのファイルのパスが
A1に書いてあるときにどんなコード書いたらできますか?だれか教えてください。お願いします🥺
A1に書いてあるときにどんなコード書いたらできますか?だれか教えてください。お願いします🥺
129デフォルトの名無しさん (ワッチョイ 5fa2-kLFp)
2019/09/30(月) 18:38:27.74ID:MOVpytTQ0 え?w>>124見たいな糞簡単なの作って15万???
うそやろwwwww
うそやろwwwww
130デフォルトの名無しさん (ワッチョイ e77c-y+KO)
2019/09/30(月) 19:38:06.65ID:Db1Fe+X90 >>128
ファイル形式は?
ファイル形式は?
131デフォルトの名無しさん (ワッチョイ 47ff-Iuid)
2019/09/30(月) 20:42:31.76ID:rUBZxyEm0 >>128
次から次へと現れる馬鹿
次から次へと現れる馬鹿
132デフォルトの名無しさん (アークセー Sxbb-aWhQ)
2019/09/30(月) 21:02:52.82ID:KDJog/g4x >>128
フォルダのフルパスがA1セルに入っているなら、
Shell Range("A1").Value, vbNormalFocus
と書けばとりあえずフォルダを開くことはできる
開いたフォルダの中のファイルを選んで何らかの操作をしたいならファイルそのものを掴む別の工夫が必要
フォルダのフルパスがA1セルに入っているなら、
Shell Range("A1").Value, vbNormalFocus
と書けばとりあえずフォルダを開くことはできる
開いたフォルダの中のファイルを選んで何らかの操作をしたいならファイルそのものを掴む別の工夫が必要
133デフォルトの名無しさん (ワッチョイ 7f63-S/NQ)
2019/09/30(月) 21:15:26.21ID:VO0MeE9M0 .Findで検索するマクロ作ってるけど死にそう
全シート検索で結合セル気にしないでいい方法ないですか
一致したの全部もれなくとるだけなのに
なんでこんな大変なんですか
全シート検索で結合セル気にしないでいい方法ないですか
一致したの全部もれなくとるだけなのに
なんでこんな大変なんですか
134デフォルトの名無しさん (アークセー Sxbb-aWhQ)
2019/09/30(月) 22:05:40.31ID:KDJog/g4x >>133
何がそんなに大変なの?
何がそんなに大変なの?
135デフォルトの名無しさん (ワッチョイ 7f63-S/NQ)
2019/09/30(月) 22:43:31.23ID:VO0MeE9M0 初回検索と次項目の検索が別メソッド
検索したあとに問答無用で一周して戻ってくる謎仕様
結合セル最初に見つけたら2週目で見つけられなくて死亡
最初から検索しようとしたら最初の次のセルから開始という超絶理不尽仕様
最終セル開始点にしようとしたら最終セルが結合セルで死亡
検索したあとに問答無用で一周して戻ってくる謎仕様
結合セル最初に見つけたら2週目で見つけられなくて死亡
最初から検索しようとしたら最初の次のセルから開始という超絶理不尽仕様
最終セル開始点にしようとしたら最終セルが結合セルで死亡
136デフォルトの名無しさん (ワッチョイ 7f63-S/NQ)
2019/09/30(月) 22:55:52.56ID:VO0MeE9M0137デフォルトの名無しさん (ワッチョイ c72d-SlO0)
2019/09/30(月) 23:15:22.35ID:fjb3wiBS0 あるシートから10000行程クリップボードにコピーして別シートに行挿入する事を10回程度繰り返すマクロがメモリ不足で停止してしまいます。
エクセルは32bitですがメモリ使用量は2.5GB程度、使用率は80%程度なので余裕はあります。
コピー&挿入だけでこんなにメモリ食うのは想定外だったのですが何か良い対策ありませんか?
クリップボードを使ってる理由は書式もコピーしたいからです。
エクセルは32bitですがメモリ使用量は2.5GB程度、使用率は80%程度なので余裕はあります。
コピー&挿入だけでこんなにメモリ食うのは想定外だったのですが何か良い対策ありませんか?
クリップボードを使ってる理由は書式もコピーしたいからです。
138デフォルトの名無しさん (アークセー Sxbb-aWhQ)
2019/10/01(火) 00:40:37.46ID:1yOvNLR5x >>137
結合セルがない場合で、書式が行列で統一的に構造化されている(=手動でランダムに設定された書式がない)場合の話だけど、セルの値のコピーはクエリテーブルを使い、セル書式はスタイルとして登録しておいて値をコピーしたあとにテーブル単位で適用するようにする
それができないなら常套手段的な対策として、描画停止、セルの自動計算の無効化、一度のコピー行数の抑制、コピーする情報の量の削減(列を減らす、セルに入れる値の文字列長に上限をつける等)をやるしかない
結合セルがない場合で、書式が行列で統一的に構造化されている(=手動でランダムに設定された書式がない)場合の話だけど、セルの値のコピーはクエリテーブルを使い、セル書式はスタイルとして登録しておいて値をコピーしたあとにテーブル単位で適用するようにする
それができないなら常套手段的な対策として、描画停止、セルの自動計算の無効化、一度のコピー行数の抑制、コピーする情報の量の削減(列を減らす、セルに入れる値の文字列長に上限をつける等)をやるしかない
139デフォルトの名無しさん (アークセー Sxbb-aWhQ)
2019/10/01(火) 00:48:34.75ID:1yOvNLR5x >>135
検索対象のセル範囲でループを回して、MergeAreaプロパティから取得できる結合範囲の第一セルの値に対してInStr関数でチェックをかけるほうが簡単に実装できる
一度触った第一セルをDictionaryに突っ込んでおけば重複回避の処理も簡単に書けるし
検索対象のセル範囲でループを回して、MergeAreaプロパティから取得できる結合範囲の第一セルの値に対してInStr関数でチェックをかけるほうが簡単に実装できる
一度触った第一セルをDictionaryに突っ込んでおけば重複回避の処理も簡単に書けるし
140デフォルトの名無しさん (ワッチョイ df2f-+BGV)
2019/10/01(火) 02:44:48.32ID:xCeEOzji0 1000行を100回にすれば解決する気がする
141デフォルトの名無しさん (ワッチョイ 27da-rP+5)
2019/10/01(火) 20:19:29.97ID:/ilC+Vr+0 >>137
想定して最初から設計しなおした方がいいんじゃね
想定して最初から設計しなおした方がいいんじゃね
142デフォルトの名無しさん (ワッチョイ e77c-y+KO)
2019/10/01(火) 20:26:17.87ID:zIavCJ+m0 >>137
一度に全部やらず少しずつやるとか、挿入やめて別シートに貼り付けていくとか
一度に全部やらず少しずつやるとか、挿入やめて別シートに貼り付けていくとか
143デフォルトの名無しさん (ワッチョイ e77c-e8W8)
2019/10/01(火) 23:46:40.82ID:SJOrrfFy0 vbaできる人は何歳くらいの方が多いのですか?
144デフォルトの名無しさん (ワッチョイ 87f1-a2LJ)
2019/10/01(火) 23:51:07.99ID:0MgRI3uB0 100才。
きんは100才100才。ぎんも100才100才。
もう死んじゃいましたけど。
きんは100才100才。ぎんも100才100才。
もう死んじゃいましたけど。
145デフォルトの名無しさん (ワッチョイ 87f1-a2LJ)
2019/10/01(火) 23:51:51.43ID:0MgRI3uB0 いまは中曽根元首相が100才だよ。
146デフォルトの名無しさん (スフッ Sd7f-S/NQ)
2019/10/02(水) 10:56:45.47ID:BB7vTg8Dd >>145
もう101歳になった
もう101歳になった
147デフォルトの名無しさん (ワッチョイ 87f1-a2LJ)
2019/10/02(水) 16:36:11.08ID:2/U5/wmB0 100才くらいなら健康でも1年後にもまだ生きてる生存率は50%くらいだよな。
そろそろ死神のお迎えがくるかな。
そろそろ死神のお迎えがくるかな。
148デフォルトの名無しさん (ワッチョイ 7f68-88hv)
2019/10/02(水) 19:09:20.31ID:TvQrnV1i0 そんな事言ってる人に来るからな
149デフォルトの名無しさん (ワッチョイ 5f63-S/NQ)
2019/10/02(水) 23:17:24.03ID:gSiaZ46v0 直せるものもろくに直さず
超絶くそのまま世界で最も使われる言語の一つになってしまったVBAに
いろいろ思うところがある
俺らがああしろこうしろと習ってることってどこまで本当なのか
超絶くそのまま世界で最も使われる言語の一つになってしまったVBAに
いろいろ思うところがある
俺らがああしろこうしろと習ってることってどこまで本当なのか
150デフォルトの名無しさん (スプッッ Sd12-G1PU)
2019/10/03(木) 04:52:33.28ID:MliRm7Y8d 人の言うことなんか信用するな
学校で教えることなんて、諸説あるうちの一つを紹介してるだけ
自分で直接見聞きしたことが真実に一番近い
学校で教えることなんて、諸説あるうちの一つを紹介してるだけ
自分で直接見聞きしたことが真実に一番近い
151137 (ワッチョイ 3d2d-PFwD)
2019/10/03(木) 05:35:40.04ID:GiO0wfXg0152デフォルトの名無しさん (オイコラミネオ MMb5-shqV)
2019/10/04(金) 08:52:18.52ID:D6R1G7QwM 質問させてください。
シート上に簡単なHTMLを表示させたいのですが、そのようなコントロールはありますでしょうか?
必要なタグは、br font(color属性のみ) bold div(改行の代わり)くらいです。
目的としては、WEBデータベースに登録されているリッチテキストフィールドをダウンロードして表示することになります。
危ないタグはWEBサービス側で排除されていると思います。
シート上に簡単なHTMLを表示させたいのですが、そのようなコントロールはありますでしょうか?
必要なタグは、br font(color属性のみ) bold div(改行の代わり)くらいです。
目的としては、WEBデータベースに登録されているリッチテキストフィールドをダウンロードして表示することになります。
危ないタグはWEBサービス側で排除されていると思います。
153デフォルトの名無しさん (ワッチョイ f1ce-G1PU)
2019/10/04(金) 10:46:00.35ID:oVJ/Q3fQ0154デフォルトの名無しさん (ワッチョイ 11da-M8t1)
2019/10/04(金) 20:22:42.36ID:vt9px/Y/0 >>152
簡単なHTMLと簡単でないHTMLの違いがわからん
簡単なHTMLと簡単でないHTMLの違いがわからん
155デフォルトの名無しさん (スプッッ Sdea-y84I)
2019/10/05(土) 10:01:54.14ID:TWDKigvVd MSはC#とかTSとか素性のよい言語開発してるのにどうしてマクロは頑なにVBAのみなのか…
156デフォルトの名無しさん (ブーイモ MM0a-zRv8)
2019/10/05(土) 10:16:11.22ID:U/TjAS/YM 企業ユーザーは既存資産が動く事が大事
新しい事は求めていない
新しい事は求めていない
157デフォルトの名無しさん (アウアウウー Sa21-4jzF)
2019/10/05(土) 10:21:54.58ID:yF+AhEbea c#でexcelの読み書きすればいい
158デフォルトの名無しさん (ワッチョイ ea01-XtwS)
2019/10/05(土) 11:06:04.60ID:do1ONn360 >>157
それならそれでいいんだけどMarshall.ComReleaseが面倒すぎる
それならそれでいいんだけどMarshall.ComReleaseが面倒すぎる
159デフォルトの名無しさん (ワッチョイ 6aa2-jw9j)
2019/10/05(土) 14:26:52.59ID:pEFp3YWl0 ""とclearcontentsって別物だったんだな。
一部書籍で扱いが同じだったが新刊書で違いが明らかになった。
一部書籍で扱いが同じだったが新刊書で違いが明らかになった。
160デフォルトの名無しさん (アークセー Sxbd-2RUv)
2019/10/05(土) 15:04:12.76ID:/n5ffSwIx >>159
どう違うんだ?
どう違うんだ?
161デフォルトの名無しさん (ササクッテロ Spbd-17qD)
2019/10/05(土) 15:20:21.70ID:6m4y9GjGp 長さ0の文字列と値・数式のクリア
162デフォルトの名無しさん (ワッチョイ 397c-GY5J)
2019/10/05(土) 15:24:12.24ID:YItdpMcG0 >>161
何を入れてクリアしてるかを聞いてるのでは
何を入れてクリアしてるかを聞いてるのでは
163デフォルトの名無しさん (アークセー Sxbd-2RUv)
2019/10/05(土) 15:52:41.48ID:/n5ffSwIx ClearContentsでクリアするとValueプロパティの中身が型未定義のEmpty値になるってことか?
164デフォルトの名無しさん (ブーイモ MM0a-zRv8)
2019/10/05(土) 15:53:36.09ID:U/TjAS/YM >>161
この2つで異なる結果を返す関数、演算は何ですか?
この2つで異なる結果を返す関数、演算は何ですか?
165デフォルトの名無しさん (ワッチョイ 6aa2-jw9j)
2019/10/05(土) 18:14:16.86ID:pEFp3YWl0 並べ替え、重複削除、ピボットテーブル、COUNTA関数
166デフォルトの名無しさん (ワッチョイ eaea-bPVp)
2019/10/05(土) 18:21:34.50ID:zs2CzSXz0 違うかなぁ?
typenameは、どちらもEmptyだし。並び替えにも影響しないみたいだけど、、
typenameは、どちらもEmptyだし。並び替えにも影響しないみたいだけど、、
167デフォルトの名無しさん (ワッチョイ ea01-XtwS)
2019/10/05(土) 19:16:42.87ID:do1ONn360 ""のTypeNameはvbStringじゃないの?
168デフォルトの名無しさん (ワッチョイ b501-Qh1z)
2019/10/05(土) 22:49:37.62ID:cygEmLxv0 特定フォルダの中のファイル名を取得したくて、A1にファイルパスが書いてあってあったとき
Dim fname As String fname = "DirSample.xlsx"
の"DirSample.xlsx"の部分をA1のパスにしたいのですが、どうやった良いですか?
Dim fname As String fname = "DirSample.xlsx"
の"DirSample.xlsx"の部分をA1のパスにしたいのですが、どうやった良いですか?
169デフォルトの名無しさん (オッペケ Srbd-2RUv)
2019/10/05(土) 23:05:00.52ID:I+mWDivyr fname = range("a1").value & "¥DirSample.xlsx"
170デフォルトの名無しさん (ワッチョイ 66e8-G1PU)
2019/10/06(日) 00:21:58.24ID:DJJ/a1MV0171デフォルトの名無しさん (オッペケ Srbd-ckhU)
2019/10/06(日) 01:50:18.38ID:yv4ZtA4Er172デフォルトの名無しさん (ラクペッ MM65-CrRW)
2019/10/06(日) 08:08:24.51ID:eVUjMqzVM173デフォルトの名無しさん (ドコグロ MM12-XtwS)
2019/10/06(日) 09:32:50.86ID:Lxoa9KpRM174デフォルトの名無しさん (ワッチョイ 397c-GY5J)
2019/10/06(日) 12:19:22.67ID:/4diLxRX0 >>171
Excelのセル内改行コードとテキストファイルの改行コードは違う
Excelのセル内改行コードとテキストファイルの改行コードは違う
175デフォルトの名無しさん (ワッチョイ ea4b-arkt)
2019/10/06(日) 13:05:06.23ID:RDxNCESt0 >>171
CSVのパーサーを自分で書けばいいです
CSVのパーサーを自分で書けばいいです
176デフォルトの名無しさん (アークセー Sxbd-2RUv)
2019/10/06(日) 13:10:14.83ID:H1C9JflMx >>171
QueryTableをコード内でAddするんじゃなくて、予めPowerQueryでセル内改行の処理を埋め込んだ接続を作っておいて、コード実行時にデータの読み込みとテーブル出力だけすればいいんじゃないの
QueryTableをコード内でAddするんじゃなくて、予めPowerQueryでセル内改行の処理を埋め込んだ接続を作っておいて、コード実行時にデータの読み込みとテーブル出力だけすればいいんじゃないの
177デフォルトの名無しさん (オッペケ Srbd-ckhU)
2019/10/06(日) 21:50:03.52ID:yv4ZtA4Er178デフォルトの名無しさん (オッペケ Srbd-ckhU)
2019/10/06(日) 21:50:35.79ID:yv4ZtA4Er179デフォルトの名無しさん (ワッチョイ 5ead-2rUB)
2019/10/06(日) 22:04:38.99ID:lVV4IJR90 VBAある表のデータで行と列が一致する列の値を返すコードを書きたいのですがどうしたらいいでしょうか?
行だけならVLOOKUPで行けると思うのですが列になるとどうしてラいいのかわかりません。
該当するセルの値を返したいです。
行だけならVLOOKUPで行けると思うのですが列になるとどうしてラいいのかわかりません。
該当するセルの値を返したいです。
180デフォルトの名無しさん (ワッチョイ f14b-arkt)
2019/10/06(日) 22:26:25.54ID:yDN+2LYi0 rangeをfor eachで巡回すればいいんじゃないの
181デフォルトの名無しさん (アークセー Sxbd-2RUv)
2019/10/06(日) 22:28:18.73ID:H1C9JflMx182デフォルトの名無しさん (ワッチョイ 397c-GY5J)
2019/10/06(日) 22:57:39.08ID:/4diLxRX0 >>177
コピペするならファイル作らなくてもクリップボードに送ってテキスト取り出し貼ればセル内改行も反映される
コピペするならファイル作らなくてもクリップボードに送ってテキスト取り出し貼ればセル内改行も反映される
183デフォルトの名無しさん (ワッチョイ 397c-GY5J)
2019/10/06(日) 22:59:41.24ID:/4diLxRX0 >>179
何がしたいのか知らないけどVLOOKUPの横版ならHLOOKUP
何がしたいのか知らないけどVLOOKUPの横版ならHLOOKUP
184デフォルトの名無しさん (ワッチョイ 5ead-2rUB)
2019/10/06(日) 23:02:28.07ID:lVV4IJR90 >>181
後者です。
シートに参照する表がありユーザーフォームで作った入力表がコンボボックスとなり
一つ目のコンボボックスが行とリンクしていて、二つめのコンボボックスが列と連動して言いて
行と列の一致した値をテキストボックスに表示させたい。
一つだけならVLOOOKUPでできるのですが表となると私の力だと全く思い浮かびません。
力といってもちょっと基本がわかって参考書とインターネットの中から使えそうなコード
を引っ張ってきて使えるように修正するくらいで一から工程を考え出す事は難しいです。
後者です。
シートに参照する表がありユーザーフォームで作った入力表がコンボボックスとなり
一つ目のコンボボックスが行とリンクしていて、二つめのコンボボックスが列と連動して言いて
行と列の一致した値をテキストボックスに表示させたい。
一つだけならVLOOOKUPでできるのですが表となると私の力だと全く思い浮かびません。
力といってもちょっと基本がわかって参考書とインターネットの中から使えそうなコード
を引っ張ってきて使えるように修正するくらいで一から工程を考え出す事は難しいです。
185デフォルトの名無しさん (ワッチョイ b501-Qh1z)
2019/10/06(日) 23:09:13.37ID:ZjSVYIsg0 ワークシートのchangeプロシージャで
A1:F5 A6:E6 A7:I105 に変更が加わったとき Range("F6") = Date をさせたいのだけど
If Intersect(Target, Union(Range("A1:F5"), Range("A6:E6"), Range("A7:I105"))) Is Nothing Then
ではうまくいきません。どなたか教えてください。
あと、セルに文字を入力するとき、対象となるセルを選択し、文字を入力したら、別のセルに入力途中の文字が表示され、Enterをおしたら対象となるセルに反映されました。
これもどうしたら普通通りになりますか?
A1:F5 A6:E6 A7:I105 に変更が加わったとき Range("F6") = Date をさせたいのだけど
If Intersect(Target, Union(Range("A1:F5"), Range("A6:E6"), Range("A7:I105"))) Is Nothing Then
ではうまくいきません。どなたか教えてください。
あと、セルに文字を入力するとき、対象となるセルを選択し、文字を入力したら、別のセルに入力途中の文字が表示され、Enterをおしたら対象となるセルに反映されました。
これもどうしたら普通通りになりますか?
186デフォルトの名無しさん (ワッチョイ 5ead-2rUB)
2019/10/06(日) 23:14:57.48ID:lVV4IJR90 >>183
しいて言うならVLOOKUPとHLOOKUPの合わせる感じ?
しいて言うならVLOOKUPとHLOOKUPの合わせる感じ?
187デフォルトの名無しさん (ワッチョイ 66e8-G1PU)
2019/10/06(日) 23:34:28.13ID:DJJ/a1MV0188デフォルトの名無しさん (ワッチョイ 397c-GY5J)
2019/10/06(日) 23:45:45.30ID:/4diLxRX0189デフォルトの名無しさん (ワッチョイ ea2c-2rUB)
2019/10/06(日) 23:45:57.04ID:ddN6wFVd0 Ruby では、2次元配列[ 行 ][ 列 ]で、そのセルを指せる。
ただし、行列のインデックスは、0 から始まる
require 'csv'
str = <<"EOT"
1,a,x
2,b,y
EOT
p table = CSV.parse( str )
#=> [["1", "a", "x"], ["2", "b", "y"]]
p table[ 1 ][ 2 ] #=> "y"
ただし、行列のインデックスは、0 から始まる
require 'csv'
str = <<"EOT"
1,a,x
2,b,y
EOT
p table = CSV.parse( str )
#=> [["1", "a", "x"], ["2", "b", "y"]]
p table[ 1 ][ 2 ] #=> "y"
190デフォルトの名無しさん (オッペケ Srbd-2RUv)
2019/10/07(月) 07:20:54.28ID:W+vOSLuyr191デフォルトの名無しさん (ワントンキン MM2e-arkt)
2019/10/07(月) 08:45:07.25ID:s6G9KopOM 見出し行の値をkeyにしてrowを取り出すdictionaryを作る
列も同じ様に配列を作る
で、コンボボックスで選択した値で配列から行列番号を取り出す
列も同じ様に配列を作る
で、コンボボックスで選択した値で配列から行列番号を取り出す
19249 (ワッチョイ 7991-rYlP)
2019/10/07(月) 13:22:02.42ID:paP7R7pw0 >>177
まず考えるべきはバイナリエディタで該当ファイルを開いて、どういう構造になってるのかを確認することだよ。
まず考えるべきはバイナリエディタで該当ファイルを開いて、どういう構造になってるのかを確認することだよ。
193デフォルトの名無しさん (ワッチョイ 5ef7-+KWM)
2019/10/07(月) 19:22:21.76ID:T7P1X7tV0 >>185
Not抜けてる
Not抜けてる
194デフォルトの名無しさん (ワッチョイ b501-VLQT)
2019/10/07(月) 21:18:32.84ID:YYJJYJ590 >186 change自体が動きません
>193 マジッスカ!どこに入れたらいいですか?
>193 マジッスカ!どこに入れたらいいですか?
195デフォルトの名無しさん (オッペケ Srbd-2RUv)
2019/10/07(月) 21:59:12.85ID:DI7aKBabr >>194
ifのあと
ifのあと
196デフォルトの名無しさん (ワッチョイ 5ead-2rUB)
2019/10/08(火) 00:24:14.75ID:HDWpL7A50 〉〉184です。教えてもらった通りVLOOKUPとマッチ関数で作ってみたのですが
うまく言いません。通常のエクセルの状態ではやりたいように動作したのですができればVBAで動作できるようにしたいです、
Sub 行と列()
Dim tateya As String
Dim gouki As String
Dim gouki2 As String
Dim siriaru As String
Dim test As Worksheet
Set test = Worksheets("テスト")
tateya = test.Range("a1")
gouki = test.Range("a2")
haihhun = "-"
gouki2 = tateya & haihhun & gouki '号機
Dim siri As Worksheet
Set siri = Worksheets("シリアル管理")
Dim hanni_seru As Variant '範囲指定はバリアント型を使用する事
hanni_seru = siri.Range("D1:L39")
'VLOOKUP(列の条件,A1:D5,MATCH(行の条件,A1:D1))
siriaru = WorksheetFunction.VLookup(gouki2, hanni_seru, WorksheetFunction.Match("H1", "D1:L1"))
MsgBox siriaru
End Sub
うまく言いません。通常のエクセルの状態ではやりたいように動作したのですができればVBAで動作できるようにしたいです、
Sub 行と列()
Dim tateya As String
Dim gouki As String
Dim gouki2 As String
Dim siriaru As String
Dim test As Worksheet
Set test = Worksheets("テスト")
tateya = test.Range("a1")
gouki = test.Range("a2")
haihhun = "-"
gouki2 = tateya & haihhun & gouki '号機
Dim siri As Worksheet
Set siri = Worksheets("シリアル管理")
Dim hanni_seru As Variant '範囲指定はバリアント型を使用する事
hanni_seru = siri.Range("D1:L39")
'VLOOKUP(列の条件,A1:D5,MATCH(行の条件,A1:D1))
siriaru = WorksheetFunction.VLookup(gouki2, hanni_seru, WorksheetFunction.Match("H1", "D1:L1"))
MsgBox siriaru
End Sub
197デフォルトの名無しさん (アークセー Sxbd-2RUv)
2019/10/08(火) 02:02:42.66ID:l+0JwRkcx >>196
たぶんMatchの行条件がおかしいけど、どんな問題が起きてるのか分からないから何とも言えない
それから、haihhunとかsiriaruとかhanni_seruとか変数の名前がちょっと酷い
HyphenとかSerialとかとかCellとか英語をきちんと使う意識を持つのが上達の近道だと思う
たぶんMatchの行条件がおかしいけど、どんな問題が起きてるのか分からないから何とも言えない
それから、haihhunとかsiriaruとかhanni_seruとか変数の名前がちょっと酷い
HyphenとかSerialとかとかCellとか英語をきちんと使う意識を持つのが上達の近道だと思う
198デフォルトの名無しさん (ワッチョイ ea01-jw9j)
2019/10/08(火) 07:19:14.43ID:EnS6DjXJ0 〉〉196
その前にまず安価というのはだな・・・
その前にまず安価というのはだな・・・
199デフォルトの名無しさん (ワッチョイ 3968-G1PU)
2019/10/08(火) 07:24:09.57ID:XnwML2Ug0 別モジュールに書いたprivate subをcallする方法ってありませんか?
publicにするしか無いでしょうか
publicにするしか無いでしょうか
200デフォルトの名無しさん (アメ MM11-pTrw)
2019/10/08(火) 07:37:46.07ID:wEzHRAYiM 〉〉196です。
変数名もそんなルールが?
なんとなく日本語はよくないなーと思って自分で分かるローマ字で表記しようと思ったんですが、後ダメな理由がマッチ関数にワークシート指定してないからかと推察。後で試します。
変数名もそんなルールが?
なんとなく日本語はよくないなーと思って自分で分かるローマ字で表記しようと思ったんですが、後ダメな理由がマッチ関数にワークシート指定してないからかと推察。後で試します。
201デフォルトの名無しさん (ワントンキン MM7a-arkt)
2019/10/08(火) 07:52:03.60ID:o1U1FjwuM 無理に英語やローマ字にするくらいなら日本語でいいと思うけど
あとrangeだけじゃなくてcellsも覚えれば目的達成するんじゃないか
cellsのrowとcolumnで行と列を取得出来るからね
あとrangeだけじゃなくてcellsも覚えれば目的達成するんじゃないか
cellsのrowとcolumnで行と列を取得出来るからね
202デフォルトの名無しさん (アークセー Sxbd-2RUv)
2019/10/08(火) 08:16:32.23ID:l+0JwRkcx >>199
ただ単にマクロ一覧に表示されないようにしたいだけなら、Private SubをPublic Subに変えた上で、そのモジュールの先頭にOption Private Moduleと書き加えれば良い
Publicにするのが嫌なら、呼び出したいPrivate Subが定義されたモジュールにコールバック用の引数付きでPublic Subを定義して、呼び出したい任意のPrivate Subを引数で指定して呼び出せるようにする
それも嫌ならクラスを作ってPrivate Subをメソッド化する
どちらもコーディングや保守の工数は大して変わらない
ただ単にマクロ一覧に表示されないようにしたいだけなら、Private SubをPublic Subに変えた上で、そのモジュールの先頭にOption Private Moduleと書き加えれば良い
Publicにするのが嫌なら、呼び出したいPrivate Subが定義されたモジュールにコールバック用の引数付きでPublic Subを定義して、呼び出したい任意のPrivate Subを引数で指定して呼び出せるようにする
それも嫌ならクラスを作ってPrivate Subをメソッド化する
どちらもコーディングや保守の工数は大して変わらない
203デフォルトの名無しさん (ワッチョイ 3968-G1PU)
2019/10/08(火) 20:03:58.77ID:XnwML2Ug0 >>202
>ただ単にマクロ一覧に表示されないようにしたいだけなら、Private SubをPublic Subに変えた上で、そのモジュールの先頭にOption Private Moduleと書き加えれば良い
まさにこれです!privateにしなくても出来たんですね、勉強になりました。ありがとうございました
他の方法も勉強になりました
>ただ単にマクロ一覧に表示されないようにしたいだけなら、Private SubをPublic Subに変えた上で、そのモジュールの先頭にOption Private Moduleと書き加えれば良い
まさにこれです!privateにしなくても出来たんですね、勉強になりました。ありがとうございました
他の方法も勉強になりました
204デフォルトの名無しさん (ワッチョイ 397c-GY5J)
2019/10/08(火) 20:07:56.35ID:Uz+DmrF+0205デフォルトの名無しさん (ワッチョイ 5ead-2rUB)
2019/10/08(火) 21:30:26.55ID:HDWpL7A50 >>200
ありがとうございます。
コメントつけまくって分かるようにしてます。
まぁ詳しい人が見たらめっちゃくちゃで分かりにくいと思うのですが、
自分用で自分が分かればいいので動くようにして少しづつ改良していきます。
多分、めっちゃ不具合あります。
ありがとうございます。
コメントつけまくって分かるようにしてます。
まぁ詳しい人が見たらめっちゃくちゃで分かりにくいと思うのですが、
自分用で自分が分かればいいので動くようにして少しづつ改良していきます。
多分、めっちゃ不具合あります。
206デフォルトの名無しさん (ワッチョイ 5ead-2rUB)
2019/10/08(火) 22:01:56.51ID:HDWpL7A50 データベースから原本のシートに転記する場合表内でのループは可能ですか?
但し、実際に転記する表の上下に題名や表題があります。
例えば1行から20行での表があり繰り返すデータが21行目なったら2ページめの1行目
にするという事は可能でしょうか?
出来なさそうなのでリストボックスで見やすく作ろうかと思ったのですが、印刷用でも
作成したいのでできるのであればご教授お願いします。
上だけなら、forの頭を指定して10番目ならfor i = 10TO 最終行
で行けると思うのですが表の最後の指定がわかりません。
forをネストすればできそうですが、それでも20番目でおわる形にする感じ?
21行目を2ページ目の1行目を指定するのは難しそう
但し、実際に転記する表の上下に題名や表題があります。
例えば1行から20行での表があり繰り返すデータが21行目なったら2ページめの1行目
にするという事は可能でしょうか?
出来なさそうなのでリストボックスで見やすく作ろうかと思ったのですが、印刷用でも
作成したいのでできるのであればご教授お願いします。
上だけなら、forの頭を指定して10番目ならfor i = 10TO 最終行
で行けると思うのですが表の最後の指定がわかりません。
forをネストすればできそうですが、それでも20番目でおわる形にする感じ?
21行目を2ページ目の1行目を指定するのは難しそう
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か [ぐれ★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★8 [蚤の市★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★3 [蚤の市★]
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ [蚤の市★]
- 【福岡】「50歳くらいの男性が倒れている」血を吐いた状態で歩道に倒れている女性見つかる 女性はその後死亡 事件と事故の両面で捜査 [ぐれ★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★3 [蚤の市★]
- 僕は反出生主義で安楽死合法化支持、そして人間の自由意志を否定してます ←どんな人物像?
- 【悲報】高齢者、マルチコピー機で自分の逮捕状を印刷してしまう [394133584]
- 女児(6)「大きくなったら素敵なお嫁さんになるー!」→女(24)「旦那様のチンポジュル!ジュルルル!グッポグッポ!」 [762037879]
- 【悲報】ゆたぼん、事故の治療費をネットで乞食して整形代に使ってる疑惑浮上wwwwwww
- 【高市リスク】京都のホテル大幅値下げ [115996789]
- 東京「女性の人権守ろう 子どもの人権守ろう 高齢者の人権守ろう」⇦成人男性ガン無視でワロタwwwwwwwwwww
