!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part68
https://mevius.5ch.net/test/read.cgi/tech/1598756127/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part69
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ 3fad-qZ/b)
2020/12/13(日) 00:22:23.67ID:Fd224klc0885デフォルトの名無しさん (アウアウウー Sa0f-hRrZ)
2021/03/09(火) 12:09:52.12ID:4S2gbixUa ピボットグラフのスライサー内の選択を変えた時にマクロが動くようにしたいです
イメージ的にはワークシートイベントです
例︰スライサーの日付を変更時にグラフの色を塗る
選択変更の検知方法を教えてください
よろしくお願いします
イメージ的にはワークシートイベントです
例︰スライサーの日付を変更時にグラフの色を塗る
選択変更の検知方法を教えてください
よろしくお願いします
886デフォルトの名無しさん (ラクッペペ MM7f-gfXM)
2021/03/09(火) 12:25:42.94ID:t7O7P6i9M 外枠なら面倒だけど取り消し線なら簡単だ
887デフォルトの名無しさん (JP 0H8f-/obZ)
2021/03/09(火) 12:38:26.95ID:uNAjD4zcH 外枠でも大差ないと思う
Selectionの上下左右に罫線を引くだけ
Selectionの上下左右に罫線を引くだけ
888デフォルトの名無しさん (アウアウウー Sa0f-fXuR)
2021/03/09(火) 12:43:13.10ID:pnwu5thka889デフォルトの名無しさん (ワッチョイ 9b49-4pgk)
2021/03/09(火) 13:03:57.82ID:C5e26MY+0 いえいえ、自分でもっと勉強してくださいね
890デフォルトの名無しさん (ワッチョイ 9f01-u5b1)
2021/03/09(火) 16:16:21.91ID:1va3W7Si0 >>879
If Intersect(Selection, Range("D5:D20")).Count <> Selection.Count Then
MsgBox "エラー"
Else
Selection.Font.Strikethrough = True
End If
If Intersect(Selection, Range("D5:D20")).Count <> Selection.Count Then
MsgBox "エラー"
Else
Selection.Font.Strikethrough = True
End If
891デフォルトの名無しさん (ワッチョイ 2bda-8+U4)
2021/03/10(水) 00:11:15.88ID:seJ5KfaI0 だってさ、先輩がExcelなんか全部マクロで動かせば良いって言われたからさ。。。
ワークシートの関数とかそんなもん覚えなくて良いと言われたからさ。
だからVBAしか知らない。
今凄く関数とか機能を覚えるために苦労してる。
ワークシートの関数とかそんなもん覚えなくて良いと言われたからさ。
だからVBAしか知らない。
今凄く関数とか機能を覚えるために苦労してる。
892デフォルトの名無しさん (ワッチョイ 0fda-/obZ)
2021/03/10(水) 02:20:07.32ID:Mh5oeh7J0 >>891
無理してやる必要ないのに、何のために覚えるの?
無理してやる必要ないのに、何のために覚えるの?
893デフォルトの名無しさん (ワッチョイ 2bda-8+U4)
2021/03/10(水) 07:58:05.94ID:seJ5KfaI0 >>892
マクロだけでは遠回りだと気づいて
マクロだけでは遠回りだと気づいて
894デフォルトの名無しさん (ワッチョイ 9b63-xiWk)
2021/03/10(水) 08:18:24.93ID:afuwFvM40 vlookupはなんであんな変なインターフェースなんですか
895デフォルトの名無しさん (ブーイモ MM8f-IazI)
2021/03/10(水) 09:29:52.26ID:AjUIRLk9M ポーカーフェイスですよ
896デフォルトの名無しさん (ワッチョイ fb5f-R8lj)
2021/03/10(水) 10:14:53.26ID:B52MA1yl0 >>894
古いから
古いから
897デフォルトの名無しさん (アウアウウー Sa0f-W2tv)
2021/03/10(水) 14:59:19.94ID:hxdj8Ixba screenupdapingを非表示にした状態でcalculationを自動にしたら、ちゃんと計算やってくれますか?
898デフォルトの名無しさん (ワッチョイ 9f4f-809O)
2021/03/10(水) 15:30:04.25ID:PHH+vFRc0 >>897
自分でやってみりゃいいじゃん
自分でやってみりゃいいじゃん
899デフォルトの名無しさん (アウアウウー Sa0f-W2tv)
2021/03/10(水) 15:39:38.02ID:hxdj8Ixba >>898
updatingが表示になったときに計算されるのか、非表示中に計算されてるのかがわからないのです。
updatingが表示になったときに計算されるのか、非表示中に計算されてるのかがわからないのです。
900デフォルトの名無しさん (ワッチョイ dfee-kkZq)
2021/03/10(水) 15:43:34.11ID:TvaGnuXK0 ExcelからVBAが完全になくなるより先にMSが先になくなりそうじゃない?
901デフォルトの名無しさん (ワッチョイ 9fbd-GXTs)
2021/03/10(水) 15:57:24.48ID:kPBSipVT0 MSがなくなるより先にお前がなくなるんじゃない
902デフォルトの名無しさん (スププ Sdbf-1//s)
2021/03/10(水) 17:04:34.10ID:ij0IDF+ed その前にIT途上企業のウチの会社がなくなるな
903デフォルトの名無しさん (ワッチョイ 9f4f-809O)
2021/03/10(水) 17:25:36.32ID:PHH+vFRc0 >>899
対象セルのvalue値を処理中に
debug.printで書き出すなり
どこかのセルに突っ込むなり
トレースして確認するなりすればいいじゃん
まず聞く前にググる癖をつけないと
いつまで経っても誰かに聞かないと
何も出来なくなるよ
対象セルのvalue値を処理中に
debug.printで書き出すなり
どこかのセルに突っ込むなり
トレースして確認するなりすればいいじゃん
まず聞く前にググる癖をつけないと
いつまで経っても誰かに聞かないと
何も出来なくなるよ
904デフォルトの名無しさん (アウアウウー Sa0f-W2tv)
2021/03/10(水) 17:37:30.93ID:hxdj8Ixba >>903
わかりました。てか式の値見ればすぐわかりますね。やってみます
わかりました。てか式の値見ればすぐわかりますね。やってみます
905デフォルトの名無しさん (ワッチョイ dfbd-Ev6s)
2021/03/10(水) 18:13:57.59ID:osSCK/tE0 今日水曜日なのにweekdayName(weekday(Date))で木曜日と出るのは仕様?
Dateは2021/03/10
weekday(Date)は4
と出ることは確認済み
weekdayとweekdayNameで週始めを日曜とするか月曜とするかで差が出てるんだろうからweekdaynameをvbSundayにすることで解決はするけど、何かが原因でここに違いが出てるなら修正したいので仕様かどうか知りたい
Dateは2021/03/10
weekday(Date)は4
と出ることは確認済み
weekdayとweekdayNameで週始めを日曜とするか月曜とするかで差が出てるんだろうからweekdaynameをvbSundayにすることで解決はするけど、何かが原因でここに違いが出てるなら修正したいので仕様かどうか知りたい
906デフォルトの名無しさん (ワッチョイ 3b7c-Ff7g)
2021/03/10(水) 19:31:18.15ID:WhcyA+8r0 仕様ではない
907デフォルトの名無しさん (ワッチョイ 1b49-8r7t)
2021/03/10(水) 19:41:43.99ID:iMortp6N0 Weekdayの規定値がvbSundayで、WeekdayNameの規定値がvbUseSystemDayOfWeek。
どっちかに合わせた方がいいと思う。
どっちかに合わせた方がいいと思う。
908デフォルトの名無しさん (アウアウウー Sa0f-hRrZ)
2021/03/10(水) 20:15:11.47ID:FQxPGFWfa909デフォルトの名無しさん (ワッチョイ dfbd-Ev6s)
2021/03/11(木) 16:08:09.65ID:2F7MZ2cN0910デフォルトの名無しさん (ワッチョイ 3d35-MW8F)
2021/03/12(金) 14:18:56.93ID:cUuyzc0G0 VBA学ぶのにお勧めの本ありますか?
911デフォルトの名無しさん (ワッチョイ 7d5f-6Qoe)
2021/03/12(金) 14:22:39.95ID:b9Kr93A50 >>910
MOSの本
MOSの本
912デフォルトの名無しさん (ワッチョイ 7d5f-6Qoe)
2021/03/12(金) 14:25:27.81ID:b9Kr93A50 正確にはVBAエキスパートか。
見過されがちだけど、試験対策本は非常によくまとまっている。
見過されがちだけど、試験対策本は非常によくまとまっている。
913デフォルトの名無しさん (ドコグロ MM4a-GUUA)
2021/03/12(金) 17:44:33.68ID:UcsTGFzQM 買う前に周辺の図書館を回れば、vba本が見つかるかもしれない
914デフォルトの名無しさん (アウアウクー MM51-6Qoe)
2021/03/12(金) 19:23:46.81ID:7Crflr6rM 金額の話なのか?
915デフォルトの名無しさん (ブーイモ MM8d-S3x1)
2021/03/12(金) 19:31:10.39ID:f8Q6HjqoM 650頁を超える「Excel VBA逆引き辞典パーフェクト」を最初から通して読む
916デフォルトの名無しさん (ワッチョイ a1da-ZQaI)
2021/03/12(金) 23:07:31.55ID:NBdc6r9a0 VBの、何かあの電話帳より分厚いの有るじゃん
叩かれると85ポイントくらいダメージを受けそうな感じのアレ
マジレスすると、あれで勉強したわ
叩かれると85ポイントくらいダメージを受けそうな感じのアレ
マジレスすると、あれで勉強したわ
917デフォルトの名無しさん (ワッチョイ 095f-3V6U)
2021/03/12(金) 23:38:50.44ID:sGQx1lBf0 >>894
XLookupを使いなさい
XLookupを使いなさい
918デフォルトの名無しさん (ワッチョイ 2eda-IMun)
2021/03/13(土) 02:37:38.41ID:5xXr3I9d0 まじレスすると他人のおすすめの本は買っただけで満足して読まない可能性が高い
919デフォルトの名無しさん (ワッチョイ b901-/dly)
2021/03/13(土) 07:57:23.36ID:slDJWJ280 >>910
出来るだけ薄い奴がいいよ
少なくとも一週間で読み切れそうな奴
細かい部分は結局ググる事になるから手っ取り早く基礎だけ学べるのがいい
プログラミングの勉強は書き方を学ぶというより、
「ググる方法、ググって出てきた内容を理解できる最低限の知識」を身に着ける方に重きを置いた方がいい
出来るだけ薄い奴がいいよ
少なくとも一週間で読み切れそうな奴
細かい部分は結局ググる事になるから手っ取り早く基礎だけ学べるのがいい
プログラミングの勉強は書き方を学ぶというより、
「ググる方法、ググって出てきた内容を理解できる最低限の知識」を身に着ける方に重きを置いた方がいい
920デフォルトの名無しさん (ワッチョイ 824f-pJvK)
2021/03/13(土) 08:14:07.47ID:csBuBYNL0921デフォルトの名無しさん (ワッチョイ 7d5f-6Qoe)
2021/03/13(土) 08:17:01.13ID:tBGlpruK0 メルカリなどでたくさん買って、好きなのを使えばいいよ。
922デフォルトの名無しさん (ワッチョイ d2ee-YyH6)
2021/03/13(土) 11:51:20.74ID:9LAtgmD40 >>910
VBAの神様
VBAの神様
923デフォルトの名無しさん (ワイーワ2 FFca-6Qoe)
2021/03/13(土) 14:55:26.89ID:4/YYKqK7F Excel VBAは自己流が多いと思うけど、体系的に学習するならマイクロソフトのVBAエキスパート本だろうな。
924デフォルトの名無しさん (ワッチョイ 6163-drwQ)
2021/03/13(土) 21:38:13.19ID:99ipLDsT0 小手先のテクニックより
複雑怪奇なExcelの挙動の中身がどうなってんのか
詳細に説明してほしいわ
謎挙動がおおすぎる
複雑怪奇なExcelの挙動の中身がどうなってんのか
詳細に説明してほしいわ
謎挙動がおおすぎる
925デフォルトの名無しさん (ワッチョイ 7d5f-48g3)
2021/03/13(土) 21:57:08.91ID:7fDCnZwF0 具体的には?
926デフォルトの名無しさん (ワッチョイ 7d5f-6Qoe)
2021/03/13(土) 22:05:26.89ID:tBGlpruK0 >>924
あまり使われていないVBAの機能を使うとすぐにバグにはまる。
あまり使われていないVBAの機能を使うとすぐにバグにはまる。
927デフォルトの名無しさん (ワッチョイ 7d5f-6Qoe)
2021/03/13(土) 22:07:49.91ID:tBGlpruK0 ActiveXのボタンが消えるバグなどは放置状態
928デフォルトの名無しさん (ワッチョイ fedf-scxf)
2021/03/14(日) 01:08:53.96ID:EQ7/9AB00 vbの構文がダサすぎるのが嫌
綺麗に書いても汚らしく見える Dim asとかキモいんだよ
綺麗に書いても汚らしく見える Dim asとかキモいんだよ
929デフォルトの名無しさん (ワッチョイ 2eda-IMun)
2021/03/14(日) 02:39:44.98ID:QAEhurjz0 VBAのコードのフォントを HGP行書体 (日本語) とかにしてみたら?
930デフォルトの名無しさん (ワッチョイ 0605-0ZVL)
2021/03/14(日) 03:51:24.74ID:+mKOZ3nE0 ACCESSのレポートではかけたのですが
VBAで規定の先よりも細い線を書くことはできませんか?
VBAで規定の先よりも細い線を書くことはできませんか?
931デフォルトの名無しさん (ワッチョイ b901-/dly)
2021/03/15(月) 06:39:33.91ID:6QvkQitw0 コントロールのボタンが押す度徐々に小さくなったり消えたり動き回ったり
配列返す関数をUboundに渡すとメモリリークしたり、
フォームをモーダル表示中にシートをアクティブにすると何故かシートを操作できたり、
インターフェースを実装するクラス自体をインターフェースに出来てしまう上に、それをするとバグったり、
いくらでも上げられるだろ
特にフィルタ関連は変なのが多い
specialcells(xlcelltypevisible)とかcopyメソッドとか
配列返す関数をUboundに渡すとメモリリークしたり、
フォームをモーダル表示中にシートをアクティブにすると何故かシートを操作できたり、
インターフェースを実装するクラス自体をインターフェースに出来てしまう上に、それをするとバグったり、
いくらでも上げられるだろ
特にフィルタ関連は変なのが多い
specialcells(xlcelltypevisible)とかcopyメソッドとか
932デフォルトの名無しさん (ワッチョイ a1da-xjD7)
2021/03/16(火) 14:07:15.77ID:yEkj4Jws0 作成依頼なんですがお願いできますでしょうか
A列に数字(No.)
B列に文字列(名前)の3000行ほどの表があります。
A列の数字は重複している箇所があり、
A列が他の行と重複している場合B列の文字を全て繋げてC列に書き出したいのですが可能でしょうか。
サンプル
A列 B列 C列
11111 A子 A子
11112 B子 B子
11113 C子 C子・D子・E子
11113 D子 C子・D子・E子
11113 E子 C子・D子・E子
11114 F子 F子
11114 F子 F子
11115 E子 E子
ただし、サンプルのように
A列が重複してもB列の文字列が同じだった場合は『F子・F子』とならずに『F子』のままで、
重複しないA子、B子もそのままにしたいのです。
Aが列の数字は最大で20ほど重複している場合があります。
ずっと手作業でやってて挫けそうなんでお願いします!!
A列に数字(No.)
B列に文字列(名前)の3000行ほどの表があります。
A列の数字は重複している箇所があり、
A列が他の行と重複している場合B列の文字を全て繋げてC列に書き出したいのですが可能でしょうか。
サンプル
A列 B列 C列
11111 A子 A子
11112 B子 B子
11113 C子 C子・D子・E子
11113 D子 C子・D子・E子
11113 E子 C子・D子・E子
11114 F子 F子
11114 F子 F子
11115 E子 E子
ただし、サンプルのように
A列が重複してもB列の文字列が同じだった場合は『F子・F子』とならずに『F子』のままで、
重複しないA子、B子もそのままにしたいのです。
Aが列の数字は最大で20ほど重複している場合があります。
ずっと手作業でやってて挫けそうなんでお願いします!!
933デフォルトの名無しさん (JP 0H8d-IMun)
2021/03/16(火) 14:24:36.41ID:gGJzxP62H >>932
Sub Macro1()
rr = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To rr
n = Cells(i, 1)
s = Cells(i, 2)
t = s & "・"
For j = 1 To i - 1
If Cells(j, 1) = n Then
w = Cells(j, 2)
If InStr(t, w) = 0 Then
t = t & w & "・"
End If
End If
Next
t = t & s & "・"
For j = i + 1 To rr
If Cells(j, 1) = n Then
w = Cells(j, 2)
If InStr(t, w) = 0 Then
t = t & w & "・"
End If
End If
Next
t = Left(t, Len(t) - 1)
t = Right(t, Len(t) - 1 - Len(s))
Cells(i, 3) = t
Next
End Sub
Sub Macro1()
rr = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To rr
n = Cells(i, 1)
s = Cells(i, 2)
t = s & "・"
For j = 1 To i - 1
If Cells(j, 1) = n Then
w = Cells(j, 2)
If InStr(t, w) = 0 Then
t = t & w & "・"
End If
End If
Next
t = t & s & "・"
For j = i + 1 To rr
If Cells(j, 1) = n Then
w = Cells(j, 2)
If InStr(t, w) = 0 Then
t = t & w & "・"
End If
End If
Next
t = Left(t, Len(t) - 1)
t = Right(t, Len(t) - 1 - Len(s))
Cells(i, 3) = t
Next
End Sub
934デフォルトの名無しさん (ワッチョイ a1da-xjD7)
2021/03/16(火) 15:29:08.70ID:yEkj4Jws0935デフォルトの名無しさん (オイコラミネオ MM96-nALK)
2021/03/16(火) 15:59:46.67ID:cZC9o7Y5M それ、例えば百合さんと百合子さんがいた時にバグらない?
こういうのは辞書に登録してitemsプロパティをjoin関数に渡すのが鉄板だと思う
最近ならvba使わずにfilter関数とunique関数でも同じことできるから、もしかしたらこっちの方が楽かも
こういうのは辞書に登録してitemsプロパティをjoin関数に渡すのが鉄板だと思う
最近ならvba使わずにfilter関数とunique関数でも同じことできるから、もしかしたらこっちの方が楽かも
936デフォルトの名無しさん (オッペケ Sr91-Z1Ji)
2021/03/16(火) 15:59:47.11ID:btbyDUmHr >>933
きったねえソースだなおい
きったねえソースだなおい
937デフォルトの名無しさん (ワッチョイ c602-IMun)
2021/03/16(火) 16:01:05.39ID:YCs8uHit0 お、きれいなソース期待かw
938デフォルトの名無しさん (JP 0H8d-IMun)
2021/03/16(火) 16:15:55.00ID:gGJzxP62H 百合・百合子バグ修正
Sub Macro1()
rr = Cells(Rows.Count, 1).End(xlUp).Row
For r = 1 To rr
n = Cells(r, 1)
s = Cells(r, 2)
t = "・" & s & "・"
For i = 1 To r - 1
If Cells(i, 1) = n Then
w = Cells(i, 2)
If InStr(t, "・" & w & "・") = 0 Then
t = t & w & "・"
End If
End If
Next
t = t & s & "・"
For i = r + 1 To rr
If Cells(i, 1) = n Then
w = Cells(i, 2)
If InStr(t, "・" & w & "・") = 0 Then
t = t & w & "・"
End If
End If
Next
t = Left(t, Len(t) - 1)
t = Right(t, Len(t) - Len(s) - 2)
Cells(r, 3) = t
Next
End Sub
Sub Macro1()
rr = Cells(Rows.Count, 1).End(xlUp).Row
For r = 1 To rr
n = Cells(r, 1)
s = Cells(r, 2)
t = "・" & s & "・"
For i = 1 To r - 1
If Cells(i, 1) = n Then
w = Cells(i, 2)
If InStr(t, "・" & w & "・") = 0 Then
t = t & w & "・"
End If
End If
Next
t = t & s & "・"
For i = r + 1 To rr
If Cells(i, 1) = n Then
w = Cells(i, 2)
If InStr(t, "・" & w & "・") = 0 Then
t = t & w & "・"
End If
End If
Next
t = Left(t, Len(t) - 1)
t = Right(t, Len(t) - Len(s) - 2)
Cells(r, 3) = t
Next
End Sub
939デフォルトの名無しさん (オイコラミネオ MM96-nALK)
2021/03/16(火) 16:53:04.48ID:cZC9o7Y5M 百合さんと百合・D・ルフィさんがいた時にバグる
940デフォルトの名無しさん (JP 0H8d-IMun)
2021/03/16(火) 17:22:11.94ID:gGJzxP62H 百合・D・ルフィバグ修正
Sub Macro2()
Dim d As Object
Set d = CreateObject("Scripting.Dictionary")
rr = Cells(Rows.Count, 1).End(xlUp).Row
For r = 1 To rr
For i = 1 To rr
If Cells(i, 1) = Cells(r, 1) Then
s = Cells(i, 2)
If Not d.exists(s) Then d.Add (s), 0
End If
Next
Cells(r, 3) = Join(d.keys, "・")
d.RemoveAll
Next
End Sub
Sub Macro2()
Dim d As Object
Set d = CreateObject("Scripting.Dictionary")
rr = Cells(Rows.Count, 1).End(xlUp).Row
For r = 1 To rr
For i = 1 To rr
If Cells(i, 1) = Cells(r, 1) Then
s = Cells(i, 2)
If Not d.exists(s) Then d.Add (s), 0
End If
Next
Cells(r, 3) = Join(d.keys, "・")
d.RemoveAll
Next
End Sub
941デフォルトの名無しさん (ワッチョイ 692c-6NWR)
2021/03/16(火) 17:31:00.58ID:tUVUKdZi0 >>932
Ruby で、CSV ファイルでやってみた
require 'csv'
tmp_hash = { }
result_ary = CSV.read( "input.csv" ) # 2次元配列
result_ary.each do | row | # 1行ずつ処理する
if tmp_hash.has_key? row[ 0 ] # 既に、その数字が存在すれば
# 文字列が存在しない時だけ、その文字列を追加する
tmp_hash[ row[ 0 ] ][ row[ 1 ] ] = true unless
tmp_hash[ row[ 0 ] ].has_key? row[ 1 ]
else
tmp_hash[ row[ 0 ] ] = { row[ 1 ] => true }
end
end
# p tmp_hash
# {"11111"=>{"A子"=>true}, "11112"=>{"B子"=>true},
# "11113"=>{"C子"=>true, "D子"=>true, "E子"=>true},
# "11114"=>{"F子"=>true}, "11115"=>{"E子"=>true}}
result_ary.each do | row | # 1行ずつ処理する
# その行の3列目に、キーを結合した文字列を追加する
row.push tmp_hash[ row[ 0 ] ].keys.join( "・" )
end
csv_str = result_ary.map( &:to_csv ).join # 2次元配列を、CSV 文字列に変換する
print csv_str
Ruby で、CSV ファイルでやってみた
require 'csv'
tmp_hash = { }
result_ary = CSV.read( "input.csv" ) # 2次元配列
result_ary.each do | row | # 1行ずつ処理する
if tmp_hash.has_key? row[ 0 ] # 既に、その数字が存在すれば
# 文字列が存在しない時だけ、その文字列を追加する
tmp_hash[ row[ 0 ] ][ row[ 1 ] ] = true unless
tmp_hash[ row[ 0 ] ].has_key? row[ 1 ]
else
tmp_hash[ row[ 0 ] ] = { row[ 1 ] => true }
end
end
# p tmp_hash
# {"11111"=>{"A子"=>true}, "11112"=>{"B子"=>true},
# "11113"=>{"C子"=>true, "D子"=>true, "E子"=>true},
# "11114"=>{"F子"=>true}, "11115"=>{"E子"=>true}}
result_ary.each do | row | # 1行ずつ処理する
# その行の3列目に、キーを結合した文字列を追加する
row.push tmp_hash[ row[ 0 ] ].keys.join( "・" )
end
csv_str = result_ary.map( &:to_csv ).join # 2次元配列を、CSV 文字列に変換する
print csv_str
942デフォルトの名無しさん (ラクッペペ MMe6-uiII)
2021/03/16(火) 17:41:01.13ID:QPeaG/4LM 何故突然にRuby?
943932 (ワッチョイ a1da-xjD7)
2021/03/16(火) 18:32:29.43ID:yEkj4Jws0944デフォルトの名無しさん (ワッチョイ 0242-wkB+)
2021/03/16(火) 19:02:04.81ID:EUyNpk5n0 >>942
rubyスレだと相手にもされないからわざわざ違うスレに来てるかわいそうな人だよ
rubyスレだと相手にもされないからわざわざ違うスレに来てるかわいそうな人だよ
945デフォルトの名無しさん (ワッチョイ 7d5f-6Qoe)
2021/03/16(火) 21:06:28.11ID:8Gn4pDRu0 名前の例が○子とは、そうとうなジイさんだなw
946デフォルトの名無しさん (JP 0H8d-IMun)
2021/03/16(火) 21:12:32.28ID:gGJzxP62H947デフォルトの名無しさん (ワッチョイ 4d7c-9blg)
2021/03/16(火) 21:15:14.58ID:lullOsMB0 そら「百合(ろーず)」よ
948デフォルトの名無しさん (ワッチョイ 7d5f-6Qoe)
2021/03/16(火) 21:28:58.74ID:8Gn4pDRu0 >>946
なんで女なのか?
なんで女なのか?
949デフォルトの名無しさん (JP 0H8d-IMun)
2021/03/16(火) 21:42:16.30ID:gGJzxP62H そんなこと言ったら、なぜ日本人なのか、なぜ人類なのか
950デフォルトの名無しさん (ワッチョイ 7d5f-6Qoe)
2021/03/16(火) 21:51:49.14ID:8Gn4pDRu0 太郎、次郎、三郎、四郎、五郎でいいだろ。
951デフォルトの名無しさん (ワッチョイ c602-IMun)
2021/03/16(火) 21:55:45.14ID:YCs8uHit0 なんで男なのか?
952デフォルトの名無しさん (JP 0H8d-IMun)
2021/03/16(火) 22:05:23.00ID:gGJzxP62H 3000行もあるのに、それじゃ考えるのが大変だ
953デフォルトの名無しさん (ワッチョイ ee10-H4mC)
2021/03/16(火) 23:39:47.76ID:FDp5iKWO0 手作業でAからFカップを調べる作業にVBA使うとか
お前ら男として終わってるわマジで
お前ら男として終わってるわマジで
954デフォルトの名無しさん (ワッチョイ 85a7-Uq3u)
2021/03/17(水) 00:14:55.79ID:8Ujh9QFC0 ろーずって薔薇じゃないの?
955デフォルトの名無しさん (ワッチョイ 4d7c-9blg)
2021/03/17(水) 00:20:54.29ID:lKwA7qQn0 そうだよ
956デフォルトの名無しさん (JP 0H8d-IMun)
2021/03/17(水) 00:54:57.81ID:KXbC8pO1H わざと間違えるっていう2chから続く伝統芸
https://i.imgur.com/h4Fip2L.jpg
https://i.imgur.com/h4Fip2L.jpg
957デフォルトの名無しさん (ワッチョイ 1291-seln)
2021/03/17(水) 02:44:52.10ID:LQZUutD10958デフォルトの名無しさん (JP 0H8d-IMun)
2021/03/17(水) 03:45:50.60ID:KXbC8pO1H >>957 なおした
Option Explicit
Sub VBA69_932()
Dim A_number As Long, B_name As String, C_list As Object
Dim last_row As Long, row_loop As Long, search_loop As Long
Set C_list = CreateObject("Scripting.Dictionary")
With ThisWorkbook.ActiveSheet
last_row = .Range("A" & Rows.Count).End(xlUp).Row
For row_loop = 1 To last_row
C_list.RemoveAll
A_number = .Range("A" & row_loop)
For search_loop = 1 To last_row
If .Range("A" & search_loop) = A_number Then
B_name = .Range("B" & search_loop)
If Not C_list.exists(B_name) Then
C_list.Add (B_name), 0
End If
End If
Next
.Range("C" & row_loop) = Join(C_list.keys, "・")
Next
End With
End Sub
Option Explicit
Sub VBA69_932()
Dim A_number As Long, B_name As String, C_list As Object
Dim last_row As Long, row_loop As Long, search_loop As Long
Set C_list = CreateObject("Scripting.Dictionary")
With ThisWorkbook.ActiveSheet
last_row = .Range("A" & Rows.Count).End(xlUp).Row
For row_loop = 1 To last_row
C_list.RemoveAll
A_number = .Range("A" & row_loop)
For search_loop = 1 To last_row
If .Range("A" & search_loop) = A_number Then
B_name = .Range("B" & search_loop)
If Not C_list.exists(B_name) Then
C_list.Add (B_name), 0
End If
End If
Next
.Range("C" & row_loop) = Join(C_list.keys, "・")
Next
End With
End Sub
959デフォルトの名無しさん (ワッチョイ 2e8f-IMun)
2021/03/17(水) 10:07:11.87ID:wJCP0FMq0960デフォルトの名無しさん (ワッチョイ 02bd-I38D)
2021/03/17(水) 10:20:01.36ID:QeKL1gNm0 配列でやれ
961デフォルトの名無しさん (ワッチョイ 0242-wkB+)
2021/03/17(水) 10:38:31.95ID:CnU6DmD/0 はい
962デフォルトの名無しさん (オッペケ Sr91-Z1Ji)
2021/03/17(水) 10:48:27.37ID:AkcuhhXSr れつ
963デフォルトの名無しさん (ワッチョイ c602-IMun)
2021/03/17(水) 10:49:53.05ID:rwSgtXuJ0 ゴー
964デフォルトの名無しさん (JP 0H8d-IMun)
2021/03/17(水) 10:52:25.95ID:KXbC8pO1H >>960 なおした
Option Explicit
Sub VBA69_932_a()
Dim This As Worksheet
Dim table() As Variant
Dim A_number As Long, B_name As String, C_list As Object
Dim last_row As Long, row_loop As Long, search_loop As Long
Set C_list = CreateObject("Scripting.Dictionary")
Set This = ThisWorkbook.ActiveSheet
last_row = This.Range("A" & Rows.Count).End(xlUp).Row
ReDim table(last_row - 1, 2)
table = This.Range("A1:C" & last_row)
For row_loop = 1 To last_row
A_number = table(row_loop, 1)
C_list.RemoveAll
For search_loop = 1 To last_row
If table(search_loop, 1) = A_number Then
B_name = table(search_loop, 2)
If Not C_list.exists(B_name) Then
C_list.Add (B_name), 0
End If
End If
Next
table(row_loop, 3) = Join(C_list.keys, "・")
Next
This.Range("A1:C" & last_row) = table
End Sub
Option Explicit
Sub VBA69_932_a()
Dim This As Worksheet
Dim table() As Variant
Dim A_number As Long, B_name As String, C_list As Object
Dim last_row As Long, row_loop As Long, search_loop As Long
Set C_list = CreateObject("Scripting.Dictionary")
Set This = ThisWorkbook.ActiveSheet
last_row = This.Range("A" & Rows.Count).End(xlUp).Row
ReDim table(last_row - 1, 2)
table = This.Range("A1:C" & last_row)
For row_loop = 1 To last_row
A_number = table(row_loop, 1)
C_list.RemoveAll
For search_loop = 1 To last_row
If table(search_loop, 1) = A_number Then
B_name = table(search_loop, 2)
If Not C_list.exists(B_name) Then
C_list.Add (B_name), 0
End If
End If
Next
table(row_loop, 3) = Join(C_list.keys, "・")
Next
This.Range("A1:C" & last_row) = table
End Sub
965デフォルトの名無しさん (オッペケ Sr91-Z1Ji)
2021/03/17(水) 10:59:16.82ID:AkcuhhXSr 変数にABCなんてのを使ってる時点でセンスゼロ
後で見て全くわからないバグの温床にしかならない
後で見て全くわからないバグの温床にしかならない
966デフォルトの名無しさん (ワッチョイ 02bd-I38D)
2021/03/17(水) 11:12:33.58ID:QeKL1gNm0 LBound UBound使えよ
967デフォルトの名無しさん (JP 0H8d-IMun)
2021/03/17(水) 11:56:37.23ID:KXbC8pO1H968デフォルトの名無しさん (ワッチョイ 7d5f-6Qoe)
2021/03/17(水) 12:13:35.08ID:YH/YYkmR0 クソコード
969デフォルトの名無しさん (アウウィフ FFc5-rRe5)
2021/03/17(水) 12:27:17.82ID:rAxKrtcHF うんコード
970デフォルトの名無しさん (ワッチョイ 129f-VCbo)
2021/03/17(水) 13:20:25.46ID:4HdAS7ns0971デフォルトの名無しさん (ワッチョイ c602-IMun)
2021/03/17(水) 14:37:09.94ID:rwSgtXuJ0 口だけで何もしない(できない)奴はスルーでいいよ
972デフォルトの名無しさん (ワッチョイ 824f-pJvK)
2021/03/17(水) 15:25:09.30ID:vF0LuwhE0 >>964
うーん
頭ごなしに糞というつもりはないけど
そうだね、もし改善点を挙げるとすれば・・・
まぁ聞き流して良いけどね。
・変数名は一貫性を持たせて、一見して何を意味しているのか分かるようにすること。
例えば頭の1文字が大文字だったり小文字しているのをキャメル形式に統一するとか。
・ActiveSheetは極力使わない。
キチンとした意味を持っているならそれでいいけど、フォームやツールバーから呼ばれることやそのように改修される可能性も考慮してどのシートを使うか明示的に指定する方が良い。
もちろんその際はシート名が変更されてしまうことを考慮して
シート名ではなくシートオブジェクト名を使用する。
・単一責任原則を踏襲する。
一つの関数またはメソッドに、一つの役割のみ持たせて一つの関数またはメソッドが増長になることを防ぐ。
とは言ってもこれは何を一つの役割とするかを決めるセンスが必要で、
これを上手く作れれば「糞」からひとつ脱却出来る。
後は趣味の問題だけど
・Withを使わないことに慣れる。
VBA → VB.Net → C#に移行したとき、Withが無いから慣れておくとちょっと楽。
・CreateObjectは使い所を考える。
CreateObjectはバージョンを考慮せずに済んだりする反面、
メソッドやプロパティのインテリセンスが効かなくなるため、タイプミスをし易くなるという欠点がある。
参照で繋ぐか、CreateObjectで作成するかは
一考した方が良い。
尚、本来Variant型は何でも入ってしまう危険な型なので
使わない方がいいと言いたいところだけど
EXCELのRangeオブジェクトとあまりに相性が良いから使うなとは言えない。
うーん
頭ごなしに糞というつもりはないけど
そうだね、もし改善点を挙げるとすれば・・・
まぁ聞き流して良いけどね。
・変数名は一貫性を持たせて、一見して何を意味しているのか分かるようにすること。
例えば頭の1文字が大文字だったり小文字しているのをキャメル形式に統一するとか。
・ActiveSheetは極力使わない。
キチンとした意味を持っているならそれでいいけど、フォームやツールバーから呼ばれることやそのように改修される可能性も考慮してどのシートを使うか明示的に指定する方が良い。
もちろんその際はシート名が変更されてしまうことを考慮して
シート名ではなくシートオブジェクト名を使用する。
・単一責任原則を踏襲する。
一つの関数またはメソッドに、一つの役割のみ持たせて一つの関数またはメソッドが増長になることを防ぐ。
とは言ってもこれは何を一つの役割とするかを決めるセンスが必要で、
これを上手く作れれば「糞」からひとつ脱却出来る。
後は趣味の問題だけど
・Withを使わないことに慣れる。
VBA → VB.Net → C#に移行したとき、Withが無いから慣れておくとちょっと楽。
・CreateObjectは使い所を考える。
CreateObjectはバージョンを考慮せずに済んだりする反面、
メソッドやプロパティのインテリセンスが効かなくなるため、タイプミスをし易くなるという欠点がある。
参照で繋ぐか、CreateObjectで作成するかは
一考した方が良い。
尚、本来Variant型は何でも入ってしまう危険な型なので
使わない方がいいと言いたいところだけど
EXCELのRangeオブジェクトとあまりに相性が良いから使うなとは言えない。
973デフォルトの名無しさん (スフッ Sda2-MBkE)
2021/03/17(水) 16:55:51.25ID:ttYMdvTCd ワロタ
974デフォルトの名無しさん (オイコラミネオ MM96-nALK)
2021/03/17(水) 19:15:40.71ID:2RS2aA5zM メガネをクイってしながら凄い早口で言ってそう
975デフォルトの名無しさん (ワッチョイ 7d5f-ebGN)
2021/03/17(水) 19:24:46.18ID:lGPcjQzL0976デフォルトの名無しさん (ワッチョイ 7d5f-ebGN)
2021/03/17(水) 19:25:19.68ID:lGPcjQzL0 銘柄w
シート名ね
シート名ね
977デフォルトの名無しさん (ワッチョイ 824f-pJvK)
2021/03/17(水) 19:38:30.30ID:vF0LuwhE0 >>964
ついでにもう一つ言っておくと、
ディクショナリやコレクションの要素数は1バイトで扱える数、つまり1から数えて256まで。
着眼点は良かったけど、3000行を考慮すると
オーバーフローで落ちる可能性があるよ。
ついでにもう一つ言っておくと、
ディクショナリやコレクションの要素数は1バイトで扱える数、つまり1から数えて256まで。
着眼点は良かったけど、3000行を考慮すると
オーバーフローで落ちる可能性があるよ。
978デフォルトの名無しさん (ワッチョイ 4d7c-9blg)
2021/03/17(水) 19:56:32.92ID:lKwA7qQn0979デフォルトの名無しさん (ワッチョイ 7d5f-48g3)
2021/03/17(水) 19:57:39.75ID:lGPcjQzL0 ディクショナリは重複確認用で3000データをまるまる格納する訳じゃないだろ
980デフォルトの名無しさん (ワッチョイ 85e5-IMun)
2021/03/17(水) 20:01:06.73ID:cHLiD5SO0981デフォルトの名無しさん (ワッチョイ 4d7c-9blg)
2021/03/17(水) 20:20:25.27ID:lKwA7qQn0 >>977
嘘を言うな
嘘を言うな
982デフォルトの名無しさん (ワッチョイ c2e6-0etX)
2021/03/17(水) 21:15:41.95ID:X8ZT7dpP0 256ページの辞書なんて存在するの?
983デフォルトの名無しさん (ワッチョイ ee10-H4mC)
2021/03/17(水) 21:56:14.59ID:2ghuU9if0 ウィンドウ上の制限
984デフォルトの名無しさん (ワッチョイ 7d5f-smt8)
2021/03/17(水) 23:33:51.91ID:YH/YYkmR0 経験からくる誤った思い込みだろうね。
1バイト単位の区切りというのは、8ビットパソコン時代からExcelが存在していれば、可能性としてあるが、16ビットパソコンから作っているのに1バイトという制限はありえない。
1バイト単位の区切りというのは、8ビットパソコン時代からExcelが存在していれば、可能性としてあるが、16ビットパソコンから作っているのに1バイトという制限はありえない。
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 空自機レーダー照射、音声データ公開 中国 [蚤の市★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★3 [ぐれ★]
- 【サッカー】上田綺世の活躍は「一過性」 15戦18発も…オランダ英雄は懐疑的な姿勢「確信に至っていない」 [ゴアマガラ★]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ [597533159]
- 【インド】中国に不満…これって世界大戦の前兆?高市はカレー好きなのかな?カツラなの [993451824]
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ180
- 中国の日本向けレアアースの輸出止まる、高市のせいで日本終了のお知らせ [931948549]
- 韓国政府、高市早苗の「竹島領土」発言にブチギレwwwwwwwwwwwwwwww [834922174]
- 高市早苗、定数削減法案廃案なら衆議院解散へ 郵政解散2ndキタ━━━━(゚∀゚)━━━━!! [175344491]
