Excel VBA 質問スレ Part70

■ このスレッドは過去ログ倉庫に格納されています
2021/03/18(木) 22:08:43.71ID:jtngtgXU0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ

※前スレ
Excel VBA 質問スレ Part69
https://mevius.5ch.net/test/read.cgi/tech/1607786543/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/05/02(日) 10:19:11.69ID:72ULtZJbM
>>605
> エラーになるんですが
なぜエラーメッセージを書かないの?

>>608
数字でもダメでしょ
hako(i) = Worksheets("Sheet1").Range(1, 1).Value
になるだけだし
2021/05/02(日) 10:26:38.41ID:GQme+tVN0
>>617
アプリケーション定義エラーまたはオブジェクトの定義エラーですってなります
2021/05/02(日) 11:31:48.49ID:1V5M4ibt0
2スレ目に何か書いとこうと思って、
とりあえず考えついたのがこれくらいしかなかった。
スンマセン
2021/05/02(日) 11:41:15.21ID:nZ1YzZjsM
>>618
>>617で頓珍漢なこと書いてたわスマン、数値かどうかは関係ないわ

> hako(i) = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value

でエラーになるのか

> 実際は縦が動いていきます

の方でエラーになるのかどっち?
上でエラーになるなら1回目なのか何回かやったらエラーになるのかのどっち?
下でエラーになるならエラーになった時のセルの指定がおかしくないかを確認
あとシートの指定は変数に入れるかWithを使った方が楽だよ

With Worksheets("Sheet1")
For i = 0 to 回数
hako(i) = .Range(.Cells(1,1), .Cells(1,1)).Value
Next
End With
2021/05/02(日) 12:12:35.89ID:GQme+tVN0
>>620
独学でやってたのでその辺の知識がなくてw
withで指定するといちいち書かなくて済むんですね
エラーになるのはもう1度目からです

> hako(i) = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value

ここの時点でエラーになります。
2021/05/02(日) 12:42:32.96ID:72ULtZJbM
>>621
切り分けとしてエラーになった時にイミディエイトウィンドウで

hako(i) = Worksheets("Sheet1").Range("A1").Value

Debug.Print Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1,1), Worksheets("Sheet1").Cells(1,1)).Value

Debug.Print Worksheets("Sheet1").Cells(1,1).Address

を実行してみて
2021/05/02(日) 13:21:44.18ID:GQme+tVN0
>>622
あまり使ったことがない機能で分からないんですが
試しにA1に1という数字を置いて実行したら1という結果が出ました
エラーは出なかったです
2021/05/02(日) 13:32:29.72ID:MDNwXGbEd
エラーが出なくなったらよかった。
他に問題は?
解決?
625デフォルトの名無しさん (ワッチョイ dfe6-HlUj)
垢版 |
2021/05/02(日) 18:51:27.95ID:U5GvC0it0
こういう人って文法は理解できないけど
自然言語みたいに丸暗記で覚えていくのかな?
2021/05/02(日) 19:13:05.11ID:uM4tl5TR0
〜10年後〜
「あ、ちゃんと覚えたほうが早かったんだ」

