↑同じ内容を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
Excel VBA 質問スレ Part79
■ このスレッドは過去ログ倉庫に格納されています
2023/01/28(土) 11:46:47.21ID:mBQ16TA8
599デフォルトの名無しさん
2023/04/26(水) 14:39:17.86ID:FZ0Navbz600デフォルトの名無しさん
2023/04/26(水) 18:26:19.83ID:QhJ3494d chatgptのvba専用スレ立てれば良くね?
601デフォルトの名無しさん
2023/04/27(木) 05:48:02.31ID:+yZZBsrI ChatGPT ってそんなに凄いんか
今度「EXCEL VBAでマリオ作ってください」って書いてみようかな
出来なければ無能
今度「EXCEL VBAでマリオ作ってください」って書いてみようかな
出来なければ無能
602デフォルトの名無しさん
2023/04/27(木) 06:49:22.19ID:76bSpVKu 頭悪そう
603デフォルトの名無しさん
2023/04/27(木) 13:34:04.47ID:dzjZcYac >>601
Excel VBAでマリオを作ることは可能ですが、かなり複雑な作業になります。そのため、以下に示すのは、簡単なマリオゲームの作り方の一例です。
ゲーム画面を作成する
最初に、Excelワークシート上にゲーム画面を作成します。これには、背景、床、壁などが含まれます。背景と床は、Excelのシェイプを使用して作成することができます。壁は、VBAで作成する必要があります。
マリオキャラクターを作成する
マリオキャラクターを作成するために、Excelのシェイプを使用します。キャラクターは、右に進む、左に進む、ジャンプする、しゃがむなどのアクションを実行できるようにする必要があります。これには、キーボードの矢印キーを使用することができます。
Excel VBAでマリオを作ることは可能ですが、かなり複雑な作業になります。そのため、以下に示すのは、簡単なマリオゲームの作り方の一例です。
ゲーム画面を作成する
最初に、Excelワークシート上にゲーム画面を作成します。これには、背景、床、壁などが含まれます。背景と床は、Excelのシェイプを使用して作成することができます。壁は、VBAで作成する必要があります。
マリオキャラクターを作成する
マリオキャラクターを作成するために、Excelのシェイプを使用します。キャラクターは、右に進む、左に進む、ジャンプする、しゃがむなどのアクションを実行できるようにする必要があります。これには、キーボードの矢印キーを使用することができます。
604デフォルトの名無しさん
2023/04/27(木) 13:35:04.43ID:dzjZcYac 敵キャラクターを作成する
マリオゲームには、いくつかの敵キャラクターが含まれます。これらは、Excelのシェイプを使用して作成することができます。敵キャラクターは、マリオキャラクターに衝突すると、マリオがライフを失うことになります。
ゲームループを作成する
ゲームループは、ゲームの進行を管理するために必要なものです。これには、マリオキャラクターと敵キャラクターの移動、衝突の検出、スコアの計算などが含まれます。
ゲームオーバー画面を作成する
ゲームオーバー画面は、マリオがすべてのライフを失ったときに表示されます。これには、Excelのシェイプを使用して作成することができます。
以上が、Excel VBAで簡単なマリオゲームを作成するための一般的な手順です。ただし、Excel VBAで本格的なゲームを作成するためには、より高度なプログラミング技術が必要となります。
マリオゲームには、いくつかの敵キャラクターが含まれます。これらは、Excelのシェイプを使用して作成することができます。敵キャラクターは、マリオキャラクターに衝突すると、マリオがライフを失うことになります。
ゲームループを作成する
ゲームループは、ゲームの進行を管理するために必要なものです。これには、マリオキャラクターと敵キャラクターの移動、衝突の検出、スコアの計算などが含まれます。
ゲームオーバー画面を作成する
ゲームオーバー画面は、マリオがすべてのライフを失ったときに表示されます。これには、Excelのシェイプを使用して作成することができます。
以上が、Excel VBAで簡単なマリオゲームを作成するための一般的な手順です。ただし、Excel VBAで本格的なゲームを作成するためには、より高度なプログラミング技術が必要となります。
605デフォルトの名無しさん
2023/04/27(木) 14:08:46.28ID:XSILjXL+ この部分のサンプルコードを教えて言うと一応コード書き始めるからな
問い質し続けるだけで何の技術も必要なくマリオが完成するかもしれん
問い質し続けるだけで何の技術も必要なくマリオが完成するかもしれん
606デフォルトの名無しさん
2023/04/27(木) 14:11:45.77ID:zVEPCm55 単純にマクロでゲーム作れる奴すげーし
607デフォルトの名無しさん
2023/04/27(木) 15:59:16.33ID:tbrdsB1h 作れるわけねーわな、あと著作権もあるし
608デフォルトの名無しさん
2023/04/27(木) 16:50:28.16ID:XSILjXL+ AIに人権はないから著作権も存在しない
マリオといっても花札屋のとは限らんしな
マリオといっても花札屋のとは限らんしな
609デフォルトの名無しさん
2023/04/27(木) 17:13:01.50ID:Ocl0clWf 作る人が多くなるとマリオのようなゲームのコードのテンプレのようなものがデータセットの中にできてきて
即答するようになるw
即答するようになるw
610デフォルトの名無しさん
2023/04/27(木) 18:09:30.67ID:DM4R6GlX >>608
著作権無視は違法ですが
著作権無視は違法ですが
611デフォルトの名無しさん
2023/04/27(木) 18:22:26.88ID:lojChHXv >>610
AIという道具を使った奴が違法な
AIという道具を使った奴が違法な
612デフォルトの名無しさん
2023/04/28(金) 12:20:31.67ID:BvI4vGh+ 罫線を引くコードはマクロの記録をしたものを加工するのが最善?
613デフォルトの名無しさん
2023/04/28(金) 12:28:24.02ID:vB455QFk いいえ
614デフォルトの名無しさん
2023/04/28(金) 12:42:10.09ID:FbKok5Di マクロ記録をそのまま使うなんて90年代のやり方
615デフォルトの名無しさん
2023/04/28(金) 12:49:48.27ID:vB455QFk そのままとはどこにも書いてない
616デフォルトの名無しさん
2023/04/28(金) 13:08:25.63ID:E6P3bOF0 お前は他人の否定ばかりだな?
617デフォルトの名無しさん
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
--------------- 続きあり
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
--------------- 続きあり
618デフォルトの名無しさん
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
----------------- 続きあり
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
----------------- 続きあり
619デフォルトの名無しさん
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種 直線・矢印線・縦棒・細い▲
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種 直線・矢印線・縦棒・細い▲
620デフォルトの名無しさん
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
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
621デフォルトの名無しさん
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
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
622デフォルトの名無しさん
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
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
623デフォルトの名無しさん
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
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
624デフォルトの名無しさん
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
細い▲や縦棒が嫌な場合はこれら等で
UserForm 「BttnF」上に、描画用ボタン「Bttn、Bttn2、Bttn3、Bttn4」を貼り
それぞれのコードを割り当て
描いた図形を削除するためのボタン「mDel」も貼る
セル範囲を選択後、上記いずれかのボタンを押すことで描画したり消したり
描画するSheet上(A1:D4内に配置すればウィンドウ枠の固定をしてもズレずに済む)に
UserFormを出すボタン「cmdBttnF」を貼り Private Sub cmdBttnF_click()のコードを割り当て
他の図形の例 :
' ひし形は msoShapeDiamond
' 四つ星は msoShape4pointStar 五つ星 msoShape5pointStar
' 開始位置に戻るは msoShapeActionButtonBeginning 進む(再生)は msoShapeActionButtonForwardorNext
' 終了位置へ進むは msoShapeActionButtonEnd
' 吹き出しもできる msoShapeBalloon
' 右向き六角形 msoShapeChevron
細い▲や縦棒が嫌な場合はこれら等で
625デフォルトの名無しさん
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)に変えると通らない
配列をとある文字数数分だけ検索したいというだけなんですができなくて困っております
よろしく御指南のほどお願い致します
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
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:xyEtsQeE629デフォルトの名無しさん
2023/04/28(金) 22:07:31.25ID:q2nR+ZdU すみません
フォルダの中にあるExcelのファイルを指定のシートのみ残してその他のシートを削除して保存するVBAは組めるでしょうか?
その他にも指定のセルの値をファイル名として保存する方法は可能でしょうか?
フォルダの中にあるExcelのファイルを指定のシートのみ残してその他のシートを削除して保存するVBAは組めるでしょうか?
その他にも指定のセルの値をファイル名として保存する方法は可能でしょうか?
630デフォルトの名無しさん
2023/04/28(金) 22:16:54.88ID:h0I1nwu1 チャジれカス
631デフォルトの名無しさん
2023/04/28(金) 22:45:44.43ID:BEXA+iPo632デフォルトの名無しさん
2023/04/28(金) 23:28:17.83ID:xyEtsQeE >>627
ん?良くみたらこれはmatchの置き換えをしてるだけ?
ん?良くみたらこれはmatchの置き換えをしてるだけ?
633デフォルトの名無しさん
2023/04/28(金) 23:33:05.22ID:q2nR+ZdU >>631
ありがとうございます
ありがとうございます
634デフォルトの名無しさん
2023/04/29(土) 00:11:05.56ID:139vt90Q いつもの否定君息してる~?
635デフォルトの名無しさん
2023/04/29(土) 03:45:20.62ID:+IUP3Yu9 Excel2013でブックやワークシートにコードは貼れますが特定のセルにだけコードを貼って動作させるというような事はできないんでしょうか
コードからセル範囲を指定するというような事しかできない?
コードからセル範囲を指定するというような事しかできない?
636デフォルトの名無しさん
2023/04/29(土) 05:48:46.87ID:CXMs2SVp >>635
どゆことかよくわからんけどイベントプロシージャのことかな?
どゆことかよくわからんけどイベントプロシージャのことかな?
637デフォルトの名無しさん
2023/04/29(土) 06:57:41.72ID:+IUP3Yu9 そうです
ワークシート以下の単位はないから貼れないんですかね多分
ワークシート以下の単位はないから貼れないんですかね多分
638デフォルトの名無しさん
2023/04/29(土) 07:07:50.60ID:CXMs2SVp >>637
いやどゆことかよくわからんけど、例えばchangeイベントなら変更されたセルのrangeを取得できるからそこにコードを仕込むことはできるけど。。。そゆことじゃなくて?
いやどゆことかよくわからんけど、例えばchangeイベントなら変更されたセルのrangeを取得できるからそこにコードを仕込むことはできるけど。。。そゆことじゃなくて?
639デフォルトの名無しさん
2023/04/29(土) 16:14:48.16ID:eiNFh+Wm ファイルのパス、フォルダのパスをDimではなくConstで書く方がより正確性が増す
より確実に動作をする
という事はあるのでしょうか?
より確実に動作をする
という事はあるのでしょうか?
640デフォルトの名無しさん
2023/04/29(土) 16:25:03.32ID:vp07q8LL Constで正確性?確実?
エスパーすると関数型風に書きたいってことかな?
VBAでは無理だからそういう考えは捨てた方がいい
エスパーすると関数型風に書きたいってことかな?
VBAでは無理だからそういう考えは捨てた方がいい
641デフォルトの名無しさん
2023/04/29(土) 16:25:12.56ID:WvPbxn9Z ない
642デフォルトの名無しさん
2023/04/29(土) 17:18:17.07ID:eiNFh+Wm 休みの日も一生懸命考えていましたがきっと私にそれを求められていないし、提案や進言をしても却下されるからもういいや
643デフォルトの名無しさん
2023/04/29(土) 17:37:46.68ID:vp07q8LL VBAは制限多すぎるから何か自分なりの考えを実践したいなら別の言語も検討したらいいぞ
644デフォルトの名無しさん
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+Wm647デフォルトの名無しさん
2023/04/29(土) 19:09:19.53ID:vp07q8LL うーん一生懸命とかいうワードが出てくるって事は若い子なのかな
プログラミングはむしろ楽するための手段だからどうやったら楽できるかの観点で考えようぜ
プログラミングはむしろ楽するための手段だからどうやったら楽できるかの観点で考えようぜ
648デフォルトの名無しさん
2023/04/29(土) 19:35:35.63ID:eiNFh+Wm649デフォルトの名無しさん
2023/04/29(土) 19:43:44.26ID:eiNFh+Wm 私には何も決められないし、何も権限もないから勉強するだけ時間の無駄でした
一生懸命するだけ無駄でしたね
一生懸命するだけ無駄でしたね
650デフォルトの名無しさん
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+Wm654デフォルトの名無しさん
2023/04/29(土) 20:30:49.52ID:vp07q8LL655デフォルトの名無しさん
2023/04/29(土) 21:55:57.78ID:nnQvwkBD 妬み僻みが先にたって、
集合知にならない日本人の悲しさ
集合知にならない日本人の悲しさ
656デフォルトの名無しさん
2023/04/29(土) 22:17:57.28ID:NIajcuht こういう頭の弱い人が作ると大文字限定とかなりそう
657デフォルトの名無しさん
2023/04/30(日) 05:15:21.17ID:9FCAizuG >>651
こういうツールを使いこなせる俺すげーってなっちゃうから
こういうツールを使いこなせる俺すげーってなっちゃうから
658デフォルトの名無しさん
2023/04/30(日) 06:07:32.17ID:SF8fLpoq >>653
過去は絶対に変えられないが他人は変えられる可能性がある。
実際『過去と他人は変えられない』という話をどこの誰から聞きかじったのかは知らないが、あなたはその言葉を聞いてその考え方に変わったわけだ。
あなたの立ち居振る舞いによってあなたの周りの人たちは変わる可能性がある。
過去は絶対に変えられないが他人は変えられる可能性がある。
実際『過去と他人は変えられない』という話をどこの誰から聞きかじったのかは知らないが、あなたはその言葉を聞いてその考え方に変わったわけだ。
あなたの立ち居振る舞いによってあなたの周りの人たちは変わる可能性がある。
659デフォルトの名無しさん
2023/04/30(日) 08:01:15.57ID:GVkkkwIT >>651
そこは乗り越えました。親の気持ちになって与える側だと思って使っている人を暖かく見守りましょう
そして、感謝無く文句しか言わない奴にはID取得して動かないように仕込んでおきましょう(UserNameで取れるか試しておきましょう、大概従業員番号か端末番号です)
そこは乗り越えました。親の気持ちになって与える側だと思って使っている人を暖かく見守りましょう
そして、感謝無く文句しか言わない奴にはID取得して動かないように仕込んでおきましょう(UserNameで取れるか試しておきましょう、大概従業員番号か端末番号です)
660デフォルトの名無しさん
2023/04/30(日) 08:07:07.01ID:kGukyGZB 社内汎用なのにコードにパス掛けてる人って何なの?と思うんですよね。別に機密でも無いしいじり壊すヤツなんていやしないし開けておけよと良く思います
こういう人は自分のやったことを抱え込みたい人が多いんですかね?
こういう人は自分のやったことを抱え込みたい人が多いんですかね?
661デフォルトの名無しさん
2023/04/30(日) 08:37:28.66ID:mp9OxrP6 褒められたい
認められたい
尊敬されたい
何か間違ってますか?
認められたい
尊敬されたい
何か間違ってますか?
662デフォルトの名無しさん
2023/04/30(日) 09:41:48.68ID:n+FRgVAt >>658
確実にウザがられますから
確実にウザがられますから
663デフォルトの名無しさん
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のチャット面白いですね
666デフォルトの名無しさん
2023/04/30(日) 13:38:29.83ID:pCoVes+C667デフォルトの名無しさん
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)
どうすればよいでしょうか。お願いします。
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)
668デフォルトの名無しさん
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
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
669デフォルトの名無しさん
2023/04/30(日) 16:08:17.99ID:nWN6HH2r RemoveDuplicates はメソッド メソッドとはオブジェクトを操作する命令文
dupCount はCellの数を削除前と後でCount辺りで別途算出
dupCount はCellの数を削除前と後でCount辺りで別途算出
670デフォルトの名無しさん
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 「じゅうふく」と読む人と「ちょうふく」と読む人いるね
673デフォルトの名無しさん
2023/04/30(日) 18:10:45.40ID:SF8fLpoq すでに回答あるけどエラー表示通り、Long型の変数にRangeを入れようとしてるから
検証してないけど
rng.RemoveDuplicates Columns:=1, Header:=xlNo
で動くかな?カウントは処理前後で取得すればいいかと。
検証してないけど
rng.RemoveDuplicates Columns:=1, Header:=xlNo
で動くかな?カウントは処理前後で取得すればいいかと。
674デフォルトの名無しさん
2023/04/30(日) 21:51:10.68ID:izKLiPLe675デフォルトの名無しさん
2023/04/30(日) 23:47:19.54ID:xlDTnGib >>672
どちらが正解かな?
どちらが正解かな?
676デフォルトの名無しさん
2023/04/30(日) 23:54:50.78ID:RAvx61h8 ダブり
677デフォルトの名無しさん
2023/05/01(月) 08:25:17.17ID:Bz4H7pRU >>675
どちらも正解だけど一般的にはちょうふく
どちらも正解だけど一般的にはちょうふく
678デフォルトの名無しさん
2023/05/02(火) 17:39:15.35ID:s64+rcVS Option Explicit は使った方が良いですか?
Lastrowが多すぎて外していたんですけどやめた方がいいのかわからない。
直すのも面倒
Lastrowが多すぎて外していたんですけどやめた方がいいのかわからない。
直すのも面倒
679デフォルトの名無しさん
2023/05/02(火) 18:06:55.02ID:rzS4cwhi >>678
苦行が好きならどうぞ外してくださいな。
苦行が好きならどうぞ外してくださいな。
680デフォルトの名無しさん
2023/05/02(火) 19:43:32.75ID:5m1nmjju >>678
そんなことも人に聞かないとわからない人は外さない方がいい
そんなことも人に聞かないとわからない人は外さない方がいい
681デフォルトの名無しさん
2023/05/02(火) 19:52:52.48ID:+blsYFqi Option Explicitを使用することをお勧めします。Option Explicitは、VBAプログラム内で使用されるすべての変数を明示的に宣言することを強制するため、タイプミスやスペルミスなどのエラーを防止するのに役立ちます。
また、変数を宣言することによって、コードの読みやすさと保守性を向上させることができます。たとえば、変数のデータ型が分かっている場合、誤ったデータ型によるエラーを防止することができます。
つまり、Option Explicitを使用することは、より正確で安全なコードを作成するために重要です。したがって、可能な限りOption Explicitを使用することをお勧めします。
また、コードの修正が面倒である場合でも、過去のコードを修正することで、将来的に発生する可能性のあるエラーを防止することができます。
また、変数を宣言することによって、コードの読みやすさと保守性を向上させることができます。たとえば、変数のデータ型が分かっている場合、誤ったデータ型によるエラーを防止することができます。
つまり、Option Explicitを使用することは、より正確で安全なコードを作成するために重要です。したがって、可能な限りOption Explicitを使用することをお勧めします。
また、コードの修正が面倒である場合でも、過去のコードを修正することで、将来的に発生する可能性のあるエラーを防止することができます。
682デフォルトの名無しさん
2023/05/02(火) 19:56:11.18ID:DG7CtCYh フィルターの項目事、あるいはセルの項目ごとにシートにコピーするかファイルに出力する方法はありますか?
683デフォルトの名無しさん
2023/05/02(火) 22:53:54.12ID:W01QlVgz ありまぁす
684デフォルトの名無しさん
2023/05/03(水) 04:56:22.98ID:KcOhtZMX 過去スレにそんなもんは付けないよとかほざく猛者いたな。
理由は支離滅裂だったけど
理由は支離滅裂だったけど
685デフォルトの名無しさん
2023/05/03(水) 08:16:46.41ID:zwp10Saa 本当ならOption Explicitの他にOption Strictも欲しいくらい。
ただ、それに慣れるとVBSやJavaScriptみたいな言語に当たったときに一瞬躊躇するから
型に関してはそれが読み取れるような変数や定数の名前の付け方をするように心掛けてはいるけど中々難しいんだよね
接頭に型を現すような文字付けるのも有りっちゃ有りなんだけどなんか「あー、初心者がよくやるよね」みたいな感じがしてちょっとイヤ
ただ、それに慣れるとVBSやJavaScriptみたいな言語に当たったときに一瞬躊躇するから
型に関してはそれが読み取れるような変数や定数の名前の付け方をするように心掛けてはいるけど中々難しいんだよね
接頭に型を現すような文字付けるのも有りっちゃ有りなんだけどなんか「あー、初心者がよくやるよね」みたいな感じがしてちょっとイヤ
686デフォルトの名無しさん
2023/05/03(水) 08:38:47.67ID:07Dbowlh jsはletあるやん
687デフォルトの名無しさん
2023/05/03(水) 17:42:16.15ID:6h8oPcDB BingのAIと会話してみた感想
サイトの記述を引用しているだけだから自然な文章なのは当然
回答パターンがまだまだ少ない
いいねボタンとバットボタンがある
いいねの多い回答だけ残す、バットの多い回答は表示させない
↑であれば当たり感触のない回答しか学習しない、人間の知能を越える事はない
そしてそのやり方は前からあったシミレーションのプログラムと同じ
サイトの記述を引用しているだけだから自然な文章なのは当然
回答パターンがまだまだ少ない
いいねボタンとバットボタンがある
いいねの多い回答だけ残す、バットの多い回答は表示させない
↑であれば当たり感触のない回答しか学習しない、人間の知能を越える事はない
そしてそのやり方は前からあったシミレーションのプログラムと同じ
688デフォルトの名無しさん
2023/05/03(水) 17:46:59.65ID:8i/q/Kgr 何そのツッコミ待ち
689デフォルトの名無しさん
2023/05/03(水) 19:15:10.32ID:KcOhtZMX BingのAIはすぐ拗ねちゃうからな
690デフォルトの名無しさん
2023/05/03(水) 19:36:47.70ID:6h8oPcDB ChatGPT 3.5は出鱈目な回答をしていた 4.0になって当たりざわりのない回答になった
そういう事でしょう?
そういう事でしょう?
691デフォルトの名無しさん
2023/05/03(水) 19:40:16.52ID:Kv12u2jn お前がそう思うんならそうなんだろう…お前ん中ではな…
692デフォルトの名無しさん
2023/05/03(水) 19:41:04.17ID:Ia3mFb59 有用性とか将来性が分からなければそれでいいんじゃね
勝手に遠ざけてどんどん取り残されればいいさ
勝手に遠ざけてどんどん取り残されればいいさ
693デフォルトの名無しさん
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の癖に掛け算も割り算もできない奴〜
696デフォルトの名無しさん
2023/05/03(水) 23:21:43.78ID:nQu3mtYe Bingさんは普通に計算できるが?
697デフォルトの名無しさん
2023/05/04(木) 17:35:46.71ID:SG8oVDU2 複雑なのはダメ。
698デフォルトの名無しさん
2023/05/04(木) 19:50:34.95ID:Sg4+jaA6 AIの回答には引用元のリンクがあるので著作権問題に繋がるのもよく分かる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
