ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
関連スレ
Excel VBA 質問スレ Part79(ワッチョイあり)
https://mevius.5ch.net/test/read.cgi/tech/1674875532/
※前スレ
Excel VBA 質問スレ Part79
https://mevius.5ch.net/test/read.cgi/tech/1674874007/
Excel VBA 質問スレ Part80
https://mevius.5ch.net/test/read.cgi/tech/1685489018/
探検
Excel VBA 質問スレ Part81
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2024/04/18(木) 14:03:38.03ID:cMr18rZu476デフォルトの名無しさん
2024/09/08(日) 23:44:38.83ID:XpVygUQ/ 10年ぶりくらいにリリースノート見たわ
えっ、こんなバグあったの? これまでの大丈夫か? と昔も思ってた記憶が蘇ったわ
またしばらく見ないw
えっ、こんなバグあったの? これまでの大丈夫か? と昔も思ってた記憶が蘇ったわ
またしばらく見ないw
477デフォルトの名無しさん
2024/09/09(月) 11:40:58.77ID:CQiqzRbc イルカ思い出したわωωωωωωωωω
478デフォルトの名無しさん
2024/09/09(月) 13:32:37.22ID:HTEgQ7lD なんか出てきてじゃあ判らない 見てる本人が何なのか把握してから相談しないと
設定のクリップボードで履歴残すようにしてるのでは? 常に消すように設定しとかないと
「今、これコピペしたよ!またしたよ!またまた・・」ってのじゃないのか?
エロ画像次々にDLすると「今、AエロDLしたよ!またBエロDLしたよ!またまたCエロ・・」てのは出る
すべてのDL履歴とかまでご丁寧に残すから、そのたんび履歴削除しないといけなくて面倒
「すべて見ているぞ」っつー典型だな
設定のクリップボードで履歴残すようにしてるのでは? 常に消すように設定しとかないと
「今、これコピペしたよ!またしたよ!またまた・・」ってのじゃないのか?
エロ画像次々にDLすると「今、AエロDLしたよ!またBエロDLしたよ!またまたCエロ・・」てのは出る
すべてのDL履歴とかまでご丁寧に残すから、そのたんび履歴削除しないといけなくて面倒
「すべて見ているぞ」っつー典型だな
479デフォルトの名無しさん
2024/09/09(月) 20:33:23.82ID:7blItiVr コパイはそれがもっと酷くなる
家族共用なんて今まで以上に丸見えにw
コパイのせいでxxバレましたってのがこれから溢れるようになる
家族共用なんて今まで以上に丸見えにw
コパイのせいでxxバレましたってのがこれから溢れるようになる
480デフォルトの名無しさん
2024/09/10(火) 13:13:04.96ID:KGjTz1X0 win8辺りから迷走してるな
勝手に個人情報晒すのやめてくれ
macとかでもそうなんか
勝手に個人情報晒すのやめてくれ
macとかでもそうなんか
481デフォルトの名無しさん
2024/09/11(水) 16:48:56.96ID:8aiHgdAj VBA素人なんですが、教えて…
for文とCaseって組み合わせて出来ないの?
うまく作動しないし、脳みそが出る
Microsoft365 business
Private Sub cmb_mda_Change()
Dim i As Integer, s As Integer
With Me
i = .cmb_mda.ListIndex
For s = 0 To 30
Select Case i
Case s
cmb_color.RowSource = "基材マスター!V" & "1" & s
s = s + 1
End Select
Next s
End With
End Sub
for文とCaseって組み合わせて出来ないの?
うまく作動しないし、脳みそが出る
Microsoft365 business
Private Sub cmb_mda_Change()
Dim i As Integer, s As Integer
With Me
i = .cmb_mda.ListIndex
For s = 0 To 30
Select Case i
Case s
cmb_color.RowSource = "基材マスター!V" & "1" & s
s = s + 1
End Select
Next s
End With
End Sub
482481
2024/09/11(水) 16:49:54.62ID:8aiHgdAj 追記
Private Sub userform_activate()
With Me
.cmb_mda.RowSource = "基材マスター!" & "Q2:Q" & Range("Q" & rows.Count).End(xlUp).row
.cmb_color.RowSource = "基材マスター!" & "V2:V" & Range("V" & rows.Count).End(xlUp).row
.cmb_mdaThic.RowSource = "基材マスター!" & "w2:W" & Range("w" & rows.Count).End(xlUp).row
.cmb_accColor.RowSource = "アクセサリーマスター!" & "G2:G" & Range("G" & rows.Count).End(xlUp).row
End With
End Sub
Private Sub userform_activate()
With Me
.cmb_mda.RowSource = "基材マスター!" & "Q2:Q" & Range("Q" & rows.Count).End(xlUp).row
.cmb_color.RowSource = "基材マスター!" & "V2:V" & Range("V" & rows.Count).End(xlUp).row
.cmb_mdaThic.RowSource = "基材マスター!" & "w2:W" & Range("w" & rows.Count).End(xlUp).row
.cmb_accColor.RowSource = "アクセサリーマスター!" & "G2:G" & Range("G" & rows.Count).End(xlUp).row
End With
End Sub
483デフォルトの名無しさん
2024/09/11(水) 17:50:24.06ID:Y0T74YZt >>481
For ~ Nextの中でsを変えちゃだめ (s = s + 1 の部分)
Caseが1個しかない時は、わざわざSelect Caseなんか使わない (If を使った方がシンプルに書ける)
For ~ Nextの中でsを変えちゃだめ (s = s + 1 の部分)
Caseが1個しかない時は、わざわざSelect Caseなんか使わない (If を使った方がシンプルに書ける)
485デフォルトの名無しさん
2024/09/11(水) 23:08:59.50ID:6PhQvlaY 部内使う処理程度の話だけど
新人の女の子から先輩まで俺が作ったVBA処理を必須レベルで当たり前に使ってるのを見ると嬉しくなってしまう
これが社畜ってことだな
新人の女の子から先輩まで俺が作ったVBA処理を必須レベルで当たり前に使ってるのを見ると嬉しくなってしまう
これが社畜ってことだな
486481
2024/09/12(木) 08:51:21.97ID:w0nxnzjv >483
>484
ありがとうございます。
意図として連携してるコンボボックスが3つあり、コンボボックスの中身が今後増えていく予定があります。
中身が増えたときに、Caseを使っていたのですが、Caseだと長々とコードを書かなくてはならないと思い、Forを使いました。
>484
ありがとうございます。
意図として連携してるコンボボックスが3つあり、コンボボックスの中身が今後増えていく予定があります。
中身が増えたときに、Caseを使っていたのですが、Caseだと長々とコードを書かなくてはならないと思い、Forを使いました。
487デフォルトの名無しさん
2024/09/12(木) 10:14:19.60ID:wdLRCtoQ for文以降をインデントしてないことにイラつく
488デフォルトの名無しさん
2024/09/12(木) 11:12:58.05ID:w0nxnzjv >>487
短気は早漏(損気)だぜw
短気は早漏(損気)だぜw
489デフォルトの名無しさん
2024/09/12(木) 12:47:42.20ID:BT175jx4 (掲示板では)インデントが難しい
490デフォルトの名無しさん
2024/09/12(木) 14:28:52.49ID:5K/F1aNR 初めて書いたときにビックリしたわ
491デフォルトの名無しさん
2024/09/12(木) 15:08:24.92ID:wdLRCtoQ 全部ならともかくDim以降はインデントできてるからな
492デフォルトの名無しさん
2024/09/12(木) 16:35:19.97ID:BT175jx4 これがインデントのお手本らしい
https://i.imgur.com/QIQ1bp8.png
https://i.imgur.com/QIQ1bp8.png
493デフォルトの名無しさん
2024/09/12(木) 16:43:16.05ID:wdLRCtoQ >>492
安心する
安心する
494デフォルトの名無しさん
2024/09/12(木) 21:56:53.49ID:zb+H+Z7x excelであるセル、例えばセルA5の数字がランダムに変化するのですが、
セルA5に表示された数値の最大値を知りたいのです。
MAX関数等は既に使って知っていますが、MAX関数ではこれは出来ません。
何か方法ないでしょうか?
セルA5に表示された数値の最大値を知りたいのです。
MAX関数等は既に使って知っていますが、MAX関数ではこれは出来ません。
何か方法ないでしょうか?
495デフォルトの名無しさん
2024/09/12(木) 22:08:22.31ID:BT175jx4 >>494
A5の内容を書き換えてるのが何者かと、書き換える方法によって最大値を求める方法も変わる
A5の内容を書き換えてるのが何者かと、書き換える方法によって最大値を求める方法も変わる
496デフォルトの名無しさん
2024/09/12(木) 22:23:01.62ID:zb+H+Z7x >>495
A5のセルを書き変えているのは株のソフトです。
A5のセルを書き変えているのは株のソフトです。
497デフォルトの名無しさん
2024/09/13(金) 08:47:58.84ID:H4b8XLVp >>494
俺なら全く同じレイアウトのシートをコピーで作っておいて
セルの値の変更イベントで2つの内容を比較して
大きかった時に退避シートのセルに上書きするかな
もっとスマートな方法があるかもしれない
俺なら全く同じレイアウトのシートをコピーで作っておいて
セルの値の変更イベントで2つの内容を比較して
大きかった時に退避シートのセルに上書きするかな
もっとスマートな方法があるかもしれない
498デフォルトの名無しさん
2024/09/13(金) 10:17:11.58ID:3NwUwDPn 株のソフト側にそれぐらいの機能はあるだろう 無いのか?
つか、わざわざExcelにデータを落とし込む意味は? どのくらいの頻度でA5セルを上書きしてるかわからんし
書き変わった数字だけ見てる理由も図り兼ねるし、どの期間の最大値を求めたいかとかすらわからん
つか、わざわざExcelにデータを落とし込む意味は? どのくらいの頻度でA5セルを上書きしてるかわからんし
書き変わった数字だけ見てる理由も図り兼ねるし、どの期間の最大値を求めたいかとかすらわからん
499デフォルトの名無しさん
2024/09/13(金) 12:28:52.69ID:49GkiWoo 株サイトをスクレイピングするマクロを手に入れたはいいけど、仕組みがわからなくてセルに表示された内容を見るしかできない人なんでしょ
500デフォルトの名無しさん
2024/09/13(金) 13:02:53.26ID:GKBB3kor そもそも関数とか書いているのだからスレチ
501デフォルトの名無しさん
2024/09/13(金) 13:04:59.32ID:sg+hDRWZ >>499
あらかたそういうことだと皆わかってるけど、今更どした
あらかたそういうことだと皆わかってるけど、今更どした
502デフォルトの名無しさん
2024/09/13(金) 13:07:01.80ID:sg+hDRWZ503デフォルトの名無しさん
2024/09/13(金) 13:11:54.62ID:CuNhTKaW xlsmでもマクロのパスワードって簡単に解除できるの
504481
2024/09/13(金) 13:17:52.39ID:BkJPe7Zz505デフォルトの名無しさん
2024/09/13(金) 13:31:58.83ID:49GkiWoo506481
2024/09/13(金) 13:36:37.63ID:BkJPe7Zz507デフォルトの名無しさん
2024/09/13(金) 16:48:32.57ID:bblj+c3p >>485
辞めたら陰でボロクソ言われてる未来
辞めたら陰でボロクソ言われてる未来
508デフォルトの名無しさん
2024/09/13(金) 16:56:09.74ID:3NwUwDPn 株のソフトってからには、ローソク足チャートとか含まれてそうなものだが
単にスクレイピングしてるってだけなら、Excel側でそのデータをチャートにできる
ps://liibercraft.com/archives/1430 真似するだけで簡単に作れる
最大値知りたい だけじゃ無く、始値終値安値とかも比較しなきゃ、高値だけ追っても
何が何だか
単にスクレイピングしてるってだけなら、Excel側でそのデータをチャートにできる
ps://liibercraft.com/archives/1430 真似するだけで簡単に作れる
最大値知りたい だけじゃ無く、始値終値安値とかも比較しなきゃ、高値だけ追っても
何が何だか
509デフォルトの名無しさん
2024/09/13(金) 17:04:30.81ID:LR+YI2VO >>507
辞めた後の評判が自分まで聞こえてくることはないからヘーキ
辞めた後の評判が自分まで聞こえてくることはないからヘーキ
510デフォルトの名無しさん
2024/09/13(金) 21:35:37.59ID:pOLLC01h >>494
Dim maxValue As Double
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A5")) Is Nothing Then
If Target.Value > maxValue Then
maxValue = Target.Value
Range("B5").Value = maxValue
End If
End If
End Sub
Dim maxValue As Double
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A5")) Is Nothing Then
If Target.Value > maxValue Then
maxValue = Target.Value
Range("B5").Value = maxValue
End If
End If
End Sub
511デフォルトの名無しさん
2024/09/18(水) 04:18:48.87ID:m7bc9t2M >>492
1つ目の段落はしないなー
1つ目の段落はしないなー
512デフォルトの名無しさん
2024/09/18(水) 09:19:49.82ID:6p1dNV5V オレも1段目はしない派だな
513デフォルトの名無しさん
2024/09/18(水) 11:09:59.45ID:P4TXdwxF IEが使えなくなった今、
VBAからChromeブラウザでHTMLを操作する方法はありますか?
VBAからChromeブラウザでHTMLを操作する方法はありますか?
514デフォルトの名無しさん
2024/09/18(水) 11:37:48.60ID:XI8ifICC まだIEは使えるしEdgeやChromeも使える
515デフォルトの名無しさん
2024/09/18(水) 12:03:02.51ID:P4TXdwxF >>514
そのやりかたとは?
そのやりかたとは?
516デフォルトの名無しさん
2024/09/18(水) 14:03:12.68ID:E6OhFCQt Floorp
517デフォルトの名無しさん
2024/09/18(水) 16:32:27.89ID:NxnC1wWp >>511
Privateは1文字目じゃないのこれ
Privateは1文字目じゃないのこれ
518デフォルトの名無しさん
2024/09/19(木) 20:18:28.74ID:/NVs7a9q >>511
だよね~
だよね~
519デフォルトの名無しさん
2024/09/20(金) 22:36:42.12ID:F97xUAlJ まだマクロのスレが息しているとは驚き
520デフォルトの名無しさん
2024/09/21(土) 00:06:25.91ID:rFMm4e/D >>519
そろそろ就職して現実を見ろよ
そろそろ就職して現実を見ろよ
521デフォルトの名無しさん
2024/09/22(日) 09:20:02.85ID:Fif89iKN >>520
その前に、就職していない現実を見ろよ
その前に、就職していない現実を見ろよ
522デフォルトの名無しさん
2024/09/29(日) 10:55:52.42ID:IMLgMCCX ププッw 効いてる効いてる
523デフォルトの名無しさん
2024/09/29(日) 10:59:10.16ID:VFzoAUjL VBAで業務効率化をしたいけどもうこれ以上アイデアが浮かばない
アイデアを浮かばせるのによいことってあるかな?
アイデアを浮かばせるのによいことってあるかな?
524デフォルトの名無しさん
2024/09/29(日) 11:22:06.13ID:CpzCvyCM アイデアを作る一番良い方法はインプットとアウトプットを増やすこと
ってなんかの本で読んだ
ってなんかの本で読んだ
525デフォルトの名無しさん
2024/09/29(日) 16:26:37.39ID:XFqGlKVL 仕事嫌だけど週末に思いついたはコードを試したい
526デフォルトの名無しさん
2024/09/29(日) 21:08:04.43ID:bEUkoqm2 >>523
まずは手作業で全部やってみ?
まずは手作業で全部やってみ?
527デフォルトの名無しさん
2024/09/30(月) 10:30:36.61ID:l00cXZwV 色んな情報を脳にインプットすることで選択の幅が広がる
それらを実際にアウトプットとして作ることで良い所や悪い所が経験として蓄積されるみたいな
それらを実際にアウトプットとして作ることで良い所や悪い所が経験として蓄積されるみたいな
528デフォルトの名無しさん
2024/10/01(火) 00:08:28.55ID:/md2jSGe seleniumBASICをインストールしてヘッドレスモードでスクレイピングしてたんだけど
突然、ヘッドレスモードにならずにブラウザが表示されるようになった
chromeとchromedriverをアップデートしたのが原因なんだろうけど
今までアップデートしても何とも無かったのになんでだろう・・・
ブラウザが表示される以外では問題なくスクレイピング出来ています。
なぜだか分かりますか?
突然、ヘッドレスモードにならずにブラウザが表示されるようになった
chromeとchromedriverをアップデートしたのが原因なんだろうけど
今までアップデートしても何とも無かったのになんでだろう・・・
ブラウザが表示される以外では問題なくスクレイピング出来ています。
なぜだか分かりますか?
529デフォルトの名無しさん
2024/10/01(火) 04:27:07.05ID:4Z5DZZe1 >>528
ブラウザの仕様はしょっちゅう勝手に変わる
ブラウザの仕様はしょっちゅう勝手に変わる
530デフォルトの名無しさん
2024/10/01(火) 06:33:46.48ID:cpW1buAI ASISが仕様と諦めて地道に追従するしかない
531デフォルトの名無しさん
2024/10/01(火) 07:13:42.06ID:Ql4d/q6g532デフォルトの名無しさん
2024/10/01(火) 11:08:22.05ID:uIcos+y8 Dim ary(2) As Long
ary(0) = 101
ary(1) = 102
ary(2) = 103
Dim dic As New Dictionary
dic.Add "a", ary
Debug.Print dic("a")(0) '@
dic("a")(0) = 101000 'A
Debug.Print dic("a")(0) 'B
VBAって@はできるのにAはできないのな
@とBの結果が同じで101
chatGPTに聞いてみたけどしっかりは理解できんかったわ
参照できないんだってことは分かった
一旦valueの配列を取得してから、この配列の(0)に代入したあとにもう一度元の位置に配列ごと戻せということらしい
C#とjavascriptで同じ事やってみたけど普通にできるからVBAが異常なんかね
ary(0) = 101
ary(1) = 102
ary(2) = 103
Dim dic As New Dictionary
dic.Add "a", ary
Debug.Print dic("a")(0) '@
dic("a")(0) = 101000 'A
Debug.Print dic("a")(0) 'B
VBAって@はできるのにAはできないのな
@とBの結果が同じで101
chatGPTに聞いてみたけどしっかりは理解できんかったわ
参照できないんだってことは分かった
一旦valueの配列を取得してから、この配列の(0)に代入したあとにもう一度元の位置に配列ごと戻せということらしい
C#とjavascriptで同じ事やってみたけど普通にできるからVBAが異常なんかね
533デフォルトの名無しさん
2024/10/01(火) 11:31:03.00ID:/md2jSGe534デフォルトの名無しさん
2024/10/01(火) 11:40:57.94ID:6vRh522T >>532
配列じゃなくてdicの値を取り出す関数だからね
配列じゃなくてdicの値を取り出す関数だからね
535デフォルトの名無しさん
2024/10/01(火) 11:43:32.60ID:aeft4n4n 年取ったら超単純な機転が利かなくなっちゃうんだろうな、めげずに頑張れ
536デフォルトの名無しさん
2024/10/01(火) 15:03:02.71ID:uIcos+y8 >>534
gptもそんなこと言ってた
variant型変数取り出してるからどうのこうの
でもそれなら(0)ってつけたらエラー起きちゃうんじゃないの
Dim a As Variant
Debug.Print a(0)
たとえばこうやるとエラー起きるじゃんみたいな話に持って行ったんだけどうまくはぐらかされて撤退してきた
エラーが起きるなら仕様なんだなって分かるんだけどエラーでない
101000はどこに行ったのか聞いてみたけどそれもよくわからんかった
gptの話だと、結局本体ではなくてコピーに代入してるそうだ
そうなのかそうなんだって、わかったふり
gptもそんなこと言ってた
variant型変数取り出してるからどうのこうの
でもそれなら(0)ってつけたらエラー起きちゃうんじゃないの
Dim a As Variant
Debug.Print a(0)
たとえばこうやるとエラー起きるじゃんみたいな話に持って行ったんだけどうまくはぐらかされて撤退してきた
エラーが起きるなら仕様なんだなって分かるんだけどエラーでない
101000はどこに行ったのか聞いてみたけどそれもよくわからんかった
gptの話だと、結局本体ではなくてコピーに代入してるそうだ
そうなのかそうなんだって、わかったふり
537デフォルトの名無しさん
2024/10/01(火) 19:54:06.57ID:4yFbtrHM 他の言語と違ってVBでは配列をコピー(代入)すると
中身も含めて丸ごとコピーされる
つまりdicへの格納、取出しのたびに複製された配列が作成される
複製の中身を書き換えても元のデータは変わらない
他の言語では参照のコピーになる事が多いね
中身も含めて丸ごとコピーされる
つまりdicへの格納、取出しのたびに複製された配列が作成される
複製の中身を書き換えても元のデータは変わらない
他の言語では参照のコピーになる事が多いね
538デフォルトの名無しさん
2024/10/01(火) 23:57:01.81ID:UgLwFGVQ なので参照になるようにすればエエってこと
539デフォルトの名無しさん
2024/10/02(水) 10:28:02.48ID:XbzwGALZ >VBでは配列をコピー(代入)すると
>中身も含めて丸ごとコピーされる
いや他の言語でもそうだろω
>中身も含めて丸ごとコピーされる
いや他の言語でもそうだろω
540デフォルトの名無しさん
2024/10/02(水) 10:33:17.12ID:837aqOia >>539
あなたは脳弱ですね
あなたは脳弱ですね
541デフォルトの名無しさん
2024/10/02(水) 10:41:52.26ID:Yo3NYRw/ ByValやByRefは使えないの?
542デフォルトの名無しさん
2024/10/02(水) 11:06:17.08ID:97hNZVMu >>539
参照をコピーする言語の方が多いんじゃね
参照をコピーする言語の方が多いんじゃね
543デフォルトの名無しさん
2024/10/02(水) 13:02:33.22ID:/2Ign3qJ VBAってちょっと小難しいことし始めるとはまる
ゴリゴリ書いてれば問題起きないんだけど
>>532の続きなんだけど、
結果としてできあがったDictionaryのvalue部分をそのまんまワークシートのRangeに代入しようというのが次の課題です。
dic.Itemsで取得できる配列が、ちょうどVariant型の2次元配列っぽい
てことは、これはそのままRangeにぶち込めばいけるんか?と思ってやってみたら、#N/Aが代入されたりとよくわからん
もしかして〜と思ってWorksheetfunction.Transposeを二回かけたら、なんか成功した。
これも理由はよく分からんかったのだが、ありがとうございますTransposeさま
そもそも2回Transposeかけるとうまくいくってことがあるってのが理解できないのが俺のだめなところなんで勉強してきます
ゴリゴリ書いてれば問題起きないんだけど
>>532の続きなんだけど、
結果としてできあがったDictionaryのvalue部分をそのまんまワークシートのRangeに代入しようというのが次の課題です。
dic.Itemsで取得できる配列が、ちょうどVariant型の2次元配列っぽい
てことは、これはそのままRangeにぶち込めばいけるんか?と思ってやってみたら、#N/Aが代入されたりとよくわからん
もしかして〜と思ってWorksheetfunction.Transposeを二回かけたら、なんか成功した。
これも理由はよく分からんかったのだが、ありがとうございますTransposeさま
そもそも2回Transposeかけるとうまくいくってことがあるってのが理解できないのが俺のだめなところなんで勉強してきます
544デフォルトの名無しさん
2024/10/02(水) 14:54:23.03ID:/2Ign3qJ あーわかった
dic.Itemsで取得できる配列は(1, 1)とかではアクセスできないやつだ
(1)(1)か
これが前の疑問の答えにも繋がりそう
dic.Itemsで取得できる配列は(1, 1)とかではアクセスできないやつだ
(1)(1)か
これが前の疑問の答えにも繋がりそう
545デフォルトの名無しさん
2024/10/03(木) 20:33:55.02ID:z+TmlZL7 (・)(・)
546デフォルトの名無しさん
2024/10/06(日) 17:37:17.48ID:XBGRnPc0 VBAを利用してURL(WEBにある)画像をはりたい
【状況】
あるシート(シート1とする)のA列に画像のURL(画像.jpg)だけが多くの行数に渡りはってある。
なおそのA列の中にはURLがない行もある(1行や2行URL無かったり)
【したいこと】
上と同じシート(シート1)のB列にA列のURLにアクセスしたときの画像をはりつけたい。
またURLがはってある終りの行になったら止まるようにしたい。
なお、URL元リンク参照だけだとリンク切れしたときに画像も表示されなくなるのは困るので、
画像を埋め込んだ形にしたい。
(URL元リンク画像が変更されたときはしかたない)
どなたか教えて頂けたら助かります。
OS:windows10
Excel2013
【状況】
あるシート(シート1とする)のA列に画像のURL(画像.jpg)だけが多くの行数に渡りはってある。
なおそのA列の中にはURLがない行もある(1行や2行URL無かったり)
【したいこと】
上と同じシート(シート1)のB列にA列のURLにアクセスしたときの画像をはりつけたい。
またURLがはってある終りの行になったら止まるようにしたい。
なお、URL元リンク参照だけだとリンク切れしたときに画像も表示されなくなるのは困るので、
画像を埋め込んだ形にしたい。
(URL元リンク画像が変更されたときはしかたない)
どなたか教えて頂けたら助かります。
OS:windows10
Excel2013
547デフォルトの名無しさん
2024/10/06(日) 22:29:50.86ID:LjW/9goQ ブラウザ何使ってるんだろ?
548デフォルトの名無しさん
2024/10/06(日) 23:24:40.36ID:KFHvzP2C >>546
HTMLにはいくつも画像があると思うけど?
HTMLにはいくつも画像があると思うけど?
549デフォルトの名無しさん
2024/10/07(月) 00:25:16.29ID:zYX/1qdW >>546
セルA1に画像のURLが書かれているとき、その画像をセルB1に表示するVBAコードは
Url = Cells(1, 1)
Cells(1, 2).InsertPictureInCell (Url)
あとは Cells の第1引数を i 等に変えて、Url = "" が何回か連続するまでDo~Loop等で回せばいい
が、VBAを使うまでもなく、IMAGE関数を使うほうが楽
B1セルに
=IMAGE(A1)
と書いて、セルの右下隅にカーソルを合わせ、黒い「+」が出たらダブルクリック
セルA1に画像のURLが書かれているとき、その画像をセルB1に表示するVBAコードは
Url = Cells(1, 1)
Cells(1, 2).InsertPictureInCell (Url)
あとは Cells の第1引数を i 等に変えて、Url = "" が何回か連続するまでDo~Loop等で回せばいい
が、VBAを使うまでもなく、IMAGE関数を使うほうが楽
B1セルに
=IMAGE(A1)
と書いて、セルの右下隅にカーソルを合わせ、黒い「+」が出たらダブルクリック
550デフォルトの名無しさん
2024/10/07(月) 00:39:41.14ID:zYX/1qdW551デフォルトの名無しさん
2024/10/07(月) 07:28:10.74ID:WKTA2FMr >>548
何言ってんだURIは一意だろ
何言ってんだURIは一意だろ
552デフォルトの名無しさん
2024/10/07(月) 08:11:41.52ID:7m9aEApF553デフォルトの名無しさん
2024/10/07(月) 09:24:43.78ID:WJe3vOXb えっちな画像収集のVBAか? 画像のリンクを隠すサイトも多いからどうなんだ
つか、Excel2013でネット上のファイル収集 怖いもの知らずか
つか、Excel2013でネット上のファイル収集 怖いもの知らずか
554デフォルトの名無しさん
2024/10/07(月) 18:57:33.84ID:ehpfJtfp 普段はスケベな画像収集のためにVBA書いてるだけなんでしょ?
555デフォルトの名無しさん
2024/10/07(月) 19:48:37.22ID:miJRchcr >>546
シート1のA列にあるURLから画像を取得しB列に貼りつけ
Sub InsertImages()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim pic As Picture
Dim picURL As String
' シート1を設定
Set ws = ThisWorkbook.Sheets("シート1")
' A列の最後の行を取得
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' A列の各行をループ
For i = 1 To lastRow
picURL = ws.Cells(i, 1).Value
' URLが空でない場合
If picURL <> "" Then
' 画像をB列に貼り付け
Set pic = ws.Pictures.Insert(picURL)
With pic
.Left = ws.Cells(i, 2).Left
.Top = ws.Cells(i, 2).Top
.Placement = xlMoveAndSize
End With
End If
Next i
End Sub
シート1のA列にあるURLから画像を取得しB列に貼りつけ
Sub InsertImages()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim pic As Picture
Dim picURL As String
' シート1を設定
Set ws = ThisWorkbook.Sheets("シート1")
' A列の最後の行を取得
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' A列の各行をループ
For i = 1 To lastRow
picURL = ws.Cells(i, 1).Value
' URLが空でない場合
If picURL <> "" Then
' 画像をB列に貼り付け
Set pic = ws.Pictures.Insert(picURL)
With pic
.Left = ws.Cells(i, 2).Left
.Top = ws.Cells(i, 2).Top
.Placement = xlMoveAndSize
End With
End If
Next i
End Sub
556デフォルトの名無しさん
2024/10/07(月) 19:56:22.41ID:ATZvPGNU >>546で書いた者なのだが
https://i.imgur.com/M4CtahS.png
とりあえずこれでなんとかいけそう
なんとかというかまぁ、いけるがgptに頼った自分にもやもやする
>>549
IMAGE関数ってEXCEL2024だか2023の最新版の機能なんじゃないの?
俺持ってるのEXCEL2013だからIMAGE関数が実装されてない
というかもともとIMAGE関数ってあった?いやしらんけど
>>553-554
スクレイピングかどうかは俺も良くわからない
https://i.imgur.com/M4CtahS.png
とりあえずこれでなんとかいけそう
なんとかというかまぁ、いけるがgptに頼った自分にもやもやする
>>549
IMAGE関数ってEXCEL2024だか2023の最新版の機能なんじゃないの?
俺持ってるのEXCEL2013だからIMAGE関数が実装されてない
というかもともとIMAGE関数ってあった?いやしらんけど
>>553-554
スクレイピングかどうかは俺も良くわからない
557デフォルトの名無しさん
2024/10/07(月) 19:59:06.34ID:ATZvPGNU558デフォルトの名無しさん
2024/10/07(月) 21:11:01.50ID:ATZvPGNU >>555
' URLが空でない場合
サンキューついでに思ったのだが、
このコメントって URLが空で(はない)場合、つまりURLがある場合なのか、
URLが空っぽで無い場合、つまりURLがない場合なのか、
というかセルにないのかあるのか、
URL自体が存在ないのかあるのか、
わからん if <> then で読み取れるちゃとれるが
' URLが空でない場合
サンキューついでに思ったのだが、
このコメントって URLが空で(はない)場合、つまりURLがある場合なのか、
URLが空っぽで無い場合、つまりURLがない場合なのか、
というかセルにないのかあるのか、
URL自体が存在ないのかあるのか、
わからん if <> then で読み取れるちゃとれるが
559デフォルトの名無しさん
2024/10/07(月) 21:44:05.09ID:mWca/n3q こんなのサンプルプログラムレベルだろ
ChatGPTをありがたがる奴なんてこんなもん
ChatGPTをありがたがる奴なんてこんなもん
560デフォルトの名無しさん
2024/10/07(月) 22:19:33.65ID:WJe3vOXb561デフォルトの名無しさん
2024/10/08(火) 03:02:45.83ID:fm1p80ci562デフォルトの名無しさん
2024/10/08(火) 03:27:35.63ID:Z37XWRbK GPTってファイルサーチのモジュール書いてと言ったら書いてくれるんかね?
563デフォルトの名無しさん
2024/10/08(火) 03:50:49.48ID:ZlFUv9Vp564デフォルトの名無しさん
2024/10/08(火) 07:27:56.80ID:FAnEs44N565デフォルトの名無しさん
2024/10/08(火) 09:26:28.18ID:2vPrSKyO >>559
googleで検索しても該当する妥当なものがヒットしなかった
IMAGE関数という最新のExcel2024を用いた検索結果が冒頭にヒットした
まぁ販売する側は買わせたいのだろうけどね、生憎俺はExcel2013なんだ
その他検索ワードを遡ってみたりしてもうまい具合なのは出なかった
具体的なVBAコード、サンプルコードが出なかった
俺の検索ワードの入れ方が間違っていたのかもしれない
即答性を考えるとChatGPTが良かった
今更ながら実践として懐疑的な見方をしていたがいい具合にでたので結果的には満足だが自分の未熟さは痛感してる
googleで検索しても該当する妥当なものがヒットしなかった
IMAGE関数という最新のExcel2024を用いた検索結果が冒頭にヒットした
まぁ販売する側は買わせたいのだろうけどね、生憎俺はExcel2013なんだ
その他検索ワードを遡ってみたりしてもうまい具合なのは出なかった
具体的なVBAコード、サンプルコードが出なかった
俺の検索ワードの入れ方が間違っていたのかもしれない
即答性を考えるとChatGPTが良かった
今更ながら実践として懐疑的な見方をしていたがいい具合にでたので結果的には満足だが自分の未熟さは痛感してる
566デフォルトの名無しさん
2024/10/08(火) 09:29:20.79ID:2vPrSKyO >>560-561
たしかにセルの高さに合わせてリサイズだね
最初ChatGPTでそのまま貼りつくがあったんだけど、
ChatGPTが吐いたコードをもう一度質問にいれてもっとよくできないかとか質問したら
リサイズとかいろいろ候補だしまくってきて、それが楽しかった
最初手打ちでぽちぽちやろうとしていたのだがその時はセルが大きすぎるから画像サイズがそのままでも
よかったんだよね。元の画像を勝手に縮小サイズにされて貼り付けられるのが怖かったけれど。
うまいことセルに合わせてくれるからそれはそれで結果オーライ
書き方についてはなるほどね、nullか。nullと聞いて思い出したのだが
今作ってる表をDB化というかマイクロソフトクエリーでいじりたいと思ってて、
その際空欄セルどうするか考えてたのよね。日付の場合の空欄はどうしようとか、色々
たしかにセルの高さに合わせてリサイズだね
最初ChatGPTでそのまま貼りつくがあったんだけど、
ChatGPTが吐いたコードをもう一度質問にいれてもっとよくできないかとか質問したら
リサイズとかいろいろ候補だしまくってきて、それが楽しかった
最初手打ちでぽちぽちやろうとしていたのだがその時はセルが大きすぎるから画像サイズがそのままでも
よかったんだよね。元の画像を勝手に縮小サイズにされて貼り付けられるのが怖かったけれど。
うまいことセルに合わせてくれるからそれはそれで結果オーライ
書き方についてはなるほどね、nullか。nullと聞いて思い出したのだが
今作ってる表をDB化というかマイクロソフトクエリーでいじりたいと思ってて、
その際空欄セルどうするか考えてたのよね。日付の場合の空欄はどうしようとか、色々
567デフォルトの名無しさん
2024/10/08(火) 09:58:30.42ID:kzEBFuSt 考える前に手を動かせばよかったな
568デフォルトの名無しさん
2024/10/08(火) 10:22:56.17ID:+McDiVVz chatGPTが凄いと思ったことは一度も無い
569デフォルトの名無しさん
2024/10/08(火) 10:43:31.59ID:nj8FtJda 俺は人と違う的なことをいいたがる思春期かよ
570デフォルトの名無しさん
2024/10/08(火) 12:11:10.81ID:r7JYN2Az 40代の思春期
571デフォルトの名無しさん
2024/10/08(火) 12:41:26.30ID:WIIl8zzb クエリと null がどう関わって気に成るのか(ま、疑問を持つのはいいことだけど)
null IsNull Is Not Null ISBLANK(Accessでしか使えないのも混じってるけど、あれこれ試せばいい)
<>"" ="" とかもあったかな トライ&エラーはだいじ
null IsNull Is Not Null ISBLANK(Accessでしか使えないのも混じってるけど、あれこれ試せばいい)
<>"" ="" とかもあったかな トライ&エラーはだいじ
572デフォルトの名無しさん
2024/10/08(火) 12:59:11.87ID:ZlFUv9Vp マニュアルをちゃんと読めば、構文が正しいかどうかは試さなくてもわかるんだ
でも読む手間より試す手間のが少ないからみんな試すんだ
でも長い目で見れば毎回試すよりちゃんと覚えた方が結果的に早道なんだ
でも読む手間より試す手間のが少ないからみんな試すんだ
でも長い目で見れば毎回試すよりちゃんと覚えた方が結果的に早道なんだ
573デフォルトの名無しさん
2024/10/08(火) 15:16:13.86ID:n2AtMVMI 試行錯誤
574デフォルトの名無しさん
2024/10/08(火) 16:52:21.08ID:WIIl8zzb trial and error だとダメ出しを喰らった なんてこった トライアルアンドエラー 舌がもつれる
575デフォルトの名無しさん
2024/10/08(火) 19:16:43.88ID:pUNp1Gnc トライアンドエラーは素人が使う言葉
576デフォルトの名無しさん
2024/10/08(火) 19:24:29.44ID:2vPrSKyO >>559
いま思ったんだけど、
こんなのサンプルプログダムだろって書く余裕はあれど
その答えをさくっと書かないってのはどうなのかとも思ってみた
なんだろう、質問コーナーみてて知ってるのに教えないでそれニヤニヤみてて
解決したのを面白く思わないみたいな感じ?
そういう大人(老害)、心も体もにはならないように俺頑張るよ
いま思ったんだけど、
こんなのサンプルプログダムだろって書く余裕はあれど
その答えをさくっと書かないってのはどうなのかとも思ってみた
なんだろう、質問コーナーみてて知ってるのに教えないでそれニヤニヤみてて
解決したのを面白く思わないみたいな感じ?
そういう大人(老害)、心も体もにはならないように俺頑張るよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【滋賀】不良グループのメンバーの「タイマン」で17歳重体 殺人未遂容疑で岐阜市の19歳を逮捕 頭蓋骨骨折や脳挫傷、急性硬膜下血腫 ★2 [ぐれ★]
- 高市早苗氏、総裁選のPRに8000万円超支出していたことが判明。水面下で巨費投じる [バイト歴50年★]
- 立憲・原口議員がキレキレ「日本にレアアース来なければ中国は精製できない」「“旧敵国条項”明らかなやりすぎ」 [少考さん★]
- 【外交】中国大使館、自民党の石破茂前首相の発言「台湾は中国の一部。変えてはならない」をX投稿 産経 [1ゲットロボ★]
- 「おこめ券知られていない」農水省が説明会実施へ 「税金でおこめ券配ると、発行2団体に利益集中するのでは?」記者の問いに鈴木農水大臣 [ぐれ★]
- 【プロ野球】巨人 オコエ瑠偉外野手が自由契約 [あずささん★]
- 【実況】博衣こよりのえちえち4周年44人逆凸 🧪
- 👊👊😅 👊👊😅 さかなーっ!🏡
- 【衝撃】去年の自民党総裁戦、高市は宣伝費に約8400万円もの巨額を使っていた ※この時勝利した石破は約40万円 [597533159]
- 【んな🏡】華金✨のんなたん🍬んなんなスレッドなのらよ🏰【ホロライブ】
- 中国「日本は高市発言を“言及しない”ことで誤魔化そうとしてるが、所詮その場しのぎの言い訳」 [834922174]
- 槍の名前ってウ段で終わるよな