と、表面をなぞりまくる内に本質まで見えてきて最後に気づく人もいる
本業じゃないからね。仕方ないね。
2021/05/02(日) 19:18:03.74ID:o6kkyx/e0
類型から共通点を見出して次第にルールを覚えるのは自然界の学習形態に沿っている
628デフォルトの名無しさん (ワッチョイ dfe6-HlUj)
垢版 |
2021/05/02(日) 19:36:47.01ID:U5GvC0it0
古いBASICの構文が難しいからそこだけはしっかりと覚えたほうが早いんだけどね
2021/05/03(月) 02:05:26.31ID:q65flA4Da
10年後もこんなことやってるとかw
2021/05/03(月) 03:55:18.41ID:xnojJk7TH
一度普及した物は、減り続けても簡単にはなくならんよ
PC-9801だっていまだに現役で使ってる工場とかあるし
サポートがなくなって10年後でもVBAを使う職場は間違いなく世界中のどこかに残ってる
2021/05/03(月) 04:12:16.92ID:mvyi8XcRa
10年たってもエラーが直んないとかやっているのかと言う意味だ
2021/05/03(月) 07:31:09.68ID:o8xt4Q4Ca
>>618
このエラーがでるとお手上げ
さっぱりわからない
2021/05/03(月) 10:36:54.14ID:lox1tlFa0
>>605
「回数」で動くわけないだろw
数字入れろつーの
2021/05/03(月) 10:55:13.04ID:xPMfOD2I0
もはや社会人いないな
2021/05/03(月) 11:10:44.37ID:l6TI+yt9M
>>633
> 「回数」で動くわけないだろw
普通に変数なり定数なりを定義したら動くだろ
ツッコミならもっとおもしろいやつにしてくれ
2021/05/03(月) 12:03:06.50ID:DAKb1uRk0
0から始まるときは 回数-1 じゃね
637デフォルトの名無しさん (ワッチョイ 5fba-eh0L)
垢版 |
2021/05/03(月) 14:59:49.63ID:po5ohrNh0
ttps://pastebin.pl/view/3a98fdc0

サムネイル画像の1番をクリックして表示された画像を順々にダウンロードするクローラみたいなものを作ろうとしてるのですが、
どうやったらサムネイル画像の1番めをクリックして表示された画像のURLを取得できるでしょうか?
2021/05/03(月) 18:17:11.84ID:iRbOallH0
HTML の中には、サムネイル画像をクリックした時の、飛び先のリンクが書いてある。
(ただし、下には、@の文字を追加した)

最初の画像なら、
<a href="http@s://e-hentai.org/s/78a8543e34/1727798-1">

うまくスクレイピングすれば、このURL を抜き出せるのでは?
639デフォルトの名無しさん (ワッチョイ c710-TNk6)
垢版 |
2021/05/03(月) 20:20:21.53ID:BZOTVT3k0
シート上の複数のリストボックスの選択済みをボタンを押すと
一括クリアしたいと思っています。

For i = 0 To ActiveSheet.OLEObjects("ListBox1").ListCount - 1
If ActiveSheet.OLEObjects("ListBox1").Selected(i) = True Then
ActiveSheet.OLEObjects("ListBox1").Selected(i) = False
End If
Next i

このコードではオブジェクトがないとエラーになります。

どなたかご教授ください。
640デフォルトの名無しさん (ワッチョイ 7f8e-MiMN)
垢版 |
2021/05/03(月) 22:04:23.29ID:0Wb20ZWw0
いつものあいつ
2021/05/03(月) 22:25:43.32ID:iSjmevx80
そりゃオブジェクト指定してるのにオブジェクトなかったらエラーになる
2021/05/03(月) 23:09:22.50ID:Z9IP11pi0
アクティブやセレクトの多用はエラー処理が面倒くさくなる場合が多い
根本的なトコロから考え直すヨロシ
2021/05/04(火) 00:04:08.03ID:ZMKTnAbRH
>>639
ボックスが複数あるのか、選択肢が複数あるのか、どっち?
2021/05/04(火) 00:21:07.48ID:YgbBuLel0
>>635
どっちもしてないじゃん
2021/05/04(火) 19:03:55.38ID:19cryuYQa
なるほど
"sheet1"が有りません的なエラーなんだ
これは勉強になった
2021/05/04(火) 23:49:30.76ID:uwH+LPLT0
一生懸命マクロを組んだのに実は標準機能で実現できると知ったときのガッカリ感
647デフォルトの名無しさん (ドコグロ MMeb-c369)
垢版 |
2021/05/05(水) 00:05:02.26ID:6kHGIPV/M
何を作ったかは知らんけど付加価値を追加すればええやん
俺はカラーパレットと並び替えを付加価値を付けて作って使っているけどな
2021/05/05(水) 01:59:04.74ID:OXlCsy+h0
ショートカットキー押したらアクティブセルのフォントや背景の色番号が
クリップボードにコピーされるちょいマクロを作ってる
マクロ作るときに欲しい色番号をすぐ書けるので便利
2021/05/05(水) 09:07:35.23ID:LGgg24P3M
>>648
VBA初学者の誰もが通る道だな
2021/05/05(水) 09:17:08.30ID:4t234ePa0
人の作ったデータベースでIDと商品名がひとつのセルに入力されてるから個別にクリップボードにコピーするマクロを作ったな
2021/05/05(水) 09:38:04.66ID:CaKZkb7J0
>>646
レベルアップしたよ。その経験は無駄にはなってないよ
2021/05/05(水) 10:04:42.11ID:nWfClEZV0
Private Sub Worksheet_Change(ByVal Target As Range)

