Excel VBA 質問スレ Part79

■ このスレッドは過去ログ倉庫に格納されています
2023/01/28(土) 11:46:47.21ID:mBQ16TA8
↑同じ内容を3行貼り付けること

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

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
Excel VBA 質問スレ Part77
https://mevius.5ch.net/test/read.cgi/tech/1658009255/
Excel VBA 質問スレ Part78
https://mevius.5ch.net/test/read.cgi/tech/1667104996/

-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2023/04/26(水) 14:39:17.86ID:FZ0Navbz
>>598
それは分かるんですが上手くいかず。説明下手ですみません。
結局1行ずつ条件付き書式設定を行うようにコード書きました。
2023/04/26(水) 18:26:19.83ID:QhJ3494d
chatgptのvba専用スレ立てれば良くね?
601デフォルトの名無しさん
垢版 |
2023/04/27(木) 05:48:02.31ID:+yZZBsrI
ChatGPT ってそんなに凄いんか
今度「EXCEL VBAでマリオ作ってください」って書いてみようかな
出来なければ無能
2023/04/27(木) 06:49:22.19ID:76bSpVKu
頭悪そう
603デフォルトの名無しさん
垢版 |
2023/04/27(木) 13:34:04.47ID:dzjZcYac
>>601
Excel VBAでマリオを作ることは可能ですが、かなり複雑な作業になります。そのため、以下に示すのは、簡単なマリオゲームの作り方の一例です。

ゲーム画面を作成する
最初に、Excelワークシート上にゲーム画面を作成します。これには、背景、床、壁などが含まれます。背景と床は、Excelのシェイプを使用して作成することができます。壁は、VBAで作成する必要があります。

マリオキャラクターを作成する
マリオキャラクターを作成するために、Excelのシェイプを使用します。キャラクターは、右に進む、左に進む、ジャンプする、しゃがむなどのアクションを実行できるようにする必要があります。これには、キーボードの矢印キーを使用することができます。
604デフォルトの名無しさん
垢版 |
2023/04/27(木) 13:35:04.43ID:dzjZcYac
敵キャラクターを作成する
マリオゲームには、いくつかの敵キャラクターが含まれます。これらは、Excelのシェイプを使用して作成することができます。敵キャラクターは、マリオキャラクターに衝突すると、マリオがライフを失うことになります。

ゲームループを作成する
ゲームループは、ゲームの進行を管理するために必要なものです。これには、マリオキャラクターと敵キャラクターの移動、衝突の検出、スコアの計算などが含まれます。

ゲームオーバー画面を作成する
ゲームオーバー画面は、マリオがすべてのライフを失ったときに表示されます。これには、Excelのシェイプを使用して作成することができます。

以上が、Excel VBAで簡単なマリオゲームを作成するための一般的な手順です。ただし、Excel VBAで本格的なゲームを作成するためには、より高度なプログラミング技術が必要となります。
2023/04/27(木) 14:08:46.28ID:XSILjXL+
この部分のサンプルコードを教えて言うと一応コード書き始めるからな
問い質し続けるだけで何の技術も必要なくマリオが完成するかもしれん
2023/04/27(木) 14:11:45.77ID:zVEPCm55
単純にマクロでゲーム作れる奴すげーし
607デフォルトの名無しさん
垢版 |
2023/04/27(木) 15:59:16.33ID:tbrdsB1h
作れるわけねーわな、あと著作権もあるし
2023/04/27(木) 16:50:28.16ID:XSILjXL+
AIに人権はないから著作権も存在しない
マリオといっても花札屋のとは限らんしな
2023/04/27(木) 17:13:01.50ID:Ocl0clWf
作る人が多くなるとマリオのようなゲームのコードのテンプレのようなものがデータセットの中にできてきて
即答するようになるw
610デフォルトの名無しさん
垢版 |
2023/04/27(木) 18:09:30.67ID:DM4R6GlX
>>608
著作権無視は違法ですが
2023/04/27(木) 18:22:26.88ID:lojChHXv
>>610
AIという道具を使った奴が違法な
2023/04/28(金) 12:20:31.67ID:BvI4vGh+
罫線を引くコードはマクロの記録をしたものを加工するのが最善?
2023/04/28(金) 12:28:24.02ID:vB455QFk
いいえ
2023/04/28(金) 12:42:10.09ID:FbKok5Di
マクロ記録をそのまま使うなんて90年代のやり方
2023/04/28(金) 12:49:48.27ID:vB455QFk
そのままとはどこにも書いてない
2023/04/28(金) 13:08:25.63ID:E6P3bOF0
お前は他人の否定ばかりだな?
2023/04/28(金) 13:16:17.73ID:/vDIlpFT
Private Sub Bttn_click()
Dim cT, cL, cW, cH, CR, CG, CB As Single
Dim cAd As String
Dim X0, Y0, W1, H1 As Variant
Dim shp As Object

