ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part65
https://mevius.5ch.net/test/read.cgi/tech/1584430040/
※デフォルト設定
Excel VBA 質問スレ Part66
■ このスレッドは過去ログ倉庫に格納されています
11000
2020/05/10(日) 13:43:45.00ID:Nkoph0aj615デフォルトの名無しさん
2020/06/08(月) 11:07:13.39ID:FM/y1B8a >>614
入力ミスがないとして、この2箇所でシートの指定が抜けてるのが原因では
Range("$B$5:$B$6492").Find(i).Row
Cells(r, 11).Value
何度もWorksheets(1)を書くんじゃなくて、Forの外でActivateするかWithでSheet1を指定した方が間違いがなくていいと思う
入力ミスがないとして、この2箇所でシートの指定が抜けてるのが原因では
Range("$B$5:$B$6492").Find(i).Row
Cells(r, 11).Value
何度もWorksheets(1)を書くんじゃなくて、Forの外でActivateするかWithでSheet1を指定した方が間違いがなくていいと思う
616デフォルトの名無しさん
2020/06/08(月) 11:07:50.22ID:F0/ca02L workbookは指定してるの?
617デフォルトの名無しさん
2020/06/08(月) 14:34:55.82ID:k7tLKOMH アドインに記述されてるプロシージャを、シート上の図形をボタンにしてそこから走らせたいのですが、
引数を渡そうとすると、このブックでマクロが使用できないかすべてのマクロが無効なっている可能性があります、と出て実行できません
すべてのマクロを有効にしてもダメでした
引数なしの場合は、マクロが無効であっても、なんの問題もなく実行されます
登録は、'プロシージャ名 "引数"'とやっているのですが、マクロからそのままやると実行されますが、ボタンに登録すると実行されません
なにが問題なんでしょうか?
引数を渡そうとすると、このブックでマクロが使用できないかすべてのマクロが無効なっている可能性があります、と出て実行できません
すべてのマクロを有効にしてもダメでした
引数なしの場合は、マクロが無効であっても、なんの問題もなく実行されます
登録は、'プロシージャ名 "引数"'とやっているのですが、マクロからそのままやると実行されますが、ボタンに登録すると実行されません
なにが問題なんでしょうか?
618デフォルトの名無しさん
2020/06/08(月) 15:14:19.45ID:vAWoQ1cV sub 引数なし()
引数あり "引数"
end sub
引数あり "引数"
end sub
619デフォルトの名無しさん
2020/06/08(月) 15:39:02.50ID:P+hhNSq/ なるほど・・・
結構な数のボタンになるので面倒ですが、ひとまずそれでやってみます
結構な数のボタンになるので面倒ですが、ひとまずそれでやってみます
620デフォルトの名無しさん
2020/06/08(月) 15:41:22.39ID:F0/ca02L プルダウンなりなんなりで選ぶなりなんなりさせればいいじゃないなり
621デフォルトの名無しさん
2020/06/08(月) 16:55:09.51ID:Fo3kuWti イベント付きボタンのクラス作ればいいんじゃないのかな
622611
2020/06/08(月) 17:50:20.70ID:k1oezjz2 srcsheet.Range(Cells(2, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 8)).Copy
のところが違うみたいです。どう書けばいいですか?
のところが違うみたいです。どう書けばいいですか?
623デフォルトの名無しさん
2020/06/08(月) 18:10:47.25ID:sSFxNrIu シート名が抜けるの俺もむかーしよくやったわぁ
アクティブにすると直るんだよなぁw
何度やったか記憶にないぐらいやって痛い思いした
アクティブにすると直るんだよなぁw
何度やったか記憶にないぐらいやって痛い思いした
624デフォルトの名無しさん
2020/06/08(月) 18:31:02.99ID:J+Lc8xxu withで囲んでもドットを忘れてそれに気づかずいつまでもソースとにらめっこしたりな
625デフォルトの名無しさん
2020/06/08(月) 18:52:12.93ID:d2CDqPLn >>622
srcsheet.Range(srcsheet.Cells(2, 1), srcsheet.Cells(Cells(Rows.Count, 1).End(xlUp).Row, 8)).Copy
確証ないけど…
srcsheet.Range(srcsheet.Cells(2, 1), srcsheet.Cells(Cells(Rows.Count, 1).End(xlUp).Row, 8)).Copy
確証ないけど…
626デフォルトの名無しさん
2020/06/08(月) 19:01:25.33ID:zqZQO86x Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Sh.Range("A:Z").Interior.Color = xlNone
If Intersect(Sh.Range("A:Z"), Target) Is Nothing Then
Exit Sub
Else '赤く色が変わる列
Intersect(Selection.EntireRow, Sh.Range("G:Z")).Interior.Color = RGB(0, 255, 0)
End If
End Sub
とにかく複数選択したセル行の特定の列を全部色付け
選択をやめると色が戻る(デフォルト)をやりたくて
ThisWorkBookにこれを追記
で、なんとか希望の動きになったんですが
これに1行目から7行目は除外(選択しても色が付かない)
という条件の追加は可能ですか?
自分の知識じゃ無理ゲーですみません
Sh.Range("A:Z").Interior.Color = xlNone
If Intersect(Sh.Range("A:Z"), Target) Is Nothing Then
Exit Sub
Else '赤く色が変わる列
Intersect(Selection.EntireRow, Sh.Range("G:Z")).Interior.Color = RGB(0, 255, 0)
End If
End Sub
とにかく複数選択したセル行の特定の列を全部色付け
選択をやめると色が戻る(デフォルト)をやりたくて
ThisWorkBookにこれを追記
で、なんとか希望の動きになったんですが
これに1行目から7行目は除外(選択しても色が付かない)
という条件の追加は可能ですか?
自分の知識じゃ無理ゲーですみません
627デフォルトの名無しさん
2020/06/08(月) 19:48:40.38ID:58QwRa4M629デフォルトの名無しさん
2020/06/08(月) 20:24:46.83ID:zqZQO86x >>627
おおお、ありがとう理想の挙動に近づきました!
これだと12行目を選択した後にやめて
1行目を選択しても12行目の色が残っちゃうんだけどそれは回避不能ですか?
If Intersect(Sh.Range("A:Z"), Target) Isのところを
If Intersect(Sh.Range("A8:Z5000"), Target) Is
とかに変えても少し挙動が近づいた気もしますが、
おおお、ありがとう理想の挙動に近づきました!
これだと12行目を選択した後にやめて
1行目を選択しても12行目の色が残っちゃうんだけどそれは回避不能ですか?
If Intersect(Sh.Range("A:Z"), Target) Isのところを
If Intersect(Sh.Range("A8:Z5000"), Target) Is
とかに変えても少し挙動が近づいた気もしますが、
630デフォルトの名無しさん
2020/06/08(月) 20:28:42.90ID:pW+OOibM 構造体のメンバ変数を頭からindexで指定するようなことってできませんか?
for文で構造体のメンバ変数と配列とを順次比較したいんですが。
for文で構造体のメンバ変数と配列とを順次比較したいんですが。
631デフォルトの名無しさん
2020/06/08(月) 20:28:54.07ID:WKHI6Xr1 変数名やプロシージャ名を日本語で書くか否か迷ってます
日本語命名で困ったことが起こった人はいますか
日本語命名で困ったことが起こった人はいますか
632デフォルトの名無しさん
2020/06/08(月) 20:30:33.47ID:ckk4P3me >>629
少しは頭を使えよ、馬鹿
少しは頭を使えよ、馬鹿
633デフォルトの名無しさん
2020/06/09(火) 00:06:52.26ID:GDblTDVr >>632
頭使ったらハゲるだろ、このハゲ
頭使ったらハゲるだろ、このハゲ
634デフォルトの名無しさん
2020/06/09(火) 00:40:35.48ID:4DWGZxBT ちょっとトンチンカンかもしれないですが
WindowsのエクセルのVBAって
LinuxのOpen OfficeのCalcでも使えたりするんでしょうか?
WindowsのエクセルのVBAって
LinuxのOpen OfficeのCalcでも使えたりするんでしょうか?
635デフォルトの名無しさん
2020/06/09(火) 01:33:20.60ID:dgDUMn0q636デフォルトの名無しさん
2020/06/09(火) 03:31:53.35ID:eSuxcQl/637デフォルトの名無しさん
2020/06/09(火) 03:41:28.59ID:eSuxcQl/639デフォルトの名無しさん
2020/06/09(火) 09:00:21.92ID:khiSZY25 >>631
会社で使うなら社内の自分より詳しい人に相談してみ
会社で使うなら社内の自分より詳しい人に相談してみ
640デフォルトの名無しさん
2020/06/09(火) 09:06:51.24ID:r/wULa9J 個人的には日本語プロシジャー名好き
処理名だと分かりやすい
処理名だと分かりやすい
641デフォルトの名無しさん
2020/06/09(火) 09:38:40.07ID:rQkYVq9m 困った時のローマ字
Sub CSV_no_deTa_wo_rodo_suru()
Sub CSV_no_deTa_wo_rodo_suru()
642デフォルトの名無しさん
2020/06/09(火) 09:49:38.68ID:r/wULa9J そもそもシート名で日本語使ってるからね
気にするならそこからやらないとね
気にするならそこからやらないとね
643デフォルトの名無しさん
2020/06/09(火) 09:56:55.81ID:LXNCuYlO >>631
単純に一つの言語で統一した方が読みやすい
これは一般的な文章でも感じられると思う
逆にコメント等を日本語にすることで注釈として意識させることが出来る
自分は実装には使わないテスト用のメソッドをを日本語名にする事はあるよ
アメリカに送ったら云々は条件が特殊だし、
日本語コメントも文字化けするんだから関係ないだろと思う
単純に一つの言語で統一した方が読みやすい
これは一般的な文章でも感じられると思う
逆にコメント等を日本語にすることで注釈として意識させることが出来る
自分は実装には使わないテスト用のメソッドをを日本語名にする事はあるよ
アメリカに送ったら云々は条件が特殊だし、
日本語コメントも文字化けするんだから関係ないだろと思う
644デフォルトの名無しさん
2020/06/09(火) 10:05:30.26ID:FZrbGc0Z システムとして表示やコンパイルが可能かってのと、それを読む人間が外国語を理解できるかはまた別の話
とりまファイル名やワークシートに入ってるデータが日本語なら何も気にしなくていいってことよ
そもそも半角文字だって国によって割り当てが違うんだし
とりまファイル名やワークシートに入ってるデータが日本語なら何も気にしなくていいってことよ
そもそも半角文字だって国によって割り当てが違うんだし
645デフォルトの名無しさん
2020/06/09(火) 10:25:08.00ID:LXNCuYlO いずれにしても海外環境で動くかって話になると、
関数名ひとつの話じゃないってことだな
関数名ひとつの話じゃないってことだな
646デフォルトの名無しさん
2020/06/09(火) 11:06:11.34ID:GhLF46O3 >>640
自分はプロシージャ名だけでなく変数名にもときどき使ってます。
変数名を横文字で考え付くのが面倒ってこともありますが。
行や列の位置を示す変数に tate yoko の後は 行 列 縦 横 など。
自分はプロシージャ名だけでなく変数名にもときどき使ってます。
変数名を横文字で考え付くのが面倒ってこともありますが。
行や列の位置を示す変数に tate yoko の後は 行 列 縦 横 など。
647デフォルトの名無しさん
2020/06/09(火) 12:07:12.66ID:GJCBYo9K 賛否両論(少し否優勢)な感じね
賛の中でもプロシージャ名、関数名、定数変数名のどこまで日本語が許されるかも派閥次第か
賛の中でもプロシージャ名、関数名、定数変数名のどこまで日本語が許されるかも派閥次第か
648582
2020/06/09(火) 12:11:23.51ID:w8zDheKG iとかなら良いけど変数の型とかプロシージャなのか区別出来る名前になってないと最悪。
で、日本語の名前つけてるのにそんなのが多い。
で、日本語の名前つけてるのにそんなのが多い。
649デフォルトの名無しさん
2020/06/09(火) 12:33:34.60ID:RJ9Fxau+ >>637
ありがとうございます
ありがとうございます
650デフォルトの名無しさん
2020/06/09(火) 12:34:58.09ID:LXNCuYlO 変な事せずに命名規則に従った方がいいと思うけどね
メシマズ嫁と同じ思考回路だぞ
メシマズ嫁と同じ思考回路だぞ
651デフォルトの名無しさん
2020/06/09(火) 14:16:42.79ID:VHdLMKHt すみません。どなたか詳しい方、ご指導願います。
データ計算をVBA作成しようとして悩んでいます。
リストボックスにある地名を選択して、テキストボックス1に数字を
入力したらテキストボックス2に対応した数値を出したいのですが
上手く書けません。
データシートのA列(A2からA300)には地名、横軸(B1からBG1)には整数値(50ずつの数値)があり
地名と整数値の交点には、それぞれ対応した金額が入っています。
またリストボックスの地名は「地名」として別シートを作成しています。
説明方法が悪くて申し訳ないのですが記述の方法の
解説を宜しくお願いします。
データ計算をVBA作成しようとして悩んでいます。
リストボックスにある地名を選択して、テキストボックス1に数字を
入力したらテキストボックス2に対応した数値を出したいのですが
上手く書けません。
データシートのA列(A2からA300)には地名、横軸(B1からBG1)には整数値(50ずつの数値)があり
地名と整数値の交点には、それぞれ対応した金額が入っています。
またリストボックスの地名は「地名」として別シートを作成しています。
説明方法が悪くて申し訳ないのですが記述の方法の
解説を宜しくお願いします。
652デフォルトの名無しさん
2020/06/09(火) 14:31:54.35ID:ksQUvwBH h,vlookupじゃダメなんですか?
653デフォルトの名無しさん
2020/06/09(火) 14:36:44.80ID:LXNCuYlO どこまで書けてて、どこから分からないの?
654デフォルトの名無しさん
2020/06/09(火) 14:38:50.34ID:XR5JAco5 XY座標のセル表示して終わりじゃないなら
ピボット勉強した方が良いと思う
ピボット勉強した方が良いと思う
655デフォルトの名無しさん
2020/06/09(火) 14:49:37.66ID:VHdLMKHt 651です。
Private Sub ListBox1_Change()
ListBox3.Clear
Select Case ListBox1.Text
Case "東京都"
ListBox3.List = Worksheets("データ").Range("A2:A8").Value
(略)
End Select
With ListBox3
.ColumnHeads = False
.ColumnCount = 1
.ColumnWidths = "40;50;50"
.Font.Name = "Meiryo UI"
.Font.Size = 11
End With
End Sub
Private Sub TextBox2_AfterUpdate()
Dim TextBox2 As Range
Dim TextBox3 As Range
Set TextBox2 = Worksheets("データ").Range("A2:A13")
Set TextBox3 = TextBox2.Find(What:=TextBox2.Value, LookAt:=xlPart)
If Not TextBox3 Is Nothing Then
'ヒットした値をテキストボックスにセット
TextRegion.Value = Worksheets("データ").Cells(TextBox3.Row, TextBox3.Column + 8).Value
End If
End Sub
なんか変です。。。
Private Sub ListBox1_Change()
ListBox3.Clear
Select Case ListBox1.Text
Case "東京都"
ListBox3.List = Worksheets("データ").Range("A2:A8").Value
(略)
End Select
With ListBox3
.ColumnHeads = False
.ColumnCount = 1
.ColumnWidths = "40;50;50"
.Font.Name = "Meiryo UI"
.Font.Size = 11
End With
End Sub
Private Sub TextBox2_AfterUpdate()
Dim TextBox2 As Range
Dim TextBox3 As Range
Set TextBox2 = Worksheets("データ").Range("A2:A13")
Set TextBox3 = TextBox2.Find(What:=TextBox2.Value, LookAt:=xlPart)
If Not TextBox3 Is Nothing Then
'ヒットした値をテキストボックスにセット
TextRegion.Value = Worksheets("データ").Cells(TextBox3.Row, TextBox3.Column + 8).Value
End If
End Sub
なんか変です。。。
656デフォルトの名無しさん
2020/06/09(火) 14:54:09.61ID:VHdLMKHt 651です。
たぶんツッコミどころ満載です。
交点のセレクトできていません。
たぶんツッコミどころ満載です。
交点のセレクトできていません。
657デフォルトの名無しさん
2020/06/09(火) 15:51:31.81ID:Hq8JX0Tk なぜ段階を踏んで自分でテストモデルを組んでみないのかが疑問だわ
初心者の頃も含めてその程度の内容で誰かに聞いたことすらないわ
初心者の頃も含めてその程度の内容で誰かに聞いたことすらないわ
658デフォルトの名無しさん
2020/06/09(火) 15:53:54.04ID:Hq8JX0Tk 1.リストボックスで選択してボタン押して他のフォームで項目表示できるか
2.テキストボックスに書き込んでボタン押して他のフォームのテキストボックスに表示できるか
3.リストボックスとテキストボックスで選択と書込をして同じフォーム上のテキストボックスに対応した数字を出せるのか
とかとか
2.テキストボックスに書き込んでボタン押して他のフォームのテキストボックスに表示できるか
3.リストボックスとテキストボックスで選択と書込をして同じフォーム上のテキストボックスに対応した数字を出せるのか
とかとか
659デフォルトの名無しさん
2020/06/09(火) 16:19:22.27ID:ksQUvwBH マクロの記録使うのはいいけど
その結果の意味ぐらい調べようよ
ググらなくてもF1キー押せば表示されるからさ
その結果の意味ぐらい調べようよ
ググらなくてもF1キー押せば表示されるからさ
660デフォルトの名無しさん
2020/06/09(火) 16:24:07.60ID:LXNCuYlO661デフォルトの名無しさん
2020/06/09(火) 17:05:07.59ID:/5vAUGTr662デフォルトの名無しさん
2020/06/09(火) 17:28:45.58ID:FZrbGc0Z >>661
簡単
簡単
663デフォルトの名無しさん
2020/06/09(火) 17:40:53.94ID:Hq8JX0Tk ユーザーフォーム使ってTextBox1とTextBox2に数字いれてTextBox3に足し算の結果だすような基本をまず調べればあとは適当にぐぐりゃ分かるわな
計算途中も変数いちいち宣言して代入していくといいわ
自分で何やってんのか見失わないようにするため
Sub testttt()
Dim drawingX As Double: drawingX = 2
Dim drawingY As Double: drawingY = 2
Dim realX As Double: realX = 2.1
Dim realY As Double: realY = 2.1
Dim diffX As Double: diffX = realX - drawingX
Dim diffY As Double: diffY = realY - drawingY
Dim ResultPosition As Double: ResultPosition = Sqr(diffX * diffX + diffY * diffY) * 2
MsgBox ResultPosition
End Sub
計算途中も変数いちいち宣言して代入していくといいわ
自分で何やってんのか見失わないようにするため
Sub testttt()
Dim drawingX As Double: drawingX = 2
Dim drawingY As Double: drawingY = 2
Dim realX As Double: realX = 2.1
Dim realY As Double: realY = 2.1
Dim diffX As Double: diffX = realX - drawingX
Dim diffY As Double: diffY = realY - drawingY
Dim ResultPosition As Double: ResultPosition = Sqr(diffX * diffX + diffY * diffY) * 2
MsgBox ResultPosition
End Sub
664デフォルトの名無しさん
2020/06/09(火) 17:54:43.46ID:AbQV9kr1 Private Sub TextBox1_Change() 'Xの図面寸法
TextBox3 = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
Private Sub TextBox2_Change() 'Xの測定値
TextBox3 = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
Private Sub TextBox3_AfterUpdate()'Xのズレ
TextBox3 = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
Private Sub TextBox4_Change()'Yの図面寸法
TextBox6 = Val(TextBox4.Value) - Val(TextBox5.Value)
End Sub
Private Sub TextBox5_Change() 'Yの測定値
TextBox6 = Val(TextBox4.Value) - Val(TextBox5.Value)
End Sub
Private Sub TextBox6_Change() 'Yのズレ
TextBox6 = Val(TextBox4.Value) - Val(TextBox5.Value)
End Sub
Private Sub TextBox7_Change()
'位置度最難関
TextBox7 = Val(Sqr(TextBox3.Value) ^ 2) + Val(Sqr(TextBox6.Value) ^ 2) * 2
End Sub
tBox6.Value) ^ 2) * 2
End Sub
1〜6まではぐぐったらなんとかできた
あとは7… >>663 ぐぐるより難しそうで無理す
TextBox3 = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
Private Sub TextBox2_Change() 'Xの測定値
TextBox3 = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
Private Sub TextBox3_AfterUpdate()'Xのズレ
TextBox3 = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
Private Sub TextBox4_Change()'Yの図面寸法
TextBox6 = Val(TextBox4.Value) - Val(TextBox5.Value)
End Sub
Private Sub TextBox5_Change() 'Yの測定値
TextBox6 = Val(TextBox4.Value) - Val(TextBox5.Value)
End Sub
Private Sub TextBox6_Change() 'Yのズレ
TextBox6 = Val(TextBox4.Value) - Val(TextBox5.Value)
End Sub
Private Sub TextBox7_Change()
'位置度最難関
TextBox7 = Val(Sqr(TextBox3.Value) ^ 2) + Val(Sqr(TextBox6.Value) ^ 2) * 2
End Sub
tBox6.Value) ^ 2) * 2
End Sub
1〜6まではぐぐったらなんとかできた
あとは7… >>663 ぐぐるより難しそうで無理す
665デフォルトの名無しさん
2020/06/09(火) 17:58:28.74ID:AbQV9kr1 ああ、最後に変なコピペが混じってる
3と6にも多分式を入れないとだめですよね恐らく
3と6にも多分式を入れないとだめですよね恐らく
666デフォルトの名無しさん
2020/06/09(火) 18:02:48.17ID:AbQV9kr1 いや違う、むしろ7に入れずに3と6っぽい?
そもそもド素人にはやはり厳しいね
頑張りますわ
そもそもド素人にはやはり厳しいね
頑張りますわ
667デフォルトの名無しさん
2020/06/09(火) 18:44:30.51ID:AbQV9kr1 うおぉ、浮動小数点かこりゃ?
どっかでroundで四捨五入せんといかんのね
1人であたふたすまん
ほんとムズい
どっかでroundで四捨五入せんといかんのね
1人であたふたすまん
ほんとムズい
668デフォルトの名無しさん
2020/06/09(火) 19:24:04.57ID:Hq8JX0Tk Changeイベントなんか使うから難しくなるわけで・・・・
そのサイトにあるように、ボタン押して計算するようなもの作りたいんだろ?
ならズレ角度抜きで、テキストボックス7個作って
ボタン押すと上の4個から数値拾ってきて下の3個に計算結果を入れるっていうな
イベント系はCommandButton1_Click()だけでいいはずだぞ
そのサイトにあるように、ボタン押して計算するようなもの作りたいんだろ?
ならズレ角度抜きで、テキストボックス7個作って
ボタン押すと上の4個から数値拾ってきて下の3個に計算結果を入れるっていうな
イベント系はCommandButton1_Click()だけでいいはずだぞ
669デフォルトの名無しさん
2020/06/09(火) 19:44:15.62ID:Hq8JX0Tk Private Sub CommandButton1_Click()
Dim drawingX As Double: drawingX = TextBox1.Value
Dim drawingY As Double: drawingY = TextBox2.Value
Dim realX As Double: realX = TextBox3.Value
Dim realY As Double: realY = TextBox4.Value
Dim diffX As Double: diffX = realX - drawingX
Dim diffY As Double: diffY = realY - drawingY
Dim ResultPosition As Double: ResultPosition = Sqr(diffX * diffX + diffY * diffY) * 2
TextBox5 = ResultPosition
End Sub
https://i.imgur.com/yhMCwtL.jpg
位置度だけだけど。
テキストボックスはIMEModeOffにしておく
Dim drawingX As Double: drawingX = TextBox1.Value
Dim drawingY As Double: drawingY = TextBox2.Value
Dim realX As Double: realX = TextBox3.Value
Dim realY As Double: realY = TextBox4.Value
Dim diffX As Double: diffX = realX - drawingX
Dim diffY As Double: diffY = realY - drawingY
Dim ResultPosition As Double: ResultPosition = Sqr(diffX * diffX + diffY * diffY) * 2
TextBox5 = ResultPosition
End Sub
https://i.imgur.com/yhMCwtL.jpg
位置度だけだけど。
テキストボックスはIMEModeOffにしておく
670デフォルトの名無しさん
2020/06/09(火) 19:49:22.56ID:0Bu4FXEm なんでユーザーフォームってクソダサなんだろな
色変えられるんだしMicrosoftももうちょい気遣ってくれてもいいのにな
色変えられるんだしMicrosoftももうちょい気遣ってくれてもいいのにな
671デフォルトの名無しさん
2020/06/09(火) 20:04:52.19ID:PO2SY+XL >>669
天才ですか、、
何も知らん癖に自動にしたいかなぁと
思って検索してパクりまくって作ってましたわ
ズレ量も欲しいからとせっせと
小数点も3桁以上は四捨五入したく
1〜4までは意味も分からずとりあえず
ちゃんと挙動してるかなぁレベル
アドバイス貰う以前の素人レベルだからスクショですんません
原理すらわかってない
https://i.imgur.com/0iPDqgX.jpg
https://i.imgur.com/ksEqFVN.jpg
天才ですか、、
何も知らん癖に自動にしたいかなぁと
思って検索してパクりまくって作ってましたわ
ズレ量も欲しいからとせっせと
小数点も3桁以上は四捨五入したく
1〜4までは意味も分からずとりあえず
ちゃんと挙動してるかなぁレベル
アドバイス貰う以前の素人レベルだからスクショですんません
原理すらわかってない
https://i.imgur.com/0iPDqgX.jpg
https://i.imgur.com/ksEqFVN.jpg
672582
2020/06/09(火) 20:10:52.53ID:w8zDheKG >>664
そういう書き方せずに>>663を具体的な値の部分は削除してまず関数化する。
Function GetResultPosition(drawingX As Double, drawingY As Double, realX As Double, realY As Double) As Double
Dim diffX As Double: diffX = realX - drawingX
Dim diffY As Double: diffY = realY - drawingY
Dim ResultPosition As Double: ResultPosition = Sqr(diffX * diffX + diffY * diffY) * 2
GetResultPosition = ResultPosition
End Function
初心者を脱っしていれば、点はユーザー定義にしてると思うけど、まあこんな感じ。
そういう書き方せずに>>663を具体的な値の部分は削除してまず関数化する。
Function GetResultPosition(drawingX As Double, drawingY As Double, realX As Double, realY As Double) As Double
Dim diffX As Double: diffX = realX - drawingX
Dim diffY As Double: diffY = realY - drawingY
Dim ResultPosition As Double: ResultPosition = Sqr(diffX * diffX + diffY * diffY) * 2
GetResultPosition = ResultPosition
End Function
初心者を脱っしていれば、点はユーザー定義にしてると思うけど、まあこんな感じ。
673デフォルトの名無しさん
2020/06/09(火) 20:19:17.07ID:OFRsK1Sh いつまで素人素人言い訳してくれくれする気だ
674582
2020/06/09(火) 20:19:48.80ID:w8zDheKG 次にTextBoxの値を関数い代入する。
なお、TextBoxの名前もそれっぽく変えておく。
Sub test()
Dim drawingX As Double
Dim drawingY As Double
Dim realX As Double
Dim realY As Double
drawingX=txtDrawingX.Value
drawingY=txtDrawingY.Value
realX=txtRealX.Value
realY=txtRealY.Value
txtResult.Value=GetResultPosition(drawingX, drawingY, realX, realY)
End Sub
なお、TextBoxの名前もそれっぽく変えておく。
Sub test()
Dim drawingX As Double
Dim drawingY As Double
Dim realX As Double
Dim realY As Double
drawingX=txtDrawingX.Value
drawingY=txtDrawingY.Value
realX=txtRealX.Value
realY=txtRealY.Value
txtResult.Value=GetResultPosition(drawingX, drawingY, realX, realY)
End Sub
675デフォルトの名無しさん
2020/06/09(火) 20:28:43.03ID:PO2SY+XL ごめんスクショの所も直しきれてなかったし初心者を脱してないレベルだから
調子乗って挑戦しようと思ったのが間違い
測定値はどこまで小数点書こうが3桁で四捨五入
ズレ量も四捨五入された3桁で表示
四捨五入された3桁のズレ量同士で計算されて
位置度も3桁で四捨五入されてフィニッシュ
やろうとした事が多すぎました
普段のエクセルのSQRT関数入れたツールか
関数電卓で断念します
クレクレとかじゃなく、助言みんなありがとうです
調子乗って挑戦しようと思ったのが間違い
測定値はどこまで小数点書こうが3桁で四捨五入
ズレ量も四捨五入された3桁で表示
四捨五入された3桁のズレ量同士で計算されて
位置度も3桁で四捨五入されてフィニッシュ
やろうとした事が多すぎました
普段のエクセルのSQRT関数入れたツールか
関数電卓で断念します
クレクレとかじゃなく、助言みんなありがとうです
676582
2020/06/09(火) 20:51:16.65ID:w8zDheKG >>675
四捨五入なんて最後で良いじゃん。
ResultPositionを四捨五入して返すだけだと思うが。
入力の見た目も四捨五入したいならそれぞれでやりゃ良いし。
どっちにしろ、四捨五入なんて考えずに作って、出来てから考えた方が良いぞ。
四捨五入なんて最後で良いじゃん。
ResultPositionを四捨五入して返すだけだと思うが。
入力の見た目も四捨五入したいならそれぞれでやりゃ良いし。
どっちにしろ、四捨五入なんて考えずに作って、出来てから考えた方が良いぞ。
677デフォルトの名無しさん
2020/06/09(火) 21:14:50.07ID:PO2SY+XL >>676
どうも…事情がありまして
ズレ量と位置度を両方記入する必要があるから計算を合わせたいのです
そうしないと記入したズレ量と数値の計算が違ってくるので
なので普段はExcel関数ツール作ってで計算させてます
(名称はセル番地)
まず小数点7桁ぐらいで出力されてきやがるズレ量をRound関数で全て小数点3桁にする
↓
小数点3桁同士で位置度の計算をさせる
=if(位置度="","",SQRT(SUMSQ(X実測値-X図面寸法,Y実測値-Y図面寸法))*2)
↓
最後に出た位置度も小数点3桁にする
=if(位置度="","",Round(位置度,3)
↓
位置度とズレ量を小数点3桁まで記入
現状これが自分の最善だったので…
どうも…事情がありまして
ズレ量と位置度を両方記入する必要があるから計算を合わせたいのです
そうしないと記入したズレ量と数値の計算が違ってくるので
なので普段はExcel関数ツール作ってで計算させてます
(名称はセル番地)
まず小数点7桁ぐらいで出力されてきやがるズレ量をRound関数で全て小数点3桁にする
↓
小数点3桁同士で位置度の計算をさせる
=if(位置度="","",SQRT(SUMSQ(X実測値-X図面寸法,Y実測値-Y図面寸法))*2)
↓
最後に出た位置度も小数点3桁にする
=if(位置度="","",Round(位置度,3)
↓
位置度とズレ量を小数点3桁まで記入
現状これが自分の最善だったので…
678デフォルトの名無しさん
2020/06/09(火) 21:21:13.62ID:PO2SY+XL 間違えた
小数点3桁同士で位置度の計算をさせる
=if(Xの実測値="","",SQRT(SUMSQ(X実測値-X図面寸法,Y実測値-Y図面寸法))*2)
2つ目はこうやった
小数点3桁同士で位置度の計算をさせる
=if(Xの実測値="","",SQRT(SUMSQ(X実測値-X図面寸法,Y実測値-Y図面寸法))*2)
2つ目はこうやった
679582
2020/06/09(火) 21:24:41.76ID:kJxmgxZ3680デフォルトの名無しさん
2020/06/09(火) 21:29:48.33ID:PO2SY+XL681デフォルトの名無しさん
2020/06/09(火) 21:37:07.98ID:/5vAUGTr そういう業務と無縁だからエクセル関数で計算とかほとんど知らん俺からすると
そんな数式ほんとかよと思ったら
ほんとだった
それはそれでよく考えたもんだなおい
測定をする?部署は凄いね
そんな数式ほんとかよと思ったら
ほんとだった
それはそれでよく考えたもんだなおい
測定をする?部署は凄いね
682デフォルトの名無しさん
2020/06/09(火) 21:38:09.42ID:khiSZY25683デフォルトの名無しさん
2020/06/09(火) 21:41:34.61ID:hYyeR2h+ プログラミングの基本も知らないレベルの人がコピペでツール作って業務に使用するって大丈夫なのか?
684デフォルトの名無しさん
2020/06/09(火) 21:45:05.79ID:FZrbGc0Z 少数以下の計算結果を同じにするのは、Excelでは一番難しい分野の一つ
たとえば銀行の利息とか、素人が作った数式だとまず合わない
たとえば銀行の利息とか、素人が作った数式だとまず合わない
685デフォルトの名無しさん
2020/06/09(火) 21:56:09.99ID:khiSZY25 この先も苦労するだろうし、もし重大な問題が起きた場合周りが迷惑するんだよな
686デフォルトの名無しさん
2020/06/09(火) 21:59:00.39ID:I+ooWyO2 馬鹿に教えても何かあるとまた頼るだけ
馬鹿に教えてもろくなことにならんぞ
その場で形だけ低姿勢にしてるだけで本音は違うからな
馬鹿に教えてもろくなことにならんぞ
その場で形だけ低姿勢にしてるだけで本音は違うからな
687デフォルトの名無しさん
2020/06/09(火) 22:01:59.19ID:0Bu4FXEm より正確な計算するのってcurrency型だっけ?
double使うより
double使うより
688デフォルトの名無しさん
2020/06/09(火) 22:10:25.08ID:OFRsK1Sh 向き不向き以前に学習する気が無い
689デフォルトの名無しさん
2020/06/09(火) 22:26:28.10ID:1rtAHViu 少数の計算はどの言語でやってもやっかい
なので普通は名の知れたライブラリを呼ぶ
自分で書くのは最後の手段
なので普通は名の知れたライブラリを呼ぶ
自分で書くのは最後の手段
690デフォルトの名無しさん
2020/06/09(火) 22:27:34.95ID:I+ooWyO2 >>687
違いがわからない馬鹿はコメントしなければ良いのに
違いがわからない馬鹿はコメントしなければ良いのに
691デフォルトの名無しさん
2020/06/09(火) 23:36:40.87ID:KturEXme スレチかもしれないけど他の方法も・・
>>651
VBA使わずにフォームコントロールのリスト選ぶだけで表示
https://i.imgur.com/SHqygJ1.png
>>661
HTAのVBSciptで
https://i.imgur.com/rvwycaA.png
>>651
VBA使わずにフォームコントロールのリスト選ぶだけで表示
https://i.imgur.com/SHqygJ1.png
>>661
HTAのVBSciptで
https://i.imgur.com/rvwycaA.png
692デフォルトの名無しさん
2020/06/10(水) 01:20:22.09ID:aAKpfJRW 学べない俺には刺さるわ、言い訳だが…
これだけは!っていう心臓部になるコードだけはネットで見つけて何とか繋げて作る
どこ弄ればどう変わるかだけ後で見ても絶対わかるようにコードより丁寧なコメントを残す
それさえ完成するともう安心して終わり
あとは簡単な挙動はテンプレがネットにあるからひろってくる
ユーザーフォームのボタンはで黄緑、黄色、水色を多用する
プロシージャ当てはめるだけで職場じゃパソコンの先生扱い
android端末やiPhoneの扱いならなぁ
近所でおばちゃまたちのスマホ教室を副業でやってるくらい詳しいのにっくそっ!
これだけは!っていう心臓部になるコードだけはネットで見つけて何とか繋げて作る
どこ弄ればどう変わるかだけ後で見ても絶対わかるようにコードより丁寧なコメントを残す
それさえ完成するともう安心して終わり
あとは簡単な挙動はテンプレがネットにあるからひろってくる
ユーザーフォームのボタンはで黄緑、黄色、水色を多用する
プロシージャ当てはめるだけで職場じゃパソコンの先生扱い
android端末やiPhoneの扱いならなぁ
近所でおばちゃまたちのスマホ教室を副業でやってるくらい詳しいのにっくそっ!
693デフォルトの名無しさん
2020/06/10(水) 05:20:40.78ID:9S1ZPIsx 趣味や勉強中ならわかるが仕事頼んだら理解してないネットのコピペもって来るような人にはもう頼めんだろ
694582
2020/06/10(水) 06:37:22.19ID:h6488s/K695デフォルトの名無しさん
2020/06/10(水) 08:27:35.36ID:ZDdhDfGU あいつは禿げたおっさんで体臭臭そうだけど、俺からみるとなかなか頑張ってると思うぜ
簡単な書籍買って一冊読んである程度まとまった知識得るといいわ
一年後にはここでふんぞりかえってレスしてると思うね
簡単な書籍買って一冊読んである程度まとまった知識得るといいわ
一年後にはここでふんぞりかえってレスしてると思うね
696デフォルトの名無しさん
2020/06/10(水) 16:06:12.58ID:alb8qwRt 買った本開いたの最初だけで、今は枕になってるぞ
697デフォルトの名無しさん
2020/06/10(水) 16:45:17.85ID:zxOaMDTC >>696
メルカリへ
メルカリへ
698デフォルトの名無しさん
2020/06/10(水) 17:48:53.56ID:GhRRuhdi >>696
くれ
くれ
699デフォルトの名無しさん
2020/06/10(水) 20:30:18.07ID:O8L9L3qt700デフォルトの名無しさん
2020/06/10(水) 20:43:31.30ID:O8L9L3qt なるほど、普段XとYの図面値が両方0な事も結構多い
そういうときはTextboxの1と3(XとYの図面値)のValueを0に設定しとけばいいのか
こういう事を本で基礎から学ばずスマホで調べて小ずるく終わらせるのが自分の学習性の無さ
、本当に駄目ですわ…
教えてくれた人への感謝と自分への落胆が酷い
もう生産部署に飛ばしてくれよ
そういうときはTextboxの1と3(XとYの図面値)のValueを0に設定しとけばいいのか
こういう事を本で基礎から学ばずスマホで調べて小ずるく終わらせるのが自分の学習性の無さ
、本当に駄目ですわ…
教えてくれた人への感謝と自分への落胆が酷い
もう生産部署に飛ばしてくれよ
701デフォルトの名無しさん
2020/06/10(水) 21:27:00.27ID:r05FbU6w フォームボタンを置いてそのシートで矢印押し続けるとセル移動が飛び飛びになるんだけど対処法ありますか?
とりあえずマクロ登録した図形にしたら発生しなくなったけど押した感ないから気持ち悪い
とりあえずマクロ登録した図形にしたら発生しなくなったけど押した感ないから気持ち悪い
702デフォルトの名無しさん
2020/06/10(水) 21:32:19.71ID:2cEQGA3C >>699
理解する気が無いからな
理解する気が無いからな
703デフォルトの名無しさん
2020/06/10(水) 21:34:24.10ID:2cEQGA3C >>701
本当に飛び飛びになってるかカーソル位置をdebug.printとかで確認してみろ
本当に飛び飛びになってるかカーソル位置をdebug.printとかで確認してみろ
704デフォルトの名無しさん
2020/06/10(水) 22:01:15.35ID:zJ0W6AlK705デフォルトの名無しさん
2020/06/10(水) 23:43:02.56ID:r05FbU6w706デフォルトの名無しさん
2020/06/11(木) 02:06:11.07ID:l/gRHUK3 馬鹿はこうやって厚かましく聞きだそうとする
707デフォルトの名無しさん
2020/06/11(木) 04:35:21.72ID:upd9DdGd 俺はあのおっさんはハゲで臭いけどできるやつだって思ってるわ
しゃちょーの器だ
頑張ったな、おっさん
しゃちょーの器だ
頑張ったな、おっさん
708デフォルトの名無しさん
2020/06/11(木) 05:50:14.88ID:p+d7/Y3X >>706
質問スレで何を言ってんだ?
質問スレで何を言ってんだ?
709デフォルトの名無しさん
2020/06/11(木) 07:33:56.10ID:Ppd1dcd+ 馬鹿って言いたいだけの人の相手しちゃダメ
710デフォルトの名無しさん
2020/06/11(木) 12:31:19.92ID:9UX6mR7k いや、学ばない俺でも流石にセルに反映されるボタンくらいは聞かずに作れたのでそこまでは聞いてないですよ
ボタンに
アクティブセルとテキストボックスのvalueを=の動きつけるだけだし
ボタンに
アクティブセルとテキストボックスのvalueを=の動きつけるだけだし
711デフォルトの名無しさん
2020/06/11(木) 14:46:24.05ID:xmZccwT9 その「だけ」の組み合わせなんだよなぁ
712デフォルトの名無しさん
2020/06/11(木) 15:47:31.15ID:fXLeDjMq 算数の問題で答えだけ合っていても計算式がないと正解にはならない
カンニングとみなされるって知らんのか
そうやって問題から逃げている初心者に教えることはない
カンニングとみなされるって知らんのか
そうやって問題から逃げている初心者に教えることはない
713デフォルトの名無しさん
2020/06/11(木) 15:50:35.95ID:fXLeDjMq ちょっと言いすぎたかな
714デフォルトの名無しさん
2020/06/11(木) 15:56:00.83ID:G1l0Tewu いや、それでいいんだよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- トランプ、G7に代わるcore 5を発表 [805596214]
- お前らがやってるバイト教えて
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 上司がアンパンマン体操のリズムで「アンポンタンは君か〜?」って歌うんやが
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 女だけど友達の家行こうと思ったけど車動かないんだけど