If _
Target.Address <> "$C$2" _
Or (IsNumeric(Target)) _
Then
Exit Sub
End If

main = Cells(1, 3).Value
main2 = Cells(2, 3).Value

If (Int(main) - (main)) = 0 Then
Sheets("DB").Cells(2, 3) = main
Else
Sheets("DB").Cells(2, 3) = Int(main2)
End If
End Sub
2021/05/05(水) 10:54:54.17ID:nWfClEZV0
Private Sub Worksheet_Change(ByVal Target As Range)
1つ目
If _
Target.Address <> "$C$2" _
Or (IsNumeric(Target)) _
Then
Exit Sub
End If
main = Cells(1, 3).Value
main2 = Cells(2, 3).Value
If (Int(main) - (main)) = 0 Then
Sheets("DB").Cells(2, 3) = main
Else
Sheets("DB").Cells(2, 3) = Int(main2)
End If
End Sub
2つ目
If Intersect(Target, Range("A1:C2")) Is Nothing Or Target.Cells.Count > 6 Then Exit Sub
Columns("d").ClearContents
Application.EnableEvents = False
日付1 = DateSerial(Range("A1"), Range("B1"), Range("C1"))
日付2 = DateSerial(Range("A2"), Range("B2"), Range("C2"))
For 日付 = 日付1 To 日付2
r = r + 1
Cells(r, "D") = 日付
Next
Application.EnableEvents = True
End Sub
一つ目と二つ目を合わせるにはどうしたらいいでしょうか?
前にも質問してググってみたのですが今の私のレベルでは手に負えなくて困ってます
ご教授ください
2021/05/05(水) 10:58:18.12ID:CaKZkb7J0
>>653
前も見た気がするけど、結局何をやりたいのか分からん
最初から最後までやりたいことを通して書いてくれ
2021/05/05(水) 11:08:55.56ID:4t234ePa0
この人教えるには金貰わなきゃ割に合わないくらいめんどい
2021/05/05(水) 11:10:46.24ID:nWfClEZV0
すみません!

   A   B   C    D
1 2021  1   1   1/1
2 2021  1   5   1/2
               1/3
               1/4
               1/5

↑のようにDateが入った表で
1/1と1/5までの日付をD列に表示したいです

もし2/4から2/6なら
2021/05/05(水) 11:12:17.39ID:nWfClEZV0
すみません!

   A   B   C    D
1 2021  1   1   1/1
2 2021  1   5   1/2
               1/3
               1/4
               1/5

↑のようにDateが入った表で
1/1と1/5までの日付をD列に表示したいです

もし2/4から2/6なら2/4、2/5、2/6を
2021/05/05(水) 11:15:04.54ID:nWfClEZV0
   A   B   C    D
1 2021  1   1   1/1
2 2021  1   5   1/2
               1/3
               1/4
               1/5

↑のようにDateが入った表で
1/1と1/5までの日付をD列に表示したいです

もし2/4から2/6なら2/4、2/5、2/6をD列に表示したいです

もしC2に数字以外の文字等が入った場合はC1の数字をC2に来るように出来るでしょうか?
2021/05/05(水) 11:16:11.30ID:nWfClEZV0
間違えて
何回も連投してしまいました
すみません
2021/05/05(水) 11:31:02.17ID:nWfClEZV0
>>655
わたしみたいな初心者にはレベル高すぎですよね
もう少しググって勉強してみます
2021/05/05(水) 13:52:36.59ID:DQe3j4Yqa
うむ
他人に説明するときは5w1hがきほん
だいぶよくなったよな
2021/05/05(水) 14:24:16.43ID:zgzGcqkdH
質問とソースの両方見ても判定条件がよくわからん
超エスパーすると、数字が5個か6個入ってたらスタートか?
2021/05/05(水) 14:29:49.98ID:CaKZkb7J0
>>656
数式じゃダメなの?
数式だと3分で出来たけど