cAd = Selection.Address(ColumnAbsolute:=False, RowAbsolute:=False)

If Selection(1).Row < 4 Or Selection(1).Column < 4 Then
MsgBox "描画の範囲外が選択されています" & vbCrLf, vbExclamation, "! 範囲外 !"
Exit Sub
End If
If Selection(Selection.Count).Row > 43 Or Selection(Selection.Count).Column > 65 Then
MsgBox "描画の範囲外が選択されています" & vbCrLf, vbExclamation, "! 範囲外 !"
Exit Sub
End If

If Selection.Rows.Count > 1 Then
MsgBox "複数行が選択されています" & vbCrLf, vbExclamation, "! 選択チェック !"
Exit Sub
End If

If Selection.Columns.Count > 2 Then
MsgBox "3列以上が選択されています" & vbCrLf, vbExclamation, "! 選択チェック !"
Exit Sub
End If
--------------- 続きあり
2023/04/28(金) 13:18:29.67ID:/vDIlpFT
If (Selection(1).Row Mod 2) = 0 Then
CR = 255
CG = 0
CB = 0
Else
CR = 0
CG = 0
CB = 255
End If

With ActiveSheet.Range(cAd)
cT = .Top
cL = .Left
cW = .Width
cH = .Height
End With

If Selection.Columns.Count = 1 Then
X0 = cL + (cW / 2) - 1
Y0 = cT + 2
W1 = cW / 8
H1 = cH - 4
Else
X0 = cL + (cW / 2 - 1)
Y0 = cT + 2
W1 = cW / 16
H1 = cH - 4
End If
----------------- 続きあり
2023/04/28(金) 13:29:30.38ID:/vDIlpFT
Set shp = ActiveSheet.Shapes.AddShape(msoShapeIsoscelesTriangle, X0, Y0, W1, H1)

shp.Line.Weight = 0.1
shp.Line.ForeColor.RGB = RGB(CR, CG, CB)
shp.Fill.Visible = True
shp.Fill.ForeColor.RGB = RGB(CR, CG, CB)
Range(cAd).Select
End Sub

セルD4:BM43までの範囲内に限定
一項目二行を使って上段が予定下段が実行などで判断できるように上下で線の色分け
斜線は引けない
図形のパターンは4種 直線・矢印線・縦棒・細い▲ 
2023/04/28(金) 13:31:15.83ID:/vDIlpFT
Private Sub Bttn2_Click()
Dim rr As Range
If TypeName(Selection) <> "Range" Then Exit Sub
Set rr = Selection
If rr.Row Mod 2 = 0 Then

rr.Parent.Shapes.AddLine(rr.Left + 2, rr.Top + 4, rr.Left + rr.Width - 1, rr.Top + 4).Select
With Selection.ShapeRange.Line
.EndArrowheadStyle = msoArrowheadTriangle
.EndArrowheadLength = msoArrowheadLengthMedium
.EndArrowheadWidth = msoArrowheadWidthMedium
.Weight = 2
.ForeColor.RGB = RGB(255, 0, 0)
End With

Else
rr.Parent.Shapes.AddLine(rr.Left + 2, rr.Top + 4, rr.Left + rr.Width - 1, rr.Top + 4).Select
With Selection.ShapeRange.Line
.EndArrowheadStyle = msoArrowheadTriangle
.EndArrowheadLength = msoArrowheadLengthMedium
.EndArrowheadWidth = msoArrowheadWidthMedium
.Weight = 2
.ForeColor.RGB = RGB(0, 0, 255)
End With
End If
rr.Select
End Sub
2023/04/28(金) 13:32:22.25ID:/vDIlpFT
Private Sub Bttn3_Click()
Dim rr As Range
If TypeName(Selection) <> "Range" Then Exit Sub
Set rr = Selection
If rr.Row Mod 2 = 0 Then

