!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:emfTAhXr0125デフォルトの名無しさん (ワンミングク 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行目を指定するのは難しそう
207デフォルトの名無しさん (ワッチョイ c55f-Je0l)
2019/10/08(火) 22:10:00.62ID:QtXyLjSg0 伝え方って大事だよね
208デフォルトの名無しさん (ワッチョイ 397c-GY5J)
2019/10/08(火) 22:11:56.81ID:Uz+DmrF+0 >>206
21行目になったら次の改ページ位置を貼り付け先にする
21行目になったら次の改ページ位置を貼り付け先にする
209デフォルトの名無しさん (ワッチョイ 397c-GY5J)
2019/10/08(火) 22:13:49.93ID:Uz+DmrF+0 または上下の題名をヘッダフッタに指定して改ページを気にせず貼り付ける
210デフォルトの名無しさん (ワッチョイ b501-UYl5)
2019/10/08(火) 22:46:38.31ID:IntPDsvb0 >>194
出来ました。大変ありがとう😊
出来ました。大変ありがとう😊
211デフォルトの名無しさん (ワッチョイ 9fa2-8cCB)
2019/10/10(木) 21:20:24.18ID:gS7zDweR0 たまにpowershellの話題出るから聞きたいんだけどpowershellってUWSC見たいなことできるの?
212デフォルトの名無しさん (ワッチョイ 9f79-P7q6)
2019/10/10(木) 21:36:10.47ID:LC0PLrJI0 特化してるUWSCみたいに簡単ではないけど
がんばればできる
がんばればできる
213デフォルトの名無しさん (ワッチョイ 9fda-OHYr)
2019/10/10(木) 21:48:01.84ID:5Xxw1b5M0 頑張れば何でもできるだろうな。
VBSではWindowsAPIが使えない! → 裏でこっそりエクセル起動すれば使えるじゃん。
VBAではjavascriptが使えない! → ExecuteThisJavaScript使えば出来るじゃん。
殆ど屁理屈だけど。
VBSではWindowsAPIが使えない! → 裏でこっそりエクセル起動すれば使えるじゃん。
VBAではjavascriptが使えない! → ExecuteThisJavaScript使えば出来るじゃん。
殆ど屁理屈だけど。
214デフォルトの名無しさん (ワッチョイ 9f59-Sohv)
2019/10/10(木) 22:44:29.41ID:g+4V+XU10 要は徒歩でも世界一周できますよねってこと
215デフォルトの名無しさん (ワッチョイ f768-NJTS)
2019/10/10(木) 23:00:49.96ID:0ZKFmSv+0 ジョジョ、逆に考えるんだ、『vbaの下に便利APIのExcelやAccessが付いているのさ』と考えるんだ
21649 (ワッチョイ f791-mVPP)
2019/10/11(金) 15:44:34.63ID:3jXa2BKX021749 (ワッチョイ f791-mVPP)
2019/10/11(金) 15:50:38.03ID:3jXa2BKX0 ただ、VBSでWindowsAPIは苦肉の策というか、敬遠したい気持ちもある。
まっ、VBSが最適な話なら結局使うけどね。
VBAでJavaScriptも同様だね。
こっちの方が敬遠したい。
まずはVBAだけで何とかならないかを考える。
まっ、VBSが最適な話なら結局使うけどね。
VBAでJavaScriptも同様だね。
こっちの方が敬遠したい。
まずはVBAだけで何とかならないかを考える。
218デフォルトの名無しさん (ワッチョイ 9fa2-8cCB)
2019/10/11(金) 17:59:50.09ID:l8XLJu9S0219デフォルトの名無しさん (ワッチョイ b74b-x3kW)
2019/10/11(金) 18:32:21.51ID:cTW5CNRi0 特定のアプリのウィンドウに対してキー入力するとかVBAでやってるよ
220デフォルトの名無しさん (ブーイモ MMcf-4N8v)
2019/10/11(金) 20:26:26.20ID:WXbKDhhqM Cells(1,"A")と書かず、判りにくいCells(1,1)と書くのはなぜ?
ネットの記述とか見ててもCells(1,"A")と書いてるの見たこと無い
ネットの記述とか見ててもCells(1,"A")と書いてるの見たこと無い
221デフォルトの名無しさん (ワッチョイ f768-NJTS)
2019/10/11(金) 20:52:13.81ID:zntJ+vZ40 マルチかよw
222デフォルトの名無しさん (ワッチョイ b7ce-NJTS)
2019/10/11(金) 22:18:32.49ID:thcocK/e0 はわわ〜
223デフォルトの名無しさん (アウアウエー Sadf-UHnC)
2019/10/11(金) 23:28:47.56ID:CLF8jhxua RPAは所詮VBAに勝てないか
っしゃああ
っしゃああ
224デフォルトの名無しさん (ワッチョイ 9fa2-8cCB)
2019/10/12(土) 02:44:28.24ID:o9i+oJev0 forでまわせんだろうが
個人的にrangeをなぜ使うかの方がわからん
個人的にrangeをなぜ使うかの方がわからん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 国民 居住目的でない住宅所有者に「空室税」課せる法案を提出 [少考さん★]
- 国民 居住目的でない住宅所有者に「空室税」課せる法案を提出 ★2 [少考さん★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★3 [Hitzeschleier★]
- 【画像】消えた美人女優 上原多香子さん(42)、沖縄で目撃される [牛丼★]
- 「暖房が使えない」「食費が高くて子どもの栄養が…」 物価高に苦しむ子育て世帯、政府に期待する支援は ★2 [蚤の市★]
- 【高市悲報】JA、発狂www「臨時に経費率を下げるので、どうかお米券を使ってください」 [246620176]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★1
- 高市早苗、森元総理の愛人だった [347751896]
- 【悲報】 世界最大級のポルノサイトPornHubの日本人ユーザーの年齢層、ヤバ過ぎる [303493227]
- 【高市朗報】中国、歴史上日本に一度も侵攻したことがない親日国だった [931948549]
- 新たなる弱男判定法見つかるwwwwwwwwwwwwwwwwww