D1=DATE(A1,B1,C1)
D2=IF(DATE($A$2,$B$2,$C$2)<($D1+1),"",$D1+1)
D2を下にオートフィル
2021/05/05(水) 14:33:33.57ID:Dw+PnwkB0
Ruby なら、

require 'csv'
require 'date'

input = <<"EOT"
year,month,day
2021,5,31
2021,6,2
EOT

options = { :headers => true } # ヘッダー有り
csv_ary = CSV.parse( input, options )

tmp_from = csv_ary[ 0 ]
tmp_to = csv_ary[ 1 ]

from_day = Date.new( tmp_from[ 0 ].to_i, tmp_from[ 1 ].to_i, tmp_from[ 2 ].to_i )
to_day = Date.new( tmp_to[ 0 ].to_i, tmp_to[ 1 ].to_i, tmp_to[ 2 ].to_i )

Range.new( from_day, to_day ).each{ |day| puts day }

出力
2021-05-31
2021-06-01
2021-06-02
2021/05/05(水) 14:39:31.63ID:Peytj0fp0
>>664
スレ違い
2021/05/05(水) 14:45:18.78ID:CaKZkb7J0
>>664
Rubyとか消滅しそうな言語で書いてどうしたいの?
https://s3-ap-northeast-1.amazonaws.com/samurai-blog-media/blog/wp-content/uploads/2019/05/66e291d220430021c308db2399680990.jpg
2021/05/05(水) 14:50:07.30ID:tepg5eqrM
>>666
プログラム板に常駐してるキチガイ知らないの?
2021/05/05(水) 14:52:08.71ID:CaKZkb7J0
>>667
知らないわ
別言語のスレとかそんなに見ない
669デフォルトの名無しさん (ワッチョイ 7f8e-MiMN)
垢版 |
2021/05/05(水) 15:01:03.66ID:CAyVZDxB0
そもそもいつものあいつだし
2021/05/05(水) 16:38:09.75ID:nWfClEZV0
みなさんを混乱させてしまいまして
もうしわけありません
2021/05/05(水) 20:02:01.88ID:mEvPZJoP0
VB6やVB.NetでVBA用のDLLビルドしてるんだけど、
DLL側のクラスのメンバ構成に変更加えてリビルドしたら、それを参照しているVBAのプロジェクト側で、いちいちDLL参照解除→DLL再参照を手作業でやらんとアカンの?
面倒くさいんやけど。
って、これまでの流れ見たら、スレチな質問になるんかな。
2021/05/05(水) 22:06:37.83ID:XLRqwo1W0
DLLてデルルでいいの?
673デフォルトの名無しさん (ワッチョイ dfe6-HlUj)
垢版 |
2021/05/05(水) 22:10:12.24ID:TYeLzB6b0
ダリラ
2021/05/05(水) 22:14:38.02ID:CaKZkb7J0
>>672
「ダイナミックリンクライブラリ」
昔はドゥルルって勝手に読んでたな
2021/05/05(水) 22:15:56.49ID:tRoHSHAj0
ドロロ
2021/05/05(水) 22:23:14.23ID:mEvPZJoP0
質問した俺が間違っていた。
2021/05/05(水) 22:29:51.86ID:XLRqwo1W0
「質問した俺が間違っていた」
つまりこれをSOM、読み方はデルル
2021/05/05(水) 23:07:25.23ID:gm6jmmXW0
>>671
VB6とかしらんが
COMだよな?ID変わらん限り参照設定変える必要ないと思ったが
ちゃんとレジストリに登録されてないんじゃね
2021/05/06(木) 06:00:24.75ID:fowE0ZYM0
>>678
レジストリには間違いなく登録してる。
例えばVB.Netで実装するDLL側で、公開するクラスのメンバ関数を一つ増やしてリビルドすると、それを参照しているVBA(Excel)実行時にエラーが出る。VBAプロジェクトのコンパイルもできなくなる。
この時、DLL参照設定解除→DLL再参照をやると正常に読み込まれる。
なお上の例では、VB.Net実装のDLL側で増やしたクラスのメンバ関数を消去して元に戻した上で再リビルドすると、DLL参照設定解除→DLL再参照をしなくても、再びDLLが正常に読み込まれる模様w。
2021/05/06(木) 12:12:28.40ID:EE3pjJQ7a
>>663
おー、美しいな
Rubyの人は>>665-666みたいな声に全く耳を貸さずに延々と書いてる方で、このスレでもたまに見るのよ
ほとんど荒らしだから話しかけても無駄。丁重に無視して差し上げるのを推奨します
681デフォルトの名無しさん (ワッチョイ df11-TNk6)
垢版 |
2021/05/06(木) 17:15:18.35ID:YSpOci5b0
質問です
下記のように重複している項目を除いて合計値を算出するコードを教えてください。
調べたところ連想配列?を使えば良いと書いておりましたが、難しくて使い方がよくわかりませんでした・・・
素人すぎて申し訳ないですが、宜しくお願いします。
https://i.imgur.com/xJ71PFz.png
2021/05/06(木) 17:31:33.29ID:5qdpVrsh0
>>679
軽く試したけど再現しない
たぶん、タイプライブラリの変えてはいけない何か(DispIdが怪しい)が変わってると思われ