rr.Parent.Shapes.AddLine(rr.Left + 2, rr.Top + 4, rr.Left + rr.Width - 1, rr.Top + 4).Select
With Selection.ShapeRange.Line
.Weight = 3
.ForeColor.RGB = RGB(255, 0, 0)
End With

Else
rr.Parent.Shapes.AddLine(rr.Left + 2, rr.Top + 4, rr.Left + rr.Width - 1, rr.Top + 4).Select
With Selection.ShapeRange.Line
.Weight = 3
.ForeColor.RGB = RGB(0, 0, 255)
End With
End If
rr.Select
End Sub
2023/04/28(金) 13:33:33.67ID:/vDIlpFT
Private Sub Bttn4_Click()
Dim rr As Range
If TypeName(Selection) <> "Range" Then Exit Sub
Set rr = Selection
If rr.Row Mod 2 = 0 Then

rr.Parent.Shapes.AddLine(rr.Left + rr.Width - 2, rr.Top + 1, rr.Left + rr.Width - 2, rr.Top + rr.Height - 1).Select
With Selection.ShapeRange.Line
.Weight = 3
.ForeColor.RGB = RGB(255, 0, 0)
End With

Else
rr.Parent.Shapes.AddLine(rr.Left + rr.Width - 2, rr.Top + 1, rr.Left + rr.Width - 2, rr.Top + rr.Height - 1).Select
With Selection.ShapeRange.Line
.Weight = 3
.ForeColor.RGB = RGB(0, 0, 255)
End With
End If
rr.Select
End Sub
2023/04/28(金) 13:39:54.72ID:/vDIlpFT
Bttn 細い▲  スタート位置など(打ち合わせ・協議など)
Bttn2 矢印線  ライン矢印付き
Bttn3 直線  
Bttn4 縦棒  完了など   以下おまけ BDel 選択された範囲内のシェイプを全削除

Private Sub BDel_Click()
Call shpDel(Selection)
End Sub
Sub shpDel(ByVal mR As Range)
Dim mLo As Long, mCh As Boolean

mCh = True
For mLo = 1 To mR.Worksheet.Shapes.Count
With mR.Worksheet.Shapes(mLo)
If Intersect(.TopLeftCell, mR) Is Nothing Then
ElseIf Intersect(.BottomRightCell, mR) Is Nothing Then
Else
.Select Replace:=mCh
mCh = False
End If
End With

Next mLo
If Not mCh Then
Selection.ShapeRange.Delete
End If

mR.Select
Application.ScreenUpdating = True
End Sub
2023/04/28(金) 17:18:16.62ID:/vDIlpFT
補足 :
UserForm 「BttnF」上に、描画用ボタン「Bttn、Bttn2、Bttn3、Bttn4」を貼り
それぞれのコードを割り当て
描いた図形を削除するためのボタン「mDel」も貼る
 セル範囲を選択後、上記いずれかのボタンを押すことで描画したり消したり

描画するSheet上(A1:D4内に配置すればウィンドウ枠の固定をしてもズレずに済む)に
UserFormを出すボタン「cmdBttnF」を貼り Private Sub cmdBttnF_click()のコードを割り当て

