!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part60
https://mevius.5ch.net/test/read.cgi/tech/1552736349/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
Excel VBA 質問スレ Part61
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2b2b-GhCw)
2019/04/25(木) 23:41:03.61ID:rni/4bMj0338デフォルトの名無しさん (ワッチョイ c7da-dCWx)
2019/05/25(土) 10:07:50.37ID:wPp02VNQ0339デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/25(土) 10:14:01.11ID:D2XIJyZK0 Excelに限って言えば、Excel自体に変な仕様が多い
これが男を惑わせる
これが男を惑わせる
340デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/26(日) 04:10:46.96ID:xQGdFtWrM341デフォルトの名無しさん (ワッチョイ bf02-vAXu)
2019/05/26(日) 15:23:19.13ID:/taseRUt0 以下の状態だとB1〜B3は全て1:1048576と表示されてしまいます
Cells.SpecialCellsをRange("A1").SpecialCellsに変更した場合はB1〜B3は全てA1と表示されます
Ctrl + Endで選択されるセルの番地を文字列として取得するにはどうすればいいですか?
A B
1 Sheet1 =fn(A1)
2 Sheet2 =fn(A2)
3 Sheet3 =fn(A3)
Public Function fn(sSheetName As String) As String
fn = ActiveWorkbook.Worksheets(sSheetName).Cells.SpecialCells(xlCellTypeLastCell).Address(False, False)
End Function
Cells.SpecialCellsをRange("A1").SpecialCellsに変更した場合はB1〜B3は全てA1と表示されます
Ctrl + Endで選択されるセルの番地を文字列として取得するにはどうすればいいですか?
A B
1 Sheet1 =fn(A1)
2 Sheet2 =fn(A2)
3 Sheet3 =fn(A3)
Public Function fn(sSheetName As String) As String
fn = ActiveWorkbook.Worksheets(sSheetName).Cells.SpecialCells(xlCellTypeLastCell).Address(False, False)
End Function
342デフォルトの名無しさん (ワッチョイ bf02-vAXu)
2019/05/26(日) 15:41:58.63ID:/taseRUt0 関数呼び出しではなくマクロやボタンクリックでなら問題なかったので
そっちの方法に切り替えますすみません
そっちの方法に切り替えますすみません
343デフォルトの名無しさん (ササクッテロ Sp5b-hkBF)
2019/05/27(月) 06:52:50.90ID:lha2yOvQp 入力項目を複数用意したinputboxって作れますか?
344デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 07:55:59.33ID:6csejWaN0 >>343
どんなものを考えているんだ
どんなものを考えているんだ
345デフォルトの名無しさん (ササクッテロ Sp5b-hkBF)
2019/05/27(月) 08:12:50.88ID:lha2yOvQp >>343
ごめん入力フォームじゃなくていいかも
最終的にやりたいことは、以下のボタン等が設置されたユーザーフォームを作ることです(他の要素も考えたら普通にinput boxでは無理と気づきました)
・AUTO openで開く
・押すと特定セルに文字が入力されるボタンを複数設置する
・カレンダーを設置する
・押すと印刷処理を行いつつファイルを上書き保存し閉じるボタンを設置する
ごめん入力フォームじゃなくていいかも
最終的にやりたいことは、以下のボタン等が設置されたユーザーフォームを作ることです(他の要素も考えたら普通にinput boxでは無理と気づきました)
・AUTO openで開く
・押すと特定セルに文字が入力されるボタンを複数設置する
・カレンダーを設置する
・押すと印刷処理を行いつつファイルを上書き保存し閉じるボタンを設置する
346デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/27(月) 08:30:52.72ID:jh6nOFVKM347デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/27(月) 08:37:02.21ID:jh6nOFVKM Excelの勉強不足だろ
348デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 08:47:00.50ID:6csejWaN0349デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 09:45:56.73ID:W0zr6KdF0 この程度の理解力だとカレンダーが必要かもわからない
カレンダーなんか別にシートでもできるけど、どこまで使うかがわからないから
最適な解もわからない
入力をシートに反映するなんて普通にセルを参照すればいいだけ
ExcelもVBAも1%以下の理解で動作仕様を描くのではなく結果で何をしたいかを描くべき
これでも少しおだててるが
カレンダーなんか別にシートでもできるけど、どこまで使うかがわからないから
最適な解もわからない
入力をシートに反映するなんて普通にセルを参照すればいいだけ
ExcelもVBAも1%以下の理解で動作仕様を描くのではなく結果で何をしたいかを描くべき
これでも少しおだててるが
350デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 10:37:56.08ID:6csejWaN0 おだてるの意味間違えてるよ。
351デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 10:41:41.92ID:W0zr6KdF0352デフォルトの名無しさん (ワッチョイ df01-Fpyl)
2019/05/27(月) 11:25:38.71ID:bVlhmZqp0353デフォルトの名無しさん (ブーイモ MMcb-xIO9)
2019/05/27(月) 11:44:36.09ID:dknccbkiM354デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 13:50:33.03ID:6csejWaN0 >>352
どういうパターンであれ、大体ロクでも無い物だという判定ぐらいなら可能
どういうパターンであれ、大体ロクでも無い物だという判定ぐらいなら可能
355デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/27(月) 14:00:43.29ID:zUYqf9yC0 >>345
ここの人達はマウント取りたいだけで実際はあまりスキルが無い人が大半なので程々に聞いていた方が良い。
あなたの要望については疑問が1つ、可能だけどあなたのスキルから考えて技術的に難しい点が1つある。
疑問は、AutoOpenで開いて、閉じるボタンで保存終了するのならExcelで作る必要は無いのでは?という疑問。
普通にC#辺りで作った方が適してると思う。この後に述べるけど、カレンダーの件もC#等の方が簡単。
技術的に難しいのはカレンダーの実現。
サブクラスとWin32の知識が無いと難しい。
後々を考えると汎用的にクラス作った方が良いからそういう技術も必要。
もっとも、ファイル追加とか自作するとかで良ければスキルが無くても出来るともいえる。
ここの人達はマウント取りたいだけで実際はあまりスキルが無い人が大半なので程々に聞いていた方が良い。
あなたの要望については疑問が1つ、可能だけどあなたのスキルから考えて技術的に難しい点が1つある。
疑問は、AutoOpenで開いて、閉じるボタンで保存終了するのならExcelで作る必要は無いのでは?という疑問。
普通にC#辺りで作った方が適してると思う。この後に述べるけど、カレンダーの件もC#等の方が簡単。
技術的に難しいのはカレンダーの実現。
サブクラスとWin32の知識が無いと難しい。
後々を考えると汎用的にクラス作った方が良いからそういう技術も必要。
もっとも、ファイル追加とか自作するとかで良ければスキルが無くても出来るともいえる。
356デフォルトの名無しさん (ブーイモ MMcb-xIO9)
2019/05/27(月) 14:36:42.16ID:dknccbkiM >>355
この人はマウント取りたいだけで実際はあまりスキルが無い人なので程々に聞いていた方が良い。
この人はマウント取りたいだけで実際はあまりスキルが無い人なので程々に聞いていた方が良い。
357デフォルトの名無しさん (スプッッ Sd7f-cMWe)
2019/05/27(月) 14:38:46.48ID:YnNlAtYud >>356
そうくると思ったw
そうくると思ったw
358デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 14:55:28.65ID:W0zr6KdF0 >>355
具体的に簡単にできる方法を説明してやれよ
具体的に簡単にできる方法を説明してやれよ
359デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 14:59:26.84ID:6csejWaN0360デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 15:11:18.55ID:W0zr6KdF0361デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 15:14:09.75ID:6csejWaN0362デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 15:29:12.90ID:W0zr6KdF0 >>361
だったら適当にすれば(笑)
出来ることを安易に提案することの影響を考えろよ
例えば、自動計算を止める
こんなのそのままにされたら困るほかの人いるだろ
でも単にONとOFFじゃあだめなんだよ、直前を記録して戻す
また、エラーや中止でも戻さないとな
だったら適当にすれば(笑)
出来ることを安易に提案することの影響を考えろよ
例えば、自動計算を止める
こんなのそのままにされたら困るほかの人いるだろ
でも単にONとOFFじゃあだめなんだよ、直前を記録して戻す
また、エラーや中止でも戻さないとな
363デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 15:39:29.96ID:W0zr6KdF0364デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 15:42:22.97ID:6csejWaN0 >>362>>363
韓国人?
韓国人?
365デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 15:42:59.47ID:6csejWaN0 おだてるの意味もわかってないみたいだし、韓国の方でしたか
そりゃ話も合わないな
そりゃ話も合わないな
366デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 15:44:13.29ID:W0zr6KdF0 >>364
きみはハエかカエル?
きみはハエかカエル?
367デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 15:45:54.11ID:W0zr6KdF0368デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 15:53:54.48ID:6csejWaN0 おだてる・・・w
369デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 16:04:29.34ID:6csejWaN0 これ以外の高速化ってありますか?
https://15g.jp/post-314/
https://15g.jp/post-314/
370デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/27(月) 16:27:23.36ID:aE9KPqY2M371デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 16:42:48.59ID:6csejWaN0372デフォルトの名無しさん (ブーイモ MMcb-cspy)
2019/05/27(月) 16:43:14.09ID:2J++TcAHM 再描画を止めるのは好かんな
373デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/27(月) 17:19:36.20ID:aE9KPqY2M374デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/27(月) 17:53:10.57ID:aE9KPqY2M 変更のないセルはかきかえない
変数の型をこていするかな
変数の型をこていするかな
375デフォルトの名無しさん (エムゾネ FFff-cMWe)
2019/05/27(月) 20:18:12.39ID:28fQIolrF376デフォルトの名無しさん (エムゾネ FFff-cMWe)
2019/05/27(月) 20:19:14.57ID:28fQIolrF 逆に、これで格段に速くなったら恥ずかしいと思うべきだ。
377デフォルトの名無しさん (エムゾネ FFff-cMWe)
2019/05/27(月) 20:29:10.36ID:eWpgS1rnF378デフォルトの名無しさん (ワッチョイ 877c-+q9b)
2019/05/27(月) 21:03:48.67ID:TIEuQB3m0 >>345
できるけど、一番最後の処理が事故を起こしそうだから1クッション置いた方がいいかも
できるけど、一番最後の処理が事故を起こしそうだから1クッション置いた方がいいかも
379デフォルトの名無しさん (ワッチョイ 87e6-dCWx)
2019/05/27(月) 21:13:42.01ID:Soi68xiZ0 セルというかシートは使わない
データ保存には外部バイナリファイルを読み書きする
データ保存には外部バイナリファイルを読み書きする
380デフォルトの名無しさん (ワッチョイ 877c-+q9b)
2019/05/27(月) 21:16:23.22ID:TIEuQB3m0 >>369
これは描画を抑制するからその分の時間がかからなくなるというだけなので、表示に因らない処理の速度アップはまた別だよ
これは描画を抑制するからその分の時間がかからなくなるというだけなので、表示に因らない処理の速度アップはまた別だよ
381デフォルトの名無しさん (ワッチョイ 67da-dCWx)
2019/05/27(月) 22:07:18.66ID:9GzIJnKt0 何でユーザーフォームを使うのかって?
シートに書くより格好いいからに決まってるじゃんwwwww
いや、わりとマジでそんなもんだと思いますけど。
だって、ユーザーフォームじゃなきゃ再現できないようなものって、
普通の事務処理でそんなに無いでしょ。
シートに書くより格好いいからに決まってるじゃんwwwww
いや、わりとマジでそんなもんだと思いますけど。
だって、ユーザーフォームじゃなきゃ再現できないようなものって、
普通の事務処理でそんなに無いでしょ。
382デフォルトの名無しさん (アークセー Sx5b-cVpm)
2019/05/28(火) 01:04:45.98ID:Rr62XR8Vx ワークシートのイベントに重めの処理を書いている場合、シート側のイベントを避けるためユーザーフォームで出入力制御や演算を処理させることはある
383デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 08:43:02.61ID:8P1bQTIM0 入力のしやすさとかフォームの方が良い場合もあるし、ユーザーインターフェイスとしてはフォームの方が優れている。
Excel使わずにメモ帳とCSVで事足りるってのと同じような考えの人がいるな。
Excel使わずにメモ帳とCSVで事足りるってのと同じような考えの人がいるな。
384デフォルトの名無しさん (JP 0H4f-Ha6N)
2019/05/28(火) 09:44:28.89ID:CE2aKfrCH 初心者レベルの知識で長いことVBAいじってる者なんだが、
functionプロシージャって使わなくない?
普通のsubしか使ったことない
どんな時に便利なの?
functionプロシージャって使わなくない?
普通のsubしか使ったことない
どんな時に便利なの?
385デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/28(火) 09:47:42.25ID:rhAlx8Ij0 >>384
値を返す時。便利というか必須。=sum()で値が返らなかった時の事を考えてみると良い
むしろfunctionが普通なのだ
vbaの場合、ワークシート変更しておしまいってパターンが多いから恩恵を得にくいけどね
値を返す時。便利というか必須。=sum()で値が返らなかった時の事を考えてみると良い
むしろfunctionが普通なのだ
vbaの場合、ワークシート変更しておしまいってパターンが多いから恩恵を得にくいけどね
386デフォルトの名無しさん (ワッチョイ df71-x/mB)
2019/05/28(火) 09:55:56.33ID:JWvhlEsx0 Findを利用したコードについて教えて下さい。
書籍、サイトで掲載されていたコードを利用し、少し変えたものです。
Findメソッドを使ってC列の”たろう”を検索します。
探し出したら、A〜C列の文字列をE列に結果を返すように作り替えてみましたが、結果がE1〜G1に上書きされてしまいます。
Cells(Rows,count を理解しきれていない、11行目のCells(i,”E”)の部分も理解していないと感じます。
どのように違うのか、ご指導お願いします。
ワークシートはこんなかんじ E列からG列は実行後の結果をイメージしたものです
A B C D E F G
1 日付 売上 担当者 000 AAA たろう
2 000 AAA たろう 333 DDD たろう
3 111 BBB はなこ
4 222 CCC たかし
5 333 DDD たろう
6 444 EEE はなこ
7 555 FFF くみこ
書籍、サイトで掲載されていたコードを利用し、少し変えたものです。
Findメソッドを使ってC列の”たろう”を検索します。
探し出したら、A〜C列の文字列をE列に結果を返すように作り替えてみましたが、結果がE1〜G1に上書きされてしまいます。
Cells(Rows,count を理解しきれていない、11行目のCells(i,”E”)の部分も理解していないと感じます。
どのように違うのか、ご指導お願いします。
ワークシートはこんなかんじ E列からG列は実行後の結果をイメージしたものです
A B C D E F G
1 日付 売上 担当者 000 AAA たろう
2 000 AAA たろう 333 DDD たろう
3 111 BBB はなこ
4 222 CCC たかし
5 333 DDD たろう
6 444 EEE はなこ
7 555 FFF くみこ
387デフォルトの名無しさん (ワッチョイ df71-x/mB)
2019/05/28(火) 09:56:25.54ID:JWvhlEsx0 386のつづき
Sub Find()
Dim temp As Range, tempAddress As String, i As Long
With Range("A1").CurrentRegion.Resize(, 1).Offset(, 2)
Set temp = .Find(what:=“たろう”)
If Not temp Is Nothing Then
tempAddress = temp.Address
i = Cells(Rows.Count, "E").End(xlUp).Row
Do
temp.Offset(columnoffset:=-2).Resize(, 3).copy Cells(i, "E")
Set temp = .FindNext(temp)
Loop While temp.Address <> tempAddress
End If
End With
End Sub
Sub copy()
Range("A:G").Clear
Worksheets("template").Range("A1:C7").copy Destination:=Worksheets("Sheet1").Range("A1")
End Sub
Sub Find()
Dim temp As Range, tempAddress As String, i As Long
With Range("A1").CurrentRegion.Resize(, 1).Offset(, 2)
Set temp = .Find(what:=“たろう”)
If Not temp Is Nothing Then
tempAddress = temp.Address
i = Cells(Rows.Count, "E").End(xlUp).Row
Do
temp.Offset(columnoffset:=-2).Resize(, 3).copy Cells(i, "E")
Set temp = .FindNext(temp)
Loop While temp.Address <> tempAddress
End If
End With
End Sub
Sub copy()
Range("A:G").Clear
Worksheets("template").Range("A1:C7").copy Destination:=Worksheets("Sheet1").Range("A1")
End Sub
388デフォルトの名無しさん (JP 0H4f-Ha6N)
2019/05/28(火) 10:10:54.71ID:CE2aKfrCH >>385
うーん、値を返すのは分かるんだけど、わざわざsubから取り出す意味が分からんのよ
subの中に入れちゃえば良くない?
コードが長くなる時とか、他のプロシージャにも流用したい場合なんかにfunctionで別プロシージャにしとくと分かりやすいってこと?
そういやfunctionを関数みたいに使う場合もあると聞いたな
うーん、値を返すのは分かるんだけど、わざわざsubから取り出す意味が分からんのよ
subの中に入れちゃえば良くない?
コードが長くなる時とか、他のプロシージャにも流用したい場合なんかにfunctionで別プロシージャにしとくと分かりやすいってこと?
そういやfunctionを関数みたいに使う場合もあると聞いたな
389デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/28(火) 10:32:00.95ID:P/fMeUQp0390デフォルトの名無しさん (ブーイモ MM2b-cspy)
2019/05/28(火) 11:24:47.87ID:aRCJr/ZnM391デフォルトの名無しさん (JP 0H4f-Ha6N)
2019/05/28(火) 11:26:30.05ID:CE2aKfrCH >>389
あーその説明で分かった ありがとう
たしかに今までは、動けばいいやで作ってたからコードが長くなってた
顧客コードから各データを検索する時なんか、
Cells(i,2).value=Range(Z:Z).Find(Cells(i,1)).Offset(0,5).Value
みたいなコードを10行とか書いてたわ
あーその説明で分かった ありがとう
たしかに今までは、動けばいいやで作ってたからコードが長くなってた
顧客コードから各データを検索する時なんか、
Cells(i,2).value=Range(Z:Z).Find(Cells(i,1)).Offset(0,5).Value
みたいなコードを10行とか書いてたわ
392デフォルトの名無しさん (アウアウウー Saab-DSaV)
2019/05/28(火) 12:23:13.41ID:1q3vxt7ga OutlookのVBAもここで可でしょうか?
違ったら誘導お願いします
上司へ「承認お願いします」と言った趣旨のメールを送った際、上司がボタン1つで承認する旨のメールが送れるようにしたいです
しかし複数いる上司全員にマクロの設定方法を教えるのは面倒です
私から送信するメール本文にマクロを組み込み、上司が受け取った際に本文にあるリンクを押せば(マクロを自分で設定していなくても)返信メールが自動作成されるような手法が取れればベストなのですが、そういったことは可能なのでしょうか?
違ったら誘導お願いします
上司へ「承認お願いします」と言った趣旨のメールを送った際、上司がボタン1つで承認する旨のメールが送れるようにしたいです
しかし複数いる上司全員にマクロの設定方法を教えるのは面倒です
私から送信するメール本文にマクロを組み込み、上司が受け取った際に本文にあるリンクを押せば(マクロを自分で設定していなくても)返信メールが自動作成されるような手法が取れればベストなのですが、そういったことは可能なのでしょうか?
393デフォルトの名無しさん (ブーイモ MMcf-xIO9)
2019/05/28(火) 12:47:38.41ID:i1bbppKtM >>392
ウィルスメールの作成方法きいてる様なもんだなw
ウィルスメールの作成方法きいてる様なもんだなw
394デフォルトの名無しさん (オイコラミネオ MMbb-x288)
2019/05/28(火) 12:51:48.37ID:Z4r31YmpM395デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/28(火) 13:44:15.47ID:P/fMeUQp0396デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 13:45:21.90ID:8P1bQTIM0397デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 13:48:09.91ID:8P1bQTIM0 >>392
マクロでやらなくても承認ボタンを追加する機能があった筈だが。
マクロでやらなくても承認ボタンを追加する機能があった筈だが。
398デフォルトの名無しさん (ブーイモ MMcf-xIO9)
2019/05/28(火) 13:50:35.37ID:i1bbppKtM > VBA初心者にありがちな意見だね。
はい、きょうもマウント取りたい人が来ましたよ
はい、きょうもマウント取りたい人が来ましたよ
399デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 14:01:27.19ID:8P1bQTIM0400デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 14:03:33.28ID:8P1bQTIM0 >>398
マウントも何も、明らかに初心者なんだから仕方ないだろ
マウントも何も、明らかに初心者なんだから仕方ないだろ
401デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/28(火) 14:18:44.11ID:rhAlx8Ij0 > VBA初心者にありがちな意見だね。
この部分は必要なかったんだよなぁ
この部分は必要なかったんだよなぁ
402デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 14:34:43.00ID:8P1bQTIM0 >>401
必要なんだが。
必要なんだが。
403デフォルトの名無しさん (オイコラミネオ MMbb-jqLE)
2019/05/28(火) 15:27:43.49ID:m2eXkVaQM 初心者お断りな質問スレが存在した…?
404デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/28(火) 15:33:18.00ID:rhAlx8Ij0405デフォルトの名無しさん (ワッチョイ df71-x/mB)
2019/05/28(火) 15:57:40.29ID:JWvhlEsx0406デフォルトの名無しさん (エムゾネ FFff-cMWe)
2019/05/28(火) 15:58:05.43ID:8ZgSX7bEF407デフォルトの名無しさん (エムゾネ FFff-cMWe)
2019/05/28(火) 16:01:17.83ID:8ZgSX7bEF408デフォルトの名無しさん (オッペケ Sr5b-IQeD)
2019/05/28(火) 18:23:49.73ID:PIv3udRAr i=の行をloopの中に入れる
409デフォルトの名無しさん (オッペケ Sr5b-IQeD)
2019/05/28(火) 18:25:13.81ID:PIv3udRAr その上のtempaddressも
410デフォルトの名無しさん (JP 0Hcb-n9i6)
2019/05/28(火) 18:29:24.54ID:Bg5LHkgbH マウントしてると誤解を招くような
会話しかできない奴は能力低い奴多い
他人の意見も聞かないしね。
傲慢が後に返り討ちにあう
会話しかできない奴は能力低い奴多い
他人の意見も聞かないしね。
傲慢が後に返り討ちにあう
411デフォルトの名無しさん (アウアウウー Saab-DSaV)
2019/05/28(火) 18:33:26.76ID:C7Ijh9EKa412デフォルトの名無しさん (エムゾネ FFff-cMWe)
2019/05/28(火) 19:06:09.82ID:+01nmcZGF >>410
誤解を招く前に、プライドに触ったのか碌に内容読まずに絡む奴の方がよっぽど問題だと思うが。
誤解を招く前に、プライドに触ったのか碌に内容読まずに絡む奴の方がよっぽど問題だと思うが。
413デフォルトの名無しさん (ワッチョイ 877c-+q9b)
2019/05/28(火) 19:42:52.66ID:ID0apHa80 ところでここは「Exce VBA」の質問スレ
414デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/28(火) 19:55:29.19ID:P/fMeUQp0415デフォルトの名無しさん (ワッチョイ 67da-dCWx)
2019/05/28(火) 22:28:38.54ID:6NK7Ep/b0 >>384
functionなら1行で書ける!
と思ったけど、よく見たらどっちも2行かかるな。
Dim A
A = function()
Dim A
sub(ByRef A)
functionのメリットって何だろ?
1個しか返せないし。
functionなら1行で書ける!
と思ったけど、よく見たらどっちも2行かかるな。
Dim A
A = function()
Dim A
sub(ByRef A)
functionのメリットって何だろ?
1個しか返せないし。
416デフォルトの名無しさん (ワッチョイ a78e-MZ3P)
2019/05/28(火) 22:45:21.26ID:g3Ue34fJ0 >>415
馬鹿はいい加減黙れよ
馬鹿はいい加減黙れよ
417デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/28(火) 22:46:58.82ID:exe6lUi60418デフォルトの名無しさん (ワッチョイ bf8c-cspy)
2019/05/28(火) 23:03:25.05ID:sz8y6/Um0419デフォルトの名無しさん (スプッッ Sd7f-cMWe)
2019/05/28(火) 23:15:31.12ID:MN8nEIAEd420デフォルトの名無しさん (スプッッ Sd7f-cMWe)
2019/05/28(火) 23:18:36.46ID:MN8nEIAEd >>418
むしろ
Function Hoge(Arg() As String) As String()
の方が適切かな。
或いは
Function Hoge(Arg() As String) As Collection
とか。
むしろ
Function Hoge(Arg() As String) As String()
の方が適切かな。
或いは
Function Hoge(Arg() As String) As Collection
とか。
421デフォルトの名無しさん (ワッチョイ bf8c-cspy)
2019/05/28(火) 23:45:10.83ID:sz8y6/Um0 >>419
AddressOf で関数を返すことすら出来るのだ
AddressOf で関数を返すことすら出来るのだ
422デフォルトの名無しさん (ワッチョイ c7ce-dCWx)
2019/05/28(火) 23:58:45.95ID:0rD99vo/0 IF Func() Then
とか
Loop Until Func()
なんてのがSubでは代用しにくい使い方だな (できないとは言わないが)
むしろ普通の数式で
A = Func1() + Func2() + Func3()
みたいに書きたい時の方が、Subに置き換えた時の無駄が多くなりそう
とか
Loop Until Func()
なんてのがSubでは代用しにくい使い方だな (できないとは言わないが)
むしろ普通の数式で
A = Func1() + Func2() + Func3()
みたいに書きたい時の方が、Subに置き換えた時の無駄が多くなりそう
423デフォルトの名無しさん (ワッチョイ c7ce-dCWx)
2019/05/29(水) 00:02:34.60ID:S0wmSPvZ0 2年ぐらい前にもSubとFunctionに違いなんかないと言い張る粘着がいたのを思い出した
424デフォルトの名無しさん (ワッチョイ 87e6-dCWx)
2019/05/29(水) 00:03:33.14ID:6UUzdaAE0 BASICなんだからGOTOだけで十分
425デフォルトの名無しさん (スプッッ Sd7f-cMWe)
2019/05/29(水) 00:47:16.25ID:aQ2xiGWFd >>421
おう、ここで初めて高度な話を見た。
おう、ここで初めて高度な話を見た。
426デフォルトの名無しさん (ブーイモ MMcf-e2Fz)
2019/05/29(水) 03:04:42.46ID:1woLKBVkM ・Sub
・返り値のないFunction
この違いは何ですか?
・返り値のないFunction
この違いは何ですか?
427デフォルトの名無しさん (アウアウウー Saab-m12E)
2019/05/29(水) 04:29:34.43ID:WducifPVa subじゃ1個も値返せないじゃん
428デフォルトの名無しさん (ワッチョイ df01-Fpyl)
2019/05/29(水) 05:02:37.42ID:E4T3mNp50 戻り値ないならsubでいいじゃんって話だと思うんだけど俺も一応はそう思う
昔はsubばかりで書いてた
subは単体で実行できるけどfunctionは単体では実行できないという違いがある
functionは他から呼び出さないと実行できないという意味でね。
ここからは俺の好みみたいなもんだけど、
ボタンに直結してるようなエントリーポイント的なものは
subで書いて、それ以外、特に引数を受けとって処理するものは
単体では実行できないことを明確にする意味で全てfunctionにしてる
そう論理的で整合性のある区分というわけではないんだけど。
昔はsubばかりで書いてた
subは単体で実行できるけどfunctionは単体では実行できないという違いがある
functionは他から呼び出さないと実行できないという意味でね。
ここからは俺の好みみたいなもんだけど、
ボタンに直結してるようなエントリーポイント的なものは
subで書いて、それ以外、特に引数を受けとって処理するものは
単体では実行できないことを明確にする意味で全てfunctionにしてる
そう論理的で整合性のある区分というわけではないんだけど。
429デフォルトの名無しさん (ブーイモ MMcb-cspy)
2019/05/29(水) 08:46:31.68ID:WZbm0MMEM >>428
単体で実行できるかどうかはSub/Function の差じゃなくて、引数を取る/取らないの差じゃなかったっけ?
単体で実行できるかどうかはSub/Function の差じゃなくて、引数を取る/取らないの差じゃなかったっけ?
430デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/29(水) 08:57:09.71ID:dT9QfEjx0431デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/29(水) 08:58:24.42ID:dT9QfEjx0 あと、実行可能かどうかはpublic/privateで切り分けるべきだろう
432デフォルトの名無しさん (ワッチョイ bf02-vAXu)
2019/05/29(水) 09:10:25.71ID:QQeifizk0 セルに式として関数を入力して呼べるFunctionと呼べないSub
433デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/29(水) 09:17:16.17ID:dT9QfEjx0434デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/29(水) 09:30:42.49ID:dT9QfEjx0 基本はfunction
スクリプトとして何かをさせたい時にだけsubで定義する。C言語で言うint main(){}
戻り値や引数のありなしでは切り分けない
と考えると自然と思うんだけど、どうだろう
この考えだと、private subは使うべきじゃないって事になる
スクリプトとして何かをさせたい時にだけsubで定義する。C言語で言うint main(){}
戻り値や引数のありなしでは切り分けない
と考えると自然と思うんだけど、どうだろう
この考えだと、private subは使うべきじゃないって事になる
435デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/29(水) 10:59:47.52ID:bJuQUiqr0 別に良いんだよ何を使おうと、まあ好きにすればって程度
まあ、ただ論理的に考えずごみを量産するやつはいるな
まあ、ただ論理的に考えずごみを量産するやつはいるな
436デフォルトの名無しさん (ブーイモ MMcb-dCWx)
2019/05/29(水) 11:30:55.13ID:zbMbGE8SM437デフォルトの名無しさん (ブーイモ MMcb-cspy)
2019/05/29(水) 11:31:54.96ID:WZbm0MMEM Excel長老の話って知ってる?
438デフォルトの名無しさん (ブーイモ MMcb-cspy)
2019/05/29(水) 11:32:51.36ID:WZbm0MMEM >>436
メモリ効率ってネタだよね?
メモリ効率ってネタだよね?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★5 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で ★2 [ぐれ★]
- 日経平均、49000円割れ 国賊高市を許すな ★2 [402859164]
- 高市政権「中国さん、日本はいつでも対話に応じるで」 [834922174]
- 【悲報】安倍晋三、弟子である高市早苗の暴走を止めずにひたすら静観。一体なぜ‥‥ [153736977]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 吉村はん「高市さんは発言を撤回する必要ないですよ。中国の大阪総領事が謝罪すべき」 [256556981]