これ以上はVB.Netのスレ行け
2021/05/06(木) 18:29:38.21ID:jNBg/veuM
>>681
SUMIFで良いじゃんと思ったけど重複は除くのか面倒くせぇな

配列にA〜Cのデータを代入するだろ?
4列目にりんごなら1、みかんなら2を頭に付けてCのデータを連結した上で数値化して放り込むだろ?
そしたら

For RowCnt = LBound(TgtAry, 1) to UBound(TgtAry, 1)
For RowCtR = Ubound(TgTAry, 1) to RowCnt
If TgtAry(RowCnt, UBound(TgtAry, 2)) > TgtAry(RowCtR, UBound(TgtAry, 2)) Then
SavAry([略]) = TgtAry(RowCnt, [略])
TgtAry(RowCnt, [略]) = TgtAry(RowCtR, [略])
TgtAry(RowCtR,[略]) = SavAry([略])
[省略]
End If
Next
Next

みたいな事をやって配列をソートしてやるだろ?
あとは上から順に見ていけば4列目を無視しても重複が弾けるんじゃねぇかな?
2021/05/06(木) 18:48:02.86ID:2oPZ0CXkF
連想配列だと練習問題みたいな課題やね

set ## = createobject("scripting.dictionary")
set @@ = createobject("scripting.dictionary")
for r = 2 to cells(rows.count, 1).end(xlup).row
if not ##.exists(cells(r, 1).value & cells(r, 2).value) then
##.add cells(r, 1).value & cells(r, 2).value
@@(cells(r, 1).value) = @@(cells(r, 1).value) + cells(r, 3).value
end if
next r

for each key in @@
rr = rr + 1
cells(rr + 1 , 5) = key
cells(rr + 1, 6) = @@(key)
next key

今スマホだから試せてないけど、こんな感じでどうだべ?
2021/05/06(木) 19:08:24.28ID:fowE0ZYM0
>>682
検証、ありがと。しかし、再現ならずか。
>>679の書き込みは、一応、直前に確認してから書き込んだ。
こちらでは、管理者権限でVB.Netを立ち上げて、ビルド時にDLL登録してる。
あと>>679で試しに追加するメンバ関数は最後じゃなく、真ん中あたり(property getブロックとsubブロックの間)に追加している。
ところで、みんな、汎用の俺俺ライブラリをDLL化しないのか。
2021/05/06(木) 19:14:13.18ID:95uMi6p80
>>681
俺ならわざわざVBA書かずに関数追加してピボットテーブルで集計するけど。


https://i.imgur.com/LwvzJns.png
2021/05/06(木) 19:40:05.49ID:VTnVqyux0
キーは若干不安なので
=A2&"_"&B2&"_"&C2
ぐらいにはした方が良いと思う
2021/05/06(木) 20:15:22.86ID:b7Mkjg0R0
>>681
Ruby では、

require 'csv'

input = <<"EOT"
りんご,A,2
りんご,B,4
みかん,D,1
りんご,B,100
EOT

input_ary = CSV.parse( input ) # 2次元配列

# 0/1列目が同じものを排除する。先に現れた行が使われる。「りんご,B,100」は使われない
input_ary.uniq! { |row| [ row[ 0 ], row[ 1 ] ] }

# [["りんご", "A", "2"], ["りんご", "B", "4"], ["みかん", "D", "1"]]

result = [ ]

# フルーツ名でグループ化する
input_ary.group_by { |row| row[ 0 ] }.each do |row|
sum = row[ 1 ].sum{ |row| row[ 2 ].to_i } # 合計
result.push [ row[ 0 ], sum ]
end

pp result #=> [ ["りんご", 6], ["みかん", 1] ]
2021/05/06(木) 20:23:53.60ID:95uMi6p80
>>687
なるべく簡潔に書きたくて、そのリスクは無視したw
実際は間に何か挟んだほうがいいね。
2021/05/06(木) 21:11:34.82ID:VTnVqyux0
>>681
元データいじっていいなら重複の削除が超早い(ダメでもコピーすればいいだけだけど)
ってかSQLのサブクエリなら一行で行けそうだ

Sub Macro5()
Range("a:c").RemoveDuplicates Array(1, 2), xlYes
ActiveWorkbook.PivotCaches.Create(xlDatabase, Range("a:c")).CreatePivotTable Range("e1"), "p1"

Set p1 = ActiveSheet.PivotTables("p1")
p1.PivotFields("com").Orientation = xlRowField
p1.PivotFields("com").Position = 1
p1.AddDataField p1.PivotFields("v"), "合計 / v", xlSum
End Sub
2021/05/06(木) 21:12:21.95ID:VTnVqyux0
すまん、"com"は"会社名"、"v"は"値段"などに適宜書き換えてくれ
2021/05/06(木) 22:14:14.24ID:zoaLFLbx0
D列に
=COUNTIF(B$2:B2,B2)
数値合計に
=SUMIFS($C$2:$C$9,$A$2:$A$9,"=" & E2,$D$2:$D$9,"=1")
693デフォルトの名無しさん (ワッチョイ 7f8e-MiMN)
垢版 |
2021/05/06(木) 23:20:33.75ID:srB+AETb0
>>681
しつこい
2021/05/07(金) 04:04:27.47ID:UcyGqCZa0
いまだにIFとISERROR組み合わせてエラー回避やってる人いるんだ。。。??
2021/05/07(金) 04:24:40.54ID:f/k3XSIv0
流石にいまだにVBA使ってるニキの煽りは違うなw
2021/05/07(金) 06:55:01.06ID:sJ3lVRb90
iferrorはエラーの場合の値の置き換えでは?
2021/05/07(金) 07:20:54.57ID:tuSKe1qQ0
booleanで取りたい場合はIFとISERROR組み合わせた方が早い
698デフォルトの名無しさん (ワッチョイ cf05-M0W8)
垢版 |
2021/05/07(金) 07:26:43.31ID:DloXWpsH0
Excelのセルって、Accessで言うところのコントロールの
OldValue プロパティってないの?
Application.Undo以外で更新前の値に戻すときに使いたいんだけど
699デフォルトの名無しさん (ラクッペペ MMe6-YEtS)
垢版 |
2021/05/07(金) 08:26:31.62ID:EfOHcgmKM
見りゃわかることをいちいち聞くな
700デフォルトの名無しさん (ワッチョイ 2301-gUNg)
垢版 |
2021/05/07(金) 09:36:16.79ID:dif1qALr0
教えてください
データベースから取得した大量のデータを、他のシートに簡潔集計したいです。