他の図形の例 :
' ひし形は msoShapeDiamond
' 四つ星は msoShape4pointStar 五つ星 msoShape5pointStar
' 開始位置に戻るは msoShapeActionButtonBeginning 進む(再生)は msoShapeActionButtonForwardorNext
' 終了位置へ進むは msoShapeActionButtonEnd
' 吹き出しもできる msoShapeBalloon
' 右向き六角形 msoShapeChevron
細い▲や縦棒が嫌な場合はこれら等で
2023/04/28(金) 17:20:52.50ID:/vDIlpFT
「mDel」ぢゃ無かった「BDel」で
626デフォルトの名無しさん
垢版 |
2023/04/28(金) 20:20:31.50ID:xyEtsQeE
皆様お助けください
VBA、INDEX,MATCHで検索先の行の文字数を検索値に合わせたいんだができない…シート関数だったら
INDEX(A:A,MATCH(B3,MID(C:C,1,LEN(B3)),0)でできるのに、マクロでMATCHの部分を
MATCH(ACTIVECELL.MID(RANGE("C:C"),LEN(ACTIVE CELL)),0)に変えると通らない
配列をとある文字数数分だけ検索したいというだけなんですができなくて困っております
よろしく御指南のほどお願い致します
627click
垢版 |
2023/04/28(金) 21:21:39.24ID:EQuQ1pVF
>>626
Sub SearchText()
Dim searchText As String
Dim searchRange As Range
Dim searchResult As Range

' 検索値を取得
searchText = Range("B3").Value

' 検索範囲を指定
Set searchRange = Range("C:C")

' 検索して結果を取得
Set searchResult = searchRange.Find(what:=searchText, LookIn:=xlValues, lookat:=xlPart)

' 検索結果が見つかった場合、対応するA列の値を取得
If Not searchResult Is Nothing Then
MsgBox Range("A" & searchResult.Row).Value
End If
End Sub
628デフォルトの名無しさん
垢版 |
2023/04/28(金) 22:05:44.60ID:xyEtsQeE
>>627
なるほど、INDEX,MATCHに拘らない系ですね
ちょっと試してみます、ありがとうございます
GPTさんにいくら聞いても修正コードが通らなかったので助かりました
629デフォルトの名無しさん
垢版 |
2023/04/28(金) 22:07:31.25ID:q2nR+ZdU
すみません
フォルダの中にあるExcelのファイルを指定のシートのみ残してその他のシートを削除して保存するVBAは組めるでしょうか?
その他にも指定のセルの値をファイル名として保存する方法は可能でしょうか?
2023/04/28(金) 22:16:54.88ID:h0I1nwu1
チャジれカス
631デフォルトの名無しさん
垢版 |
2023/04/28(金) 22:45:44.43ID:BEXA+iPo
>>629
可能かどうかと言われれば可能。
ただ、誰かが開いてたりすることがあるのであれば
その考慮は必要。
632デフォルトの名無しさん
垢版 |
2023/04/28(金) 23:28:17.83ID:xyEtsQeE
>>627
ん?良くみたらこれはmatchの置き換えをしてるだけ?
633デフォルトの名無しさん
垢版 |
2023/04/28(金) 23:33:05.22ID:q2nR+ZdU
>>631
ありがとうございます
2023/04/29(土) 00:11:05.56ID:139vt90Q
いつもの否定君息してる~?
2023/04/29(土) 03:45:20.62ID:+IUP3Yu9
Excel2013でブックやワークシートにコードは貼れますが特定のセルにだけコードを貼って動作させるというような事はできないんでしょうか
コードからセル範囲を指定するというような事しかできない?
2023/04/29(土) 05:48:46.87ID:CXMs2SVp
>>635
どゆことかよくわからんけどイベントプロシージャのことかな?
2023/04/29(土) 06:57:41.72ID:+IUP3Yu9
そうです
ワークシート以下の単位はないから貼れないんですかね多分
2023/04/29(土) 07:07:50.60ID:CXMs2SVp
>>637
いやどゆことかよくわからんけど、例えばchangeイベントなら変更されたセルのrangeを取得できるからそこにコードを仕込むことはできるけど。。。そゆことじゃなくて?
639デフォルトの名無しさん
垢版 |
2023/04/29(土) 16:14:48.16ID:eiNFh+Wm
ファイルのパス、フォルダのパスをDimではなくConstで書く方がより正確性が増す
より確実に動作をする
という事はあるのでしょうか?
2023/04/29(土) 16:25:03.32ID:vp07q8LL
Constで正確性?確実?
エスパーすると関数型風に書きたいってことかな?
VBAでは無理だからそういう考えは捨てた方がいい
2023/04/29(土) 16:25:12.56ID:WvPbxn9Z
ない
642デフォルトの名無しさん
垢版 |
2023/04/29(土) 17:18:17.07ID:eiNFh+Wm
休みの日も一生懸命考えていましたがきっと私にそれを求められていないし、提案や進言をしても却下されるからもういいや
2023/04/29(土) 17:37:46.68ID:vp07q8LL
VBAは制限多すぎるから何か自分なりの考えを実践したいなら別の言語も検討したらいいぞ
2023/04/29(土) 17:57:33.75ID:6pUnwcoa
俺のエスパーだと、うっかり内容を書き換えてしまう事故が防げるって意味で言ってる?
645デフォルトの名無しさん
垢版 |
2023/04/29(土) 18:09:49.02ID:kR657gEs
>>639
馬鹿の考え休むに似たり
646デフォルトの名無しさん
垢版 |
2023/04/29(土) 18:32:46.88ID:eiNFh+Wm
>>645
もういいですどうでも
みたいな感じです投げやりになろうかな
2023/04/29(土) 19:09:19.53ID:vp07q8LL
うーん一生懸命とかいうワードが出てくるって事は若い子なのかな
プログラミングはむしろ楽するための手段だからどうやったら楽できるかの観点で考えようぜ
648デフォルトの名無しさん
垢版 |
2023/04/29(土) 19:35:35.63ID:eiNFh+Wm
>>647
やっぱり一生懸命なのは若い人なのですね
一生懸命頑張ってもどうにもならないですもんね
649デフォルトの名無しさん
垢版 |
2023/04/29(土) 19:43:44.26ID:eiNFh+Wm
私には何も決められないし、何も権限もないから勉強するだけ時間の無駄でした
一生懸命するだけ無駄でしたね
2023/04/29(土) 19:45:58.20ID:vp07q8LL
わかったchatGPTで慰めてもらえ
651デフォルトの名無しさん
垢版 |
2023/04/29(土) 19:58:39.17ID:3f5XVnjz
せっかく便利なマクロ作ってもあまり感謝されないとき悲しくなりませんか?
652click
垢版 |
2023/04/29(土) 20:08:00.17ID:ueoxn1ZD
組み込み屋ならconstはROMに配置されてRAMを圧迫しないとか考えてそう。
653デフォルトの名無しさん
垢版 |
2023/04/29(土) 20:08:33.11ID:eiNFh+Wm
>>651
過去と他人は変えられないそうです
世の中にはITに疎い人たちがまだまだいるのです
2023/04/29(土) 20:30:49.52ID:vp07q8LL
いや>>639が質問にもなってない事に一向に気付いてない辺り一生懸命さが足りてないな
論文の出だしの問題提起として>>639を前置きして、その後に持論が展開されるならは意味が判るのだが、その後のレス支離滅裂だし
論理的思考力を鍛えるべきだね
2023/04/29(土) 21:55:57.78ID:nnQvwkBD
妬み僻みが先にたって、
集合知にならない日本人の悲しさ
656デフォルトの名無しさん
垢版 |
2023/04/29(土) 22:17:57.28ID:NIajcuht
こういう頭の弱い人が作ると大文字限定とかなりそう
2023/04/30(日) 05:15:21.17ID:9FCAizuG
>>651
こういうツールを使いこなせる俺すげーってなっちゃうから
2023/04/30(日) 06:07:32.17ID:SF8fLpoq
>>653

過去は絶対に変えられないが他人は変えられる可能性がある。
実際『過去と他人は変えられない』という話をどこの誰から聞きかじったのかは知らないが、あなたはその言葉を聞いてその考え方に変わったわけだ。
あなたの立ち居振る舞いによってあなたの周りの人たちは変わる可能性がある。
659デフォルトの名無しさん
垢版 |
2023/04/30(日) 08:01:15.57ID:GVkkkwIT
>>651
そこは乗り越えました。親の気持ちになって与える側だと思って使っている人を暖かく見守りましょう
そして、感謝無く文句しか言わない奴にはID取得して動かないように仕込んでおきましょう(UserNameで取れるか試しておきましょう、大概従業員番号か端末番号です)
660デフォルトの名無しさん
垢版 |
2023/04/30(日) 08:07:07.01ID:kGukyGZB
社内汎用なのにコードにパス掛けてる人って何なの?と思うんですよね。別に機密でも無いしいじり壊すヤツなんていやしないし開けておけよと良く思います
こういう人は自分のやったことを抱え込みたい人が多いんですかね?
2023/04/30(日) 08:37:28.66ID:mp9OxrP6
褒められたい
認められたい
尊敬されたい

何か間違ってますか?
662デフォルトの名無しさん
垢版 |
2023/04/30(日) 09:41:48.68ID:n+FRgVAt
>>658
確実にウザがられますから
2023/04/30(日) 11:07:37.09ID:vWJSQfSu
たまたまマクロ使えただけとかいうクソがいてマジでイラつくわ
664デフォルトの名無しさん
垢版 |
2023/04/30(日) 11:38:27.17ID:n+FRgVAt
>>658
それはあなたがまだまだお若いからです

猛勉強をして医学部になり研修医になり医者になった人が、それからも成功したいと思い開業医になり、猛勉強をしながら人のために何をしたらいいのかと考え続けておられましたが、そうした生活の中で得られた結論は「他人を変えられない」でした
665デフォルトの名無しさん
垢版 |
2023/04/30(日) 12:01:39.99ID:n+FRgVAt
Bingのチャット面白いですね
2023/04/30(日) 13:38:29.83ID:pCoVes+C
>>664
医者と関係なくない?
というかなぜ医者の話をしたの?
2023/04/30(日) 14:58:48.37ID:izKLiPLe
'A列の重複文字を削除したいのですが.RemoveDuplicatesで型が一致しないとでます。
どうすればよいでしょうか。お願いします。

Sub RemoveDuplicatesExample()
Dim lastRow As Long
Dim rng As Range
Dim dupCount As Long
Dim cell As Range

' 最終行を取得する
lastRow = Cells(Rows.Count, "A").End(xlUp).Row

' A列の範囲を取得する
Set rng = Range("A6:A" & lastRow)
2023/04/30(日) 14:59:03.71ID:izKLiPLe
' 文字列を含むセルを数字に変換する
For Each cell In rng
If IsNumeric(cell.Value) Then
cell.Value = Val(cell.Value)
End If
Next cell

' 重複を削除する
dupCount = rng.RemoveDuplicates(Columns:=1, Header:=xlNo)

' メッセージを表示する
MsgBox "重複を" & dupCount & "個削除しました"
End Sub
2023/04/30(日) 16:08:17.99ID:nWN6HH2r
RemoveDuplicates はメソッド メソッドとはオブジェクトを操作する命令文
dupCount はCellの数を削除前と後でCount辺りで別途算出
2023/04/30(日) 17:39:59.36ID:xlDTnGib
「ちょうふく 」と読む人と「じゅうふく」と読む人いるね
671デフォルトの名無しさん
垢版 |
2023/04/30(日) 17:43:09.61ID:n+FRgVAt
>>666
一生懸命勉強をして頑張っている人でも人を変えるのは無理だというのが結論なのにあなたにはそれが出来るのですか?
672デフォルトの名無しさん
垢版 |
2023/04/30(日) 17:58:36.35ID:V4pO/PXO
「じゅうふく」と読む人と「ちょうふく」と読む人いるね
2023/04/30(日) 18:10:45.40ID:SF8fLpoq
すでに回答あるけどエラー表示通り、Long型の変数にRangeを入れようとしてるから

検証してないけど
rng.RemoveDuplicates Columns:=1, Header:=xlNo
で動くかな?カウントは処理前後で取得すればいいかと。
2023/04/30(日) 21:51:10.68ID:izKLiPLe
>>669
>>673
出来ました。ありがとうございます。
2023/04/30(日) 23:47:19.54ID:xlDTnGib
>>672
どちらが正解かな?
2023/04/30(日) 23:54:50.78ID:RAvx61h8
ダブり
677デフォルトの名無しさん
垢版 |
2023/05/01(月) 08:25:17.17ID:Bz4H7pRU
>>675
どちらも正解だけど一般的にはちょうふく
2023/05/02(火) 17:39:15.35ID:s64+rcVS
Option Explicit は使った方が良いですか?
Lastrowが多すぎて外していたんですけどやめた方がいいのかわからない。
直すのも面倒
2023/05/02(火) 18:06:55.02ID:rzS4cwhi
>>678
苦行が好きならどうぞ外してくださいな。
680デフォルトの名無しさん
垢版 |
2023/05/02(火) 19:43:32.75ID:5m1nmjju
>>678
そんなことも人に聞かないとわからない人は外さない方がいい
2023/05/02(火) 19:52:52.48ID:+blsYFqi
Option Explicitを使用することをお勧めします。Option Explicitは、VBAプログラム内で使用されるすべての変数を明示的に宣言することを強制するため、タイプミスやスペルミスなどのエラーを防止するのに役立ちます。

また、変数を宣言することによって、コードの読みやすさと保守性を向上させることができます。たとえば、変数のデータ型が分かっている場合、誤ったデータ型によるエラーを防止することができます。

つまり、Option Explicitを使用することは、より正確で安全なコードを作成するために重要です。したがって、可能な限りOption Explicitを使用することをお勧めします。

また、コードの修正が面倒である場合でも、過去のコードを修正することで、将来的に発生する可能性のあるエラーを防止することができます。
682デフォルトの名無しさん
垢版 |
2023/05/02(火) 19:56:11.18ID:DG7CtCYh
フィルターの項目事、あるいはセルの項目ごとにシートにコピーするかファイルに出力する方法はありますか?
2023/05/02(火) 22:53:54.12ID:W01QlVgz
ありまぁす
2023/05/03(水) 04:56:22.98ID:KcOhtZMX
過去スレにそんなもんは付けないよとかほざく猛者いたな。
理由は支離滅裂だったけど
685デフォルトの名無しさん
垢版 |
2023/05/03(水) 08:16:46.41ID:zwp10Saa
本当ならOption Explicitの他にOption Strictも欲しいくらい。
ただ、それに慣れるとVBSやJavaScriptみたいな言語に当たったときに一瞬躊躇するから
型に関してはそれが読み取れるような変数や定数の名前の付け方をするように心掛けてはいるけど中々難しいんだよね
接頭に型を現すような文字付けるのも有りっちゃ有りなんだけどなんか「あー、初心者がよくやるよね」みたいな感じがしてちょっとイヤ
2023/05/03(水) 08:38:47.67ID:07Dbowlh
jsはletあるやん
687デフォルトの名無しさん
垢版 |
2023/05/03(水) 17:42:16.15ID:6h8oPcDB
BingのAIと会話してみた感想
サイトの記述を引用しているだけだから自然な文章なのは当然
回答パターンがまだまだ少ない
いいねボタンとバットボタンがある
いいねの多い回答だけ残す、バットの多い回答は表示させない
↑であれば当たり感触のない回答しか学習しない、人間の知能を越える事はない
そしてそのやり方は前からあったシミレーションのプログラムと同じ
2023/05/03(水) 17:46:59.65ID:8i/q/Kgr
何そのツッコミ待ち
2023/05/03(水) 19:15:10.32ID:KcOhtZMX
BingのAIはすぐ拗ねちゃうからな
690デフォルトの名無しさん
垢版 |
2023/05/03(水) 19:36:47.70ID:6h8oPcDB
ChatGPT 3.5は出鱈目な回答をしていた 4.0になって当たりざわりのない回答になった
そういう事でしょう?
2023/05/03(水) 19:40:16.52ID:Kv12u2jn
お前がそう思うんならそうなんだろう…お前ん中ではな…
2023/05/03(水) 19:41:04.17ID:Ia3mFb59
有用性とか将来性が分からなければそれでいいんじゃね
勝手に遠ざけてどんどん取り残されればいいさ
2023/05/03(水) 20:14:55.06ID:F2sofNfH
Lastrowってどんな感じで変化させてる?
シート数多すぎて混乱する
694デフォルトの名無しさん
垢版 |
2023/05/03(水) 21:36:02.93ID:6h8oPcDB
野獣先輩 と聞けば回答を途中で打ち切る
しかし 中国 野獣先輩 と尋ねると中国での野獣先輩ブームをスラスラ答える
695デフォルトの名無しさん
垢版 |
2023/05/03(水) 21:51:50.56ID:6h8oPcDB
やーい AIの癖に掛け算も割り算もできない奴〜
2023/05/03(水) 23:21:43.78ID:nQu3mtYe
Bingさんは普通に計算できるが?
2023/05/04(木) 17:35:46.71ID:SG8oVDU2
複雑なのはダメ。
698デフォルトの名無しさん
垢版 |
2023/05/04(木) 19:50:34.95ID:Sg4+jaA6
AIの回答には引用元のリンクがあるので著作権問題に繋がるのもよく分かる
■ このスレッドは過去ログ倉庫に格納されています