探検
Excel VBA 質問スレ Part51
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (スププ Sd4a-O827)
2017/11/08(水) 11:26:30.13ID:+KUB1/9hdスレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※関連スレ
VBAなんでも質問スレ Part2
http://mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://mevius.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 126
https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/
※前スレ
Excel VBA 質問スレ Part50
http://mevius.2ch.net/test/read.cgi/tech/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
181デフォルトの名無しさん (アウアウカー Sa49-z9KJ)
2017/11/22(水) 20:20:06.35ID:t2AK8w6Da 出来ればkまでにしたいね。
実際は思うようにいかなくて俺もnぐらいまで使ったことある。
でも1文字辞めることもある。
実際は思うようにいかなくて俺もnぐらいまで使ったことある。
でも1文字辞めることもある。
182デフォルトの名無しさん (ワッチョイ 46e9-RjUU)
2017/11/22(水) 20:57:00.17ID:fITl6ULj0183答えはI〜N (ドコグロ MM41-ZIVp)
2017/11/22(水) 21:18:19.80ID:W0SJQGiTM184デフォルトの名無しさん (ワッチョイ f9b3-6S2d)
2017/11/22(水) 21:46:50.38ID:T8s4U7Y50 最近デザパタに凝っててイテレーターパターンやってるけどなかなかいいよ
まあいかに多重ループしないかは大事だわ
まあいかに多重ループしないかは大事だわ
185デフォルトの名無しさん (ワッチョイ 02e7-GXP8)
2017/11/22(水) 21:49:25.89ID:HR2X/8WF0 イテレータと多重ループ回避って関係あったっけ?
186デフォルトの名無しさん (ワッチョイ f9b3-6S2d)
2017/11/22(水) 21:55:38.62ID:T8s4U7Y50187デフォルトの名無しさん (ワッチョイ 02e7-GXP8)
2017/11/22(水) 22:48:54.39ID:HR2X/8WF0 VBAでイテレータパターンて難しそうだ
ループをなくす、って方向の方が良さそうです。
ループをなくす、って方向の方が良さそうです。
188デフォルトの名無しさん (ワッチョイ 02e7-GXP8)
2017/11/22(水) 22:51:49.31ID:HR2X/8WF0 方向の方w
189デフォルトの名無しさん (ワッチョイ 229c-AWKa)
2017/11/22(水) 23:20:15.38ID:pTVfJfW70 Excel2010です。
文字列を引数に文字列を返すユーザ定義関数を作りました。
アドインにしてチーム内に配布しようと思ってます。
試しに新規ブックで使ってみたところ、開くたびに変更していないのに保存確認メッセージが出るようになってしまいました。
関数の中の処理を全て消しても保存確認メッセージがでます。
文字列を返すだけの関数なので、保存確認メッセージを出ないようにしたいのですが、どうすればよいでしょうか。
文字列を引数に文字列を返すユーザ定義関数を作りました。
アドインにしてチーム内に配布しようと思ってます。
試しに新規ブックで使ってみたところ、開くたびに変更していないのに保存確認メッセージが出るようになってしまいました。
関数の中の処理を全て消しても保存確認メッセージがでます。
文字列を返すだけの関数なので、保存確認メッセージを出ないようにしたいのですが、どうすればよいでしょうか。
190デフォルトの名無しさん (ワッチョイ bfe9-rwnT)
2017/11/23(木) 00:02:49.97ID:Kpe6aW6i0 >>189
中身を見ないとわからない
Function Foo(bar As Long)
Foo = bar * 2
End Function
と作ってみたけど
>開くたびに変更していないのに保存確認メッセージが出るようになってしまいました。
この減少は起きなかったよ
何か別の所に原因があると思う
中身を見ないとわからない
Function Foo(bar As Long)
Foo = bar * 2
End Function
と作ってみたけど
>開くたびに変更していないのに保存確認メッセージが出るようになってしまいました。
この減少は起きなかったよ
何か別の所に原因があると思う
191デフォルトの名無しさん (ワッチョイ 079f-6+xn)
2017/11/23(木) 06:39:11.72ID:Y2T7cP8D0 >>189
それって要するにvlookupの事?
それって要するにvlookupの事?
192デフォルトの名無しさん (ワッチョイ 7f3f-h3cN)
2017/11/23(木) 13:05:29.27ID:IQVJTYbd0 >>190
簡単に書くとこんな感じの関数です。
Function Kubun(code as string) as string
if (left(code,3) = "123") then Kubun = "A"
end function
if文が大量に続くので共通化してアドインで配布しようと思ってます。
これをKubun.xlbとしてアドインフォルダに保存しました。
新規BookでセルA1に123、セルB1に =Kubun(A1) と入力したところ
セルB1にAと表示され、関数は機能しました。
その後保存した新規Bookを開き何もせず閉じようとすると保存確認メッセージがでます。
簡単に書くとこんな感じの関数です。
Function Kubun(code as string) as string
if (left(code,3) = "123") then Kubun = "A"
end function
if文が大量に続くので共通化してアドインで配布しようと思ってます。
これをKubun.xlbとしてアドインフォルダに保存しました。
新規BookでセルA1に123、セルB1に =Kubun(A1) と入力したところ
セルB1にAと表示され、関数は機能しました。
その後保存した新規Bookを開き何もせず閉じようとすると保存確認メッセージがでます。
193デフォルトの名無しさん (ワッチョイ 5feb-g2WY)
2017/11/23(木) 13:22:13.30ID:fJlhhdGs0194デフォルトの名無しさん (ワッチョイ 7f93-ULKC)
2017/11/23(木) 13:42:02.49ID:UTTVtMan0195デフォルトの名無しさん (スップ Sd7f-cUxe)
2017/11/23(木) 14:06:43.11ID:1VQF43Qed196デフォルトの名無しさん (スップ Sd7f-cUxe)
2017/11/23(木) 14:07:06.07ID:1VQF43Qed かぶった
197デフォルトの名無しさん (ワッチョイ 7f3f-h3cN)
2017/11/23(木) 14:35:16.43ID:IQVJTYbd0 すいません。拡張子は違ったかもしれません。
198デフォルトの名無しさん (ワッチョイ 67f7-hcjg)
2017/11/23(木) 15:49:16.74ID:AvEDQSYF0199デフォルトの名無しさん (ワッチョイ 7f3f-h3cN)
2017/11/23(木) 17:02:33.93ID:IQVJTYbd0200デフォルトの名無しさん (アークセー Sxfb-ECpi)
2017/11/23(木) 17:02:38.88ID:mWIv05A8x >>114
要らない
要らない
201デフォルトの名無しさん (ワッチョイ bf9d-h3cN)
2017/11/23(木) 17:22:13.82ID:k3nQdCAx0 >>199
おそらく
A1が変わってないときに、=Kubun(A1) という式が必ず同じ値を返すという「保証」ができないので
B1セルが変更されている可能性を排除できない
ということで変更されている(可能性がある)と判断されてる
ユーザ定義関数は中身チェックしないで非決定的だって判断だな
シート開くときに再計算するかどうかのオプション設定なかったっけ?最悪手動かな
おそらく
A1が変わってないときに、=Kubun(A1) という式が必ず同じ値を返すという「保証」ができないので
B1セルが変更されている可能性を排除できない
ということで変更されている(可能性がある)と判断されてる
ユーザ定義関数は中身チェックしないで非決定的だって判断だな
シート開くときに再計算するかどうかのオプション設定なかったっけ?最悪手動かな
202デフォルトの名無しさん (ササクッテロレ Spfb-g2WY)
2017/11/23(木) 17:30:51.41ID:JDomtUrWp203デフォルトの名無しさん (ワッチョイ 7f3f-h3cN)
2017/11/23(木) 19:42:47.05ID:IQVJTYbd0204デフォルトの名無しさん (ワッチョイ 5feb-g2WY)
2017/11/23(木) 20:00:32.08ID:fJlhhdGs0 >>203
関数が呼ばれると言うことは変更されると言うことだから
保存確認ダイアログが出るのが普通
savedプロパティを変更する方法とか
calculationプロパティをマニュアルにする方法とか
方法はあるかもしれないけど
他の問題が起きるようになるかもしれない
関数が呼ばれると言うことは変更されると言うことだから
保存確認ダイアログが出るのが普通
savedプロパティを変更する方法とか
calculationプロパティをマニュアルにする方法とか
方法はあるかもしれないけど
他の問題が起きるようになるかもしれない
205デフォルトの名無しさん (ワッチョイ 078a-lrN+)
2017/11/23(木) 23:21:24.29ID:SB9DcOfL0 Application.DisplayAlerts = False
のこと?
のこと?
206デフォルトの名無しさん (ワッチョイ 27a4-cUCq)
2017/11/24(金) 11:41:27.83ID:h1FhSyIp0 質問です。Excel 2016で、Autofilerされたシートの内容を参照するために
(wsはワークシートオブジェクトです)
Debug.Print ws.AutoFilterMode →この結果は True
Debug.Print ws.AutoFilter.FilterMode →この結果も True
Dim rgFilter As Range
Set rgFilter = ws.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible)
For Each e In rgFilter
Debug.Print e
Next e
こんな感じで参照しようとしてるんですが、
参照してるシートでフィルターが掛かっていても、いなくても
同じように全件(25行なら25行)がイミディエイトに表示されます。
絞り込まれた結果のみを表示するためにはどうしたら良いのでしょうか?
(wsはワークシートオブジェクトです)
Debug.Print ws.AutoFilterMode →この結果は True
Debug.Print ws.AutoFilter.FilterMode →この結果も True
Dim rgFilter As Range
Set rgFilter = ws.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible)
For Each e In rgFilter
Debug.Print e
Next e
こんな感じで参照しようとしてるんですが、
参照してるシートでフィルターが掛かっていても、いなくても
同じように全件(25行なら25行)がイミディエイトに表示されます。
絞り込まれた結果のみを表示するためにはどうしたら良いのでしょうか?
207デフォルトの名無しさん (ワッチョイ 67f7-3JRZ)
2017/11/24(金) 11:52:22.18ID:BOT2k7iW0 >>206
Set rgFilter = ws.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
Set rgFilter = ws.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
208デフォルトの名無しさん (ワッチョイ 27a4-cUCq)
2017/11/24(金) 12:05:42.58ID:h1FhSyIp0209デフォルトの名無しさん (ワッチョイ 27a4-cUCq)
2017/11/24(金) 12:12:04.66ID:h1FhSyIp0 Dim MaxRow As Long
MaxRow = ws.Range("A" & Rows.Count).End(xlUp).row
これを追加して、
Set rgFilter = ws.Range("A1:A" & MaxRow).CurrentRegion.SpecialCells(xlCellTypeVisible)
にしてみても、結果は>>206と同じになりました。
んー謎です
MaxRow = ws.Range("A" & Rows.Count).End(xlUp).row
これを追加して、
Set rgFilter = ws.Range("A1:A" & MaxRow).CurrentRegion.SpecialCells(xlCellTypeVisible)
にしてみても、結果は>>206と同じになりました。
んー謎です
210デフォルトの名無しさん (アウアウイー Safb-2sqJ)
2017/11/24(金) 13:34:47.29ID:bxAooAvMa211デフォルトの名無しさん (イモイモ Se0f-u0W/)
2017/11/24(金) 16:52:13.42ID:x6NJ51zce Sheets("Sheet1").Columns(2).Insert Shift:=xlToLeft
Sheets("Sheet1").Columns(2).Insert Shift:=xlToRight
この二行の動作の差が分からないので
違いを教えてください
Sheets("Sheet1").Columns(2).Insert Shift:=xlToRight
この二行の動作の差が分からないので
違いを教えてください
212デフォルトの名無しさん (JP 0Heb-ULKC)
2017/11/24(金) 17:34:32.78ID:HKDmIDHRH213デフォルトの名無しさん (ワッチョイ 5f58-h3cN)
2017/11/24(金) 19:18:42.44ID:V+PY16OM0214デフォルトの名無しさん (アウアウオー Sa1f-h3cN)
2017/11/25(土) 12:49:09.41ID:roqaXNhOa エクセルVBAですがあるシートで入力し別のシートに転記するというコードを記入しているのですが
For文でやろうとするとうまくいきません。元々のシートの行が11行目から始まり転記先のシートが2行目から始まるのでネストを使って以下のようにコードを組んでみたのですが2行目の入力データが転記先のデータに2行追加されてしまいました。
1行目と2行目はそれぞれ別のデータが記述されておりそのまま転記できるようなコードにしたいです。
もしかしたら、そもそもforだとだめなのかもしれません。ちなみに入力するデータが11行目から始まり終わりは20行目で終わります。
がとりあえず繰り返し構文でできればかまいません。下記のコードをどう変えればいいか教えてください。
Sub 登録()
Set syougai = Sheets("障害記録") 'シート名にて指定しているので変更しない事
Set itigi = Sheets("一時データ") 'シート名にて指定しているので変更しない事
Const hiduke As Long = 19 '日付列の定数
Const gouki As Long = 17 '号機の列の定数
Const era As Long = 18 'エラーコードの列の定数
Const hyou1 As Long = 11 '障害集計表上の定数
Const kisyu As Long = 21
Const syuukei1 As Long = 21
For i = 2 To 3
For j = 11 To 12
itigi.Cells(i, 1).Value = syougai.Cells(j, hiduke).Value '日付
itigi.Cells(i, 2).Value = syougai.Cells(j, gouki).Value '号機
itigi.Cells(i, 3).Value = syougai.Cells(j, kisyu).Value '機種
itigi.Cells(i, 4).Value = syougai.Cells(j, era).Value 'エラーコード
itigi.Cells(i, 5).Value = syougai.Cells(j, syuukei1).Value '集計データ
i = i + 1
j = j + 1
Next j
Next i
End Sub
For文でやろうとするとうまくいきません。元々のシートの行が11行目から始まり転記先のシートが2行目から始まるのでネストを使って以下のようにコードを組んでみたのですが2行目の入力データが転記先のデータに2行追加されてしまいました。
1行目と2行目はそれぞれ別のデータが記述されておりそのまま転記できるようなコードにしたいです。
もしかしたら、そもそもforだとだめなのかもしれません。ちなみに入力するデータが11行目から始まり終わりは20行目で終わります。
がとりあえず繰り返し構文でできればかまいません。下記のコードをどう変えればいいか教えてください。
Sub 登録()
Set syougai = Sheets("障害記録") 'シート名にて指定しているので変更しない事
Set itigi = Sheets("一時データ") 'シート名にて指定しているので変更しない事
Const hiduke As Long = 19 '日付列の定数
Const gouki As Long = 17 '号機の列の定数
Const era As Long = 18 'エラーコードの列の定数
Const hyou1 As Long = 11 '障害集計表上の定数
Const kisyu As Long = 21
Const syuukei1 As Long = 21
For i = 2 To 3
For j = 11 To 12
itigi.Cells(i, 1).Value = syougai.Cells(j, hiduke).Value '日付
itigi.Cells(i, 2).Value = syougai.Cells(j, gouki).Value '号機
itigi.Cells(i, 3).Value = syougai.Cells(j, kisyu).Value '機種
itigi.Cells(i, 4).Value = syougai.Cells(j, era).Value 'エラーコード
itigi.Cells(i, 5).Value = syougai.Cells(j, syuukei1).Value '集計データ
i = i + 1
j = j + 1
Next j
Next i
End Sub
215デフォルトの名無しさん (ワッチョイ 7f81-h3cN)
2017/11/25(土) 13:36:20.17ID:fp6T8Ewd0 〉〉214
ネストの使い方間違ってると思うのですがどう直せばいいのかわかりません。
ネストの使い方間違ってると思うのですがどう直せばいいのかわかりません。
216デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/25(土) 13:39:02.15ID:Sg1k8TV00217デフォルトの名無しさん (ワッチョイ bf9f-5mWG)
2017/11/25(土) 13:55:20.06ID:QhU2UVSF0218デフォルトの名無しさん (ワッチョイ 7f81-h3cN)
2017/11/25(土) 14:08:02.51ID:fp6T8Ewd0 ありがとうございました。
できました。
できました。
219デフォルトの名無しさん (スップ Sdff-cUxe)
2017/11/25(土) 15:25:06.65ID:P/RTUJJid てか hiduke なんて変数名使うくらいなら「日付」のほうが10倍まし
220デフォルトの名無しさん (アークセー Sxfb-aTZ7)
2017/11/25(土) 17:03:29.39ID:dlgn0p0Vx そもそもVBAでやることなのかな
転記先の一時データのシートのセルに障害記録シートのセルを参照する式を書くだけで良くない?
転記先の一時データのシートのセルに障害記録シートのセルを参照する式を書くだけで良くない?
221デフォルトの名無しさん (ワッチョイ 079f-6+xn)
2017/11/25(土) 17:17:31.37ID:4suMRhlB0 変数名ぐらい自由にしてやれw
222デフォルトの名無しさん (ワッチョイ 47b3-2sqJ)
2017/11/25(土) 17:23:34.66ID:Yv0FOuti0223デフォルトの名無しさん (ワッチョイ 47b3-2sqJ)
2017/11/25(土) 17:30:52.78ID:Yv0FOuti0224デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/25(土) 17:32:47.09ID:+Jz8ZPqE0 本人できたって言ってるのにグダグダ言う奴ウザイわ
225デフォルトの名無しさん (ワッチョイ 8711-c4IJ)
2017/11/25(土) 17:35:56.02ID:ISZ6M3sb0 hidukeと日付のどちらか選べと言われたら、hidikeを選ぶ。
226デフォルトの名無しさん (スップ Sd7f-P8Uf)
2017/11/25(土) 17:37:28.74ID:S5e4mFeJd 仕事内容を記録するエクセルを作成したく、
シート名は各個人名でフォームを開くボタン設置。
登録用に必要項目をフォームで作り、転記するサンプルマクロを書いたんですが、今後必要項目が増えたり、減ったりしたときに人数分フォームを弄ったりマクロ書き換えるのは面倒ななんですけど、一個をものを共有し使用するにはどうしたらいいですか?
各個人のエクセルを開き、作ったボタンで共通のエクセルを開きフォームを開いて転記させるとか?
共通のエクセルを読み取り専用で開き書き込む時に自分のエクセルを開いて転記させるとか?
なんかうまいやり方ないですか?
シート名は各個人名でフォームを開くボタン設置。
登録用に必要項目をフォームで作り、転記するサンプルマクロを書いたんですが、今後必要項目が増えたり、減ったりしたときに人数分フォームを弄ったりマクロ書き換えるのは面倒ななんですけど、一個をものを共有し使用するにはどうしたらいいですか?
各個人のエクセルを開き、作ったボタンで共通のエクセルを開きフォームを開いて転記させるとか?
共通のエクセルを読み取り専用で開き書き込む時に自分のエクセルを開いて転記させるとか?
なんかうまいやり方ないですか?
227デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/25(土) 17:42:32.82ID:Sg1k8TV00 >>225
何が言いたいんだW
何が言いたいんだW
228デフォルトの名無しさん (ワッチョイ 47b3-g2WY)
2017/11/25(土) 17:52:49.62ID:M1jU9gED0 >>226
シート毎つまり人毎にボタンを作るなら
そのボタンをクリックした時にその人独自の値をグローバル変数とかに代入して
フォームは共通のものを呼び出す
フォームに入力されたものを書き込む時は
さっきのグローバル変数を見て
書き込み先のシートとかを特定する
シート毎つまり人毎にボタンを作るなら
そのボタンをクリックした時にその人独自の値をグローバル変数とかに代入して
フォームは共通のものを呼び出す
フォームに入力されたものを書き込む時は
さっきのグローバル変数を見て
書き込み先のシートとかを特定する
229デフォルトの名無しさん (ワッチョイ 47b3-g2WY)
2017/11/25(土) 17:53:40.22ID:M1jU9gED0 >>228
同時に複数の人がそのエクセルファイルを使わない事が前提だけど
同時に複数の人がそのエクセルファイルを使わない事が前提だけど
230デフォルトの名無しさん (スップ Sd7f-P8Uf)
2017/11/25(土) 18:31:33.42ID:S5e4mFeJd >>229
同時に開くことがあるんですよ。
同時に開くことがあるんですよ。
231デフォルトの名無しさん (ワッチョイ 5faf-5mWG)
2017/11/25(土) 18:33:58.83ID:MqKvnHus0 >>226
一つのエクセルファイルを複数人で同時に使うのはいろいろ大変だと思う。
共有共通にせず個人毎に違うファイルを使ってもらって、
仕事内容記録フォルダに入ってるファイル全てをまとめて集計するマクロを作った方がよさそ。
一つのエクセルファイルを複数人で同時に使うのはいろいろ大変だと思う。
共有共通にせず個人毎に違うファイルを使ってもらって、
仕事内容記録フォルダに入ってるファイル全てをまとめて集計するマクロを作った方がよさそ。
232デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/25(土) 18:34:51.02ID:Sg1k8TV00233デフォルトの名無しさん (ワッチョイ 47b3-2sqJ)
2017/11/25(土) 18:38:42.16ID:Yv0FOuti0 エクセルの共有はマジで地雷
運用を見直した方がいい
運用を見直した方がいい
234デフォルトの名無しさん (ササクッテロラ Spfb-g2WY)
2017/11/25(土) 19:34:05.10ID:PrfYax++p235デフォルトの名無しさん (ワッチョイ 7fb9-+V5r)
2017/11/25(土) 19:37:11.17ID:T5+qbkCf0 mdbを複数ユーザーで同時に掴めるなら、SQLでデータを投げれば動作するんじゃないの。
入力フォーム作りがクソ面倒くさいからエクセルでやるのは愚策中の愚策なのは確かだけど。
入力フォーム作りがクソ面倒くさいからエクセルでやるのは愚策中の愚策なのは確かだけど。
236デフォルトの名無しさん (ワッチョイ 079f-6+xn)
2017/11/25(土) 19:44:15.61ID:4suMRhlB0237デフォルトの名無しさん (ワッチョイ 079f-6+xn)
2017/11/25(土) 19:46:52.39ID:4suMRhlB0 どうしてもエクセルだけでやりたいなら、フォームとデータでファイル別けるべきだね
238デフォルトの名無しさん (ワッチョイ 47b3-2sqJ)
2017/11/25(土) 20:15:23.25ID:Yv0FOuti0239デフォルトの名無しさん (ワッチョイ dfeb-g2WY)
2017/11/25(土) 20:24:47.32ID:fZkth5mu0 フォームボタンをクリックした時に
グローバル変数とかに時刻なり、その人のIDなりを記録して
編集中である事が分かるようにしておく
書き込んだらクリアする
他の人がフォームボタンをクリックしたら
編集中かどうかチェックして
編集中なら後で再実行するようにダイアログを出す
グローバル変数とかに時刻なり、その人のIDなりを記録して
編集中である事が分かるようにしておく
書き込んだらクリアする
他の人がフォームボタンをクリックしたら
編集中かどうかチェックして
編集中なら後で再実行するようにダイアログを出す
240デフォルトの名無しさん (ワッチョイ 079f-6+xn)
2017/11/25(土) 20:38:06.48ID:4suMRhlB0241デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/25(土) 20:40:07.39ID:99QBz+fh0 React では、データアクセス(CRUD)部分は、
Flux の、Store という部分で、 UI とは完全に分離させている
nmp の、immutable パッケージで、データを変更不能にしたり
Flux の、Store という部分で、 UI とは完全に分離させている
nmp の、immutable パッケージで、データを変更不能にしたり
242デフォルトの名無しさん (ワッチョイ 079f-6+xn)
2017/11/25(土) 20:41:41.46ID:4suMRhlB0 日本語でおk
243デフォルトの名無しさん (アウアウカー Sadb-n8us)
2017/11/25(土) 21:19:48.45ID:d0mIe/tRa 変数名は結構考えるけどな。
普段なら辞書サイトでその意味の英単語から付けることが多い。
API使えば変数名の重要性が分かる。
普段なら辞書サイトでその意味の英単語から付けることが多い。
API使えば変数名の重要性が分かる。
244デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/25(土) 21:53:57.63ID:Sg1k8TV00245デフォルトの名無しさん (ワッチョイ 7fb9-+V5r)
2017/11/25(土) 22:00:33.02ID:T5+qbkCf0 個人的に引数含む変数名に半角英字は避けるように徹底してる。
予約語と被らなくなるし徹底すれば読みやすいしね。
一般的に、名前に半角英数使うのはコンパイラが2バイト文字対応していない事が理由なんで、
対応しているコンパイラには積極的に2バイト文字で投げた方がいい。
予約語と被らなくなるし徹底すれば読みやすいしね。
一般的に、名前に半角英数使うのはコンパイラが2バイト文字対応していない事が理由なんで、
対応しているコンパイラには積極的に2バイト文字で投げた方がいい。
246デフォルトの名無しさん (ワッチョイ 47b3-2sqJ)
2017/11/25(土) 23:35:03.26ID:Yv0FOuti0247デフォルトの名無しさん (ワッチョイ 47b3-2sqJ)
2017/11/25(土) 23:36:51.22ID:Yv0FOuti0248デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/25(土) 23:47:28.66ID:Sg1k8TV00249デフォルトの名無しさん (スプッッ Sd1f-3JRZ)
2017/11/26(日) 09:00:43.39ID:/OBEl30Ad 大事じゃない変数なんてないんだよ
みんなそれぞれに役割があって、一生懸命に生きてるんだから
みんなそれぞれに役割があって、一生懸命に生きてるんだから
250デフォルトの名無しさん (ワッチョイ 47b3-2sqJ)
2017/11/26(日) 09:30:00.33ID:ci9PkC0t0 >>248
それは違うだろ
まあ、使い捨てのテストなんかは適当にやるけど
長い変数名が嫌なのは打つのが面倒だからなんだろうけど、そもそも同じ変数が何度も出てくる時点でリファクタリングの臭いがするわけでな
それは違うだろ
まあ、使い捨てのテストなんかは適当にやるけど
長い変数名が嫌なのは打つのが面倒だからなんだろうけど、そもそも同じ変数が何度も出てくる時点でリファクタリングの臭いがするわけでな
251デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/26(日) 11:10:58.75ID:A1ZwwN/70 >>250
ローカル変数に限っていうなら、上の方がよくて下に行くにしたがって悪くなると思っている
・ローカル変数がない
・tmp とか a とか x とかいう名前で十分わかる
・適切な名前をつけることでよくわかる
・適切な名前がつけられていないことで混乱する
・適切な名前がつけられているにもかかわらず混乱する
そうだよね?
ローカル変数に限っていうなら、上の方がよくて下に行くにしたがって悪くなると思っている
・ローカル変数がない
・tmp とか a とか x とかいう名前で十分わかる
・適切な名前をつけることでよくわかる
・適切な名前がつけられていないことで混乱する
・適切な名前がつけられているにもかかわらず混乱する
そうだよね?
252デフォルトの名無しさん (ワッチョイ 27af-tzt8)
2017/11/26(日) 11:15:24.53ID:hep87Sd80 >・適切な名前をつけることでよくわかる
>・適切な名前がつけられていないことで混乱する
同じことじゃね?
>・適切な名前がつけられていないことで混乱する
同じことじゃね?
253デフォルトの名無しさん (ワッチョイ 27e3-tRV8)
2017/11/26(日) 11:16:38.23ID:KMInKg0R0 ソンタクして変数名にvarを採用
254デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/26(日) 11:24:16.70ID:A1ZwwN/70255デフォルトの名無しさん (ドコグロ MM1f-CDhT)
2017/11/26(日) 11:44:51.98ID:DTyNodR2M >>249
底辺のお前も頑張ってるもんな w
底辺のお前も頑張ってるもんな w
256デフォルトの名無しさん (ワッチョイ 67f7-3JRZ)
2017/11/26(日) 11:50:05.48ID:ApNVvKeX0257デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/26(日) 12:54:24.61ID:pGcZHtwF0258デフォルトの名無しさん (ワッチョイ 079f-6+xn)
2017/11/26(日) 12:56:36.30ID:OTnHPyYR0 VBAからどんどん離れて公開オナニーになってきた
259デフォルトの名無しさん (ワッチョイ 47b3-2sqJ)
2017/11/26(日) 13:04:15.84ID:ci9PkC0t0260デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/26(日) 13:33:08.74ID:pGcZHtwF0261デフォルトの名無しさん (ワッチョイ 47b3-2sqJ)
2017/11/26(日) 14:16:29.61ID:ci9PkC0t0262デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/26(日) 14:40:03.00ID:pGcZHtwF0263デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/26(日) 15:20:43.89ID:A1ZwwN/70264デフォルトの名無しさん (アウアウカー Sadb-tRV8)
2017/11/26(日) 16:18:08.52ID:t/ZpdAAca ( ・ω・)∩シツモーン
範囲A1:C10の値をまとめてD1:F10に代入するときにさ
直接=で結ぶと駄目で
一旦変数で
tmp=range(A1:C10).value
range(D1:F10)=tmp
とかいうふうにすればオッケーなのって何でなのん?
範囲A1:C10の値をまとめてD1:F10に代入するときにさ
直接=で結ぶと駄目で
一旦変数で
tmp=range(A1:C10).value
range(D1:F10)=tmp
とかいうふうにすればオッケーなのって何でなのん?
265デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/26(日) 16:56:09.10ID:A1ZwwN/70266デフォルトの名無しさん (ワッチョイ 5fe7-8Ex9)
2017/11/26(日) 17:06:14.25ID:A1ZwwN/70267デフォルトの名無しさん (ワッチョイ 67f7-3JRZ)
2017/11/26(日) 17:18:28.93ID:ApNVvKeX0 値のコピーは
Range("D1:F10") = Range("A1:C10").Value
Range("D1:F10") = Range("A1:C10").Value
268デフォルトの名無しさん (アウアウイー Safb-2sqJ)
2017/11/27(月) 09:03:15.77ID:3l0DMD54a 範囲が同じなら
R1.Value=R2.Valueで行けるな、普通に
Set R1=R2はなんか無理
R1=R2でいけない理由はよくわからん
RangeオブジェクトのデフォルトプロパティってValueだよね?
R1.Value=R2.Valueで行けるな、普通に
Set R1=R2はなんか無理
R1=R2でいけない理由はよくわからん
RangeオブジェクトのデフォルトプロパティってValueだよね?
269デフォルトの名無しさん (ワッチョイ bf9d-XMpE)
2017/11/27(月) 12:39:02.79ID:Hzamsy590270デフォルトの名無しさん (ワッチョイ bf9f-n8us)
2017/11/27(月) 22:21:45.18ID:HF1f2kGW0 >>268
Setを使うということはオブジェクトということだぞ。
それはRangeそのものを代入することを意味する。
A1セルにB1セルを代入など出来よう筈が無い。
A1セルのアドレスがB1?
意味不明だろ。
Setを使うということはオブジェクトということだぞ。
それはRangeそのものを代入することを意味する。
A1セルにB1セルを代入など出来よう筈が無い。
A1セルのアドレスがB1?
意味不明だろ。
271デフォルトの名無しさん (オイコラミネオ MM4f-6+xn)
2017/11/27(月) 22:54:13.44ID:scsxtpuJM indirectの悪口はそこまでだ
272デフォルトの名無しさん (ワッチョイ 5faf-5mWG)
2017/11/27(月) 23:55:45.37ID:++h0dxh80 indirectが未だに理解できない
273デフォルトの名無しさん (ワッチョイ 47b3-2sqJ)
2017/11/27(月) 23:58:34.84ID:VuuuCAGm0 >>270
rangeオブジェクトの実体はアドレス情報ってことか?
rangeオブジェクトの実体はアドレス情報ってことか?
274デフォルトの名無しさん (ワッチョイ bf9f-n8us)
2017/11/28(火) 02:02:42.04ID:+NcnLu/Q0275デフォルトの名無しさん (ワッチョイ 079f-6+xn)
2017/11/28(火) 07:27:08.64ID:ZnyBsd4x0 indirectとかsumproductとか、便利なんだけどいまいちよく解らんよな。
276デフォルトの名無しさん (ワッチョイ 078a-lrN+)
2017/11/28(火) 09:30:34.94ID:PHeqRDr40 忘れちまえよindirectの事なんか
277デフォルトの名無しさん (スップ Sd7f-cUxe)
2017/11/28(火) 09:41:03.64ID:/j8R3q5Od278デフォルトの名無しさん (アウアウイー Safb-2sqJ)
2017/11/28(火) 10:01:09.63ID:mtOclWiza >>274
いやまあ、セル同士を直接セットが無理っぽいのは何となく感覚でわかるんだが、どういう動きでそうなってんのかなーって気になるわけよ
いやまあ、セル同士を直接セットが無理っぽいのは何となく感覚でわかるんだが、どういう動きでそうなってんのかなーって気になるわけよ
279デフォルトの名無しさん (ワッチョイ 7fb9-+V5r)
2017/11/28(火) 12:43:56.96ID:ZLcA5r8L0 Range()みたいなのって返却値がRangeクラスなだけあってRange()自体は関数だから
280デフォルトの名無しさん (ワッチョイ 67f7-3JRZ)
2017/11/28(火) 14:06:44.13ID:WkhkCF1D0 Rangeオブジェクト
Rangeプロパティ
Range関数
Rangeでチン
これが区別できれば完璧
Rangeプロパティ
Range関数
Rangeでチン
これが区別できれば完璧
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 「アベノミクス」で投資対象と化したマンション ローンの低金利続き「年収の12倍」借りる20代出現 [蚤の市★]
- 食品の高騰対策、政府が交付金の「特別枠」検討 原則全ての自治体で [蚤の市★]
- 【超絶悲報】日本政府「高市さんの答弁撤回はない。政権として弱腰と映る姿勢は見せられない」これもう立憲岡田の議員辞職しかないだろ [519511584]
- 【実況】博衣こよりのえちえち朝こよ🧪
- 台湾「高市さんが台湾人の悲願を叶えてくれた!」これじゃ高市さん発言撤回できないぢゃん😰 [523957489]
- 高市周辺、さすがに焦り始めるww「小さな火種が火事になりかけている。早く鎮火しなくてはいけない」 [271912485]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