生データシートには
文字列としてyy(2021)mm(03)をはじめ、メーカ、注文番号、数量、ナンバー、大分類、中分類、小分類など68列に渡ってあります。

理想としては別シートに月別に
メーカ、大分類、中分類、小分類(ピポット的配置のイメージ)で購入金額、数量を降順で出したいです。
メーカや分類名は多く、都度新しいのが出たりするので、メンテナンスなくして自動で出せるようにしたいです。

どうすればいいでしょうか。
2021/05/07(金) 09:51:31.13ID:/bDSijiLM
>>700
DBに入ってるんだったらSQLで最初からgroup byしたらいいだけ
702デフォルトの名無しさん (ワッチョイ 2301-gUNg)
垢版 |
2021/05/07(金) 10:21:13.76ID:dif1qALr0
>>701
すみません、>>700が最終形態ではなく、これができたら私のイメージのモノができるのでお聞きしました。
なのでvbaで回答頂けたら助かります<(_ _)>
2021/05/07(金) 10:44:31.42ID:uFptLScD0
>>702
VBAの中でシートに対してSQL投げて
結果のRecordsetをシートに貼り付けるだけでは?
704デフォルトの名無しさん (ワッチョイ 2301-gUNg)
垢版 |
2021/05/07(金) 10:49:59.41ID:dif1qALr0
>>703
すみません。
私がSQLを理解していないので、正直わかりません。
何か分かりやすいサイト等あったら教えてもらえますか?
705デフォルトの名無しさん (ワントンキン MMda-wmZf)
垢版 |
2021/05/07(金) 11:55:04.67ID:Uq/dH8v/M
またいつものあいつか
2021/05/07(金) 12:02:29.78ID:W+W51fKCa
ここの諸先輩方にとってSQLってどういう位置付け? 常識レベル?
2021/05/07(金) 12:10:39.55ID:Gobk7VPl0
手足と同じレベル
2021/05/07(金) 12:13:21.02ID:/bDSijiLM
>>704
DBがあるんだったらそれをメンテしてる人間もいるだろ?
そいつに聞け
2021/05/07(金) 15:40:07.47ID:1tkbLq7p0
DeBu
2021/05/07(金) 19:08:51.24ID:uFptLScD0
>>704
EXCELでどういうObject使ってシートにSQLを投げるかはVBA シート Sql 辺りでググればいくらでも出てくるけどとりあえず一例としてここかな
http://www7b.biglobe.ne.jp/~whitetiger/ex/ex2002088.html

SQLがどういうものかは流石に SQL 入門 辺りでググってくれ
今は使ってないとしても本来VBAと同等かそれ以上の優先順位で覚えるべきものだから絶対覚えておいた方がいい。
711デフォルトの名無しさん (ワッチョイ 2ae6-YEtS)
垢版 |
2021/05/07(金) 20:08:21.87ID:xGNvq5Jp0
なぜインプロセスだかアウトプロレスだかの話を入れたのかがわからないな
2021/05/07(金) 21:41:30.83ID:Z7WMK8Ny0
Ruby on Rails は、MVC(model/view/controller)モデルだから、
最初から、3大データベース(SQLite/MySQL/PostgreSQL)を使う

入門レベル
713デフォルトの名無しさん (ワッチョイ be8e-gIfd)
垢版 |
2021/05/07(金) 22:30:42.79ID:hSzgOaHp0
>>712
MVCだから?馬鹿は黙ってろよ
2021/05/08(土) 00:33:08.33ID:H8oTRyi2d
>>712
ちょっと何言ってるのかわからない
715デフォルトの名無しさん (ワントンキン MMda-wmZf)
垢版 |
2021/05/08(土) 00:50:58.02ID:9rj5+JrYM
オワコンRubyにしがみつくのはこういう馬鹿ばっか
2021/05/08(土) 00:57:21.53ID:PaQQNn710
言語の終わりを実体験するとかなかなか稀有な例だと思う
2021/05/08(土) 00:59:37.62ID:xzBPi/0q0
VBA使っておいて他の言語をオワコン呼ばわりする権利はないと思うが
Ruby荒らしは前からいるキチだからNGしよう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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