!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part63
https://mevius.5ch.net/test/read.cgi/tech/1568630099/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part64
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 23d0-o7DB)
2019/12/02(月) 23:43:54.18ID:ngrqyTy20336デフォルトの名無しさん (ワッチョイ 0279-U231)
2020/01/18(土) 23:24:48.43ID:jJ2WRqDf0 気持ち悪いよねVBSスレ
死んでくれないかな誰とは言わないけど
死んでくれないかな誰とは言わないけど
337デフォルトの名無しさん (アウアウウー Sa05-6Lxe)
2020/01/18(土) 23:29:07.74ID:qFsoK61Ea >>332
エスケープでキャンセルするは?
エスケープでキャンセルするは?
338313 (ワッチョイ a9cc-0hUg)
2020/01/18(土) 23:44:31.92ID:GU2jl3IU0339デフォルトの名無しさん (ワッチョイ 022c-Sfrr)
2020/01/19(日) 00:23:37.04ID:qcodQ+dh0 普通、PowerShell, VBScript などで、
Excel, IE などを起動すると、プロセスが残る
プロセスを終了させるには、名前で調べて、終了させないといけないから、
名前が一致すれば、無関係のプロセスも、終了させられてしまうw
Excel, IE などを起動すると、プロセスが残る
プロセスを終了させるには、名前で調べて、終了させないといけないから、
名前が一致すれば、無関係のプロセスも、終了させられてしまうw
340デフォルトの名無しさん (ワッチョイ 022c-Sfrr)
2020/01/19(日) 00:27:32.31ID:qcodQ+dh0341デフォルトの名無しさん (ワッチョイ 7d35-A78j)
2020/01/19(日) 00:31:47.67ID:/KlymybO0 >VBSで、5ch をスクレイピングしたりもする
スキルとしては下の下なんだが
スキルとしては下の下なんだが
342デフォルトの名無しさん (ワッチョイ f901-mQF2)
2020/01/19(日) 01:08:44.67ID:jaXQhxpp0 あなたのハゲにサクセスしたい
343デフォルトの名無しさん (ワッチョイ 25a2-6zBS)
2020/01/19(日) 01:12:37.02ID:i5FWYGKN0 でもまともなエディタないのにスクレイピングできるってちょっとすごいと思うわ
344デフォルトの名無しさん (ワッチョイ 7d35-A78j)
2020/01/19(日) 01:28:51.78ID:/KlymybO0 >>343
そう言われてみると確かに凄い!
そう言われてみると確かに凄い!
345デフォルトの名無しさん (ワッチョイ c5da-6zBS)
2020/01/19(日) 14:51:45.20ID:SjdpeY/L0 >>335
CreateObject("ADODB.Connection.6.1")も、
CreateObject("new:{B691E011-1797-432E-907A-4D8C69339129}")もダメだったわ。
ActiveXコンポーネントを作成出来ませんって。
何がダメ?
CreateObject("ADODB.Connection.6.1")も、
CreateObject("new:{B691E011-1797-432E-907A-4D8C69339129}")もダメだったわ。
ActiveXコンポーネントを作成出来ませんって。
何がダメ?
346デフォルトの名無しさん (スプッッ Sd82-sV0n)
2020/01/19(日) 15:15:57.62ID:aNwanbWxd もういい加減IE辞めたら?
あんたの会社セキュリティ意識なさ過ぎじゃない
大丈夫なの?表の仕事はしてない会社なのか
あんたの会社セキュリティ意識なさ過ぎじゃない
大丈夫なの?表の仕事はしてない会社なのか
347デフォルトの名無しさん (ドコグロ MMca-mgaX)
2020/01/19(日) 15:59:41.27ID:GJyhHQJKM VBAを捨てられない組織がIEを捨てられるわけがないだろう
348デフォルトの名無しさん (オイコラミネオ MM29-YUdL)
2020/01/19(日) 16:26:59.69ID:Z4m11qD6M >>345
ADODB.? てのは無いんだっけ…
ADODB.? てのは無いんだっけ…
349デフォルトの名無しさん (アウアウウー Sa05-6Lxe)
2020/01/19(日) 18:16:17.91ID:ABvwSa+Qa 上司が無能
350デフォルトの名無しさん (スップ Sd82-efZq)
2020/01/19(日) 20:13:14.65ID:ex79Jb14d351デフォルトの名無しさん (ワッチョイ c5da-6zBS)
2020/01/19(日) 20:55:51.63ID:SjdpeY/L0352デフォルトの名無しさん (スプッッ Sd82-sV0n)
2020/01/19(日) 20:56:52.40ID:aNwanbWxd ActiveX
353デフォルトの名無しさん (ワッチョイ 869f-6zBS)
2020/01/19(日) 22:36:56.65ID:nXr7UDmZ0 >>106 これと同じ人なのですが、レコード番号が不正と出ます。
セルの指定が上手くいってないのだろうとはわかりますが、どうしたらいいかわかりません
すごい初歩的なとことで躓いている気がするのですがご教授ねがいます
Sub Test_Open()
Dim a As Byte
Dim strFilePath As String
strFilePath = ActiveWorkbook.Path & "\data.bin"
Open strFilePath For Binary As #1
Dim i As Integer
For i = 1 To 6
Put #1, Cells(i, 1), a
Next i
Close #1
End Sub
セルの指定が上手くいってないのだろうとはわかりますが、どうしたらいいかわかりません
すごい初歩的なとことで躓いている気がするのですがご教授ねがいます
Sub Test_Open()
Dim a As Byte
Dim strFilePath As String
strFilePath = ActiveWorkbook.Path & "\data.bin"
Open strFilePath For Binary As #1
Dim i As Integer
For i = 1 To 6
Put #1, Cells(i, 1), a
Next i
Close #1
End Sub
354デフォルトの名無しさん (ワッチョイ 25ce-A78j)
2020/01/19(日) 23:04:08.22ID:PQm/OLWJ0 >>353
For i = 1 To 6
a = Cells(i, 1)
Put #1, , a
Next
For i = 1 To 6
a = Cells(i, 1)
Put #1, , a
Next
355デフォルトの名無しさん (ワッチョイ 869f-6zBS)
2020/01/19(日) 23:34:15.88ID:nXr7UDmZ0 ありがとうございます! やっと一歩進めました
ただ最終的に、ある行の1〜数万行のデータをその数値のままバイナリデータに変換したいので
現在だと 17 なんかは 11 00 のように入力されてしまうことと
セルの Cells(i, 1) 数値の方を変更すると型の不一致と出てくることは何が原因でしょうか
小さすぎるかと思って As Byte を As Long にしてもダメでした
ただ最終的に、ある行の1〜数万行のデータをその数値のままバイナリデータに変換したいので
現在だと 17 なんかは 11 00 のように入力されてしまうことと
セルの Cells(i, 1) 数値の方を変更すると型の不一致と出てくることは何が原因でしょうか
小さすぎるかと思って As Byte を As Long にしてもダメでした
356デフォルトの名無しさん (ワッチョイ 8d7c-iIoL)
2020/01/19(日) 23:40:29.46ID:RvM5FchK0 型の範囲よく判ってないならちゃんと調べた方がいいよ
357デフォルトの名無しさん (ワッチョイ f901-mQF2)
2020/01/19(日) 23:55:33.87ID:jaXQhxpp0 あなたのハゲにサクセスしたい
358デフォルトの名無しさん (ワッチョイ 869f-6zBS)
2020/01/20(月) 00:40:12.58ID:V4ZsTE2o0 型の範囲……調べてもそう難しくなさそうなのに何故か不一致の時は不一致に
ただ、いろいろ試していたら行の指定や範囲の指定はなんとかなったんですが、
やっぱり数値が16進に置き換わってしまいます
Dim a As Byte をStringとかに変えると まあ文字列になってしまうし
ただ、いろいろ試していたら行の指定や範囲の指定はなんとかなったんですが、
やっぱり数値が16進に置き換わってしまいます
Dim a As Byte をStringとかに変えると まあ文字列になってしまうし
359デフォルトの名無しさん (ワッチョイ 25ce-A78j)
2020/01/20(月) 01:56:26.20ID:fAyYAtJL0 >>358
セルに入ってる数字は最大いくつ(何バイト分)なの?
セルに入ってる数字は最大いくつ(何バイト分)なの?
360デフォルトの名無しさん (ワッチョイ 25ce-A78j)
2020/01/20(月) 02:04:25.58ID:fAyYAtJL0 もしかして、やりたいのはこういうことか?
Sub Test_Open()
Dim a As Integer
Dim strFilePath As String
Dim i As Integer
strFilePath = ActiveWorkbook.Path & "\data.bin"
Open strFilePath For Binary As #1
For i = 1 To 6
a = Val("&H" & Cells(i, 1).Text)
Put #1, , a
Next
Close #1
End Sub
Sub Test_Open()
Dim a As Integer
Dim strFilePath As String
Dim i As Integer
strFilePath = ActiveWorkbook.Path & "\data.bin"
Open strFilePath For Binary As #1
For i = 1 To 6
a = Val("&H" & Cells(i, 1).Text)
Put #1, , a
Next
Close #1
End Sub
361デフォルトの名無しさん (ワッチョイ 869f-6zBS)
2020/01/20(月) 08:18:58.19ID:V4ZsTE2o0 お手間をかけます
セルの値は00〜FFの範囲で セルの見た目そのままをバイナリに落とし込むことを目的としています
例えば書いていただいた >>360 では
セルの値が 01 だと書き出したほうは 01 00 となるので
後ろの 00 は省いて書き込みたいと考えています
セルの値は00〜FFの範囲で セルの見た目そのままをバイナリに落とし込むことを目的としています
例えば書いていただいた >>360 では
セルの値が 01 だと書き出したほうは 01 00 となるので
後ろの 00 は省いて書き込みたいと考えています
362デフォルトの名無しさん (ワッチョイ 25ce-A78j)
2020/01/20(月) 11:15:52.64ID:fAyYAtJL0363デフォルトの名無しさん (ワッチョイ 869f-6zBS)
2020/01/20(月) 12:30:47.41ID:V4ZsTE2o0 ああ、出来ました!
i の範囲もLongにしたら数十万も対応できたので思っていたのが完成しました
長々と丁寧にお付き合いいただき、ありがとうございます!
i の範囲もLongにしたら数十万も対応できたので思っていたのが完成しました
長々と丁寧にお付き合いいただき、ありがとうございます!
364デフォルトの名無しさん (アウアウウー Sa05-6Lxe)
2020/01/21(火) 16:05:59.09ID:v6wThH4Xa >>363
エクセルの最後までいくとえらーでるんじゃね
エクセルの最後までいくとえらーでるんじゃね
365デフォルトの名無しさん (ワッチョイ 869f-6zBS)
2020/01/21(火) 18:50:01.59ID:oJaN0VWt0 実行するとめっちゃ重くなり、一度エラーがありましたが、
その時以外は、成功しています
その時以外は、成功しています
366デフォルトの名無しさん (ワッチョイ 6ef2-JESV)
2020/01/21(火) 18:53:25.76ID:G9onwGKx0 話しは変わりますが、”Microsoft Office Desktop Apps” と表示されてる方がデスクトップ版じゃなくてストアアプリ版だって本当ですか?
367デフォルトの名無しさん (ブーイモ MM6b-FqHH)
2020/01/22(水) 18:27:54.50ID:qTZNd94bM 一つのシート上の複数セルに関数が設定されています。
すべてのセルの関数の処理が一つ一つ処理されていき、最終的にすべてのセルの更新処理が終わったときに、あるマクロを動かしたいのですが、どうやればいいのでしょうか?
すべてのセルの関数の処理が一つ一つ処理されていき、最終的にすべてのセルの更新処理が終わったときに、あるマクロを動かしたいのですが、どうやればいいのでしょうか?
368デフォルトの名無しさん (ワッチョイ e7da-9rwV)
2020/01/22(水) 18:51:55.87ID:dkHhF3U80 もはやExcel大喜利だな。
369デフォルトの名無しさん (ワッチョイ c701-CT20)
2020/01/22(水) 19:00:23.17ID:BHh+OjnL0 ここには北海道のスーパーハゲザーはこないのー?
370デフォルトの名無しさん (ワッチョイ 4740-OdrL)
2020/01/22(水) 19:20:56.10ID:0xXxIRDp0 >>367
セルの関数を指定のタイミングと順番で処理したいってこと?
関数の入ったシートのEnableCalculationプロパティをFalseにして、
計算したい関数の入ったRangeのCalculateメソッドを順次呼べば一個ずつ処理できる
それで最後の関数の計算が済んだ後にマクロを実行するとか
一応関数の計算終了時に動かすマクロはシートのCalculateイベントに書いても実行できるけど、
シート全体が対象だからCalculateメソッドが走るたびに発火するから使えないと思う
セルの関数を指定のタイミングと順番で処理したいってこと?
関数の入ったシートのEnableCalculationプロパティをFalseにして、
計算したい関数の入ったRangeのCalculateメソッドを順次呼べば一個ずつ処理できる
それで最後の関数の計算が済んだ後にマクロを実行するとか
一応関数の計算終了時に動かすマクロはシートのCalculateイベントに書いても実行できるけど、
シート全体が対象だからCalculateメソッドが走るたびに発火するから使えないと思う
371デフォルトの名無しさん (ワッチョイ a761-FqHH)
2020/01/22(水) 21:36:24.98ID:ASOe66pr0 >>370
ありがとう
試してみます
自分で作った関数を引数変えて500セルくらいが呼び出す状態なんです。
んで、かなり遅くて、全部が終わるまで5分位待つことになるので、それではつかいものにならないので、高速化を図りたいのです。
ありがとう
試してみます
自分で作った関数を引数変えて500セルくらいが呼び出す状態なんです。
んで、かなり遅くて、全部が終わるまで5分位待つことになるので、それではつかいものにならないので、高速化を図りたいのです。
372デフォルトの名無しさん (アウアウエー Sa1f-Jq7D)
2020/01/22(水) 21:45:06.72ID:NTh6ute5a そろそろ python とか考えた方がいいデータ量だな
373デフォルトの名無しさん (スプッッ Sd1f-Jq7D)
2020/01/22(水) 22:07:39.73ID:u4WICNHad >>371
そういうのは、いちいちワークシートとか数式を使わずに、全部配列で処理すれば5秒で終わるよ
そういうのは、いちいちワークシートとか数式を使わずに、全部配列で処理すれば5秒で終わるよ
374デフォルトの名無しさん (ワッチョイ e7da-9rwV)
2020/01/22(水) 23:41:11.62ID:dkHhF3U80 そう思っていた時代がありました。
セルに数式とかダセェぜ、これからはSQL
セルに数式とかダセェぜ、これからはSQL
375デフォルトの名無しさん (ワッチョイ e7da-9rwV)
2020/01/22(水) 23:42:00.02ID:dkHhF3U80 だ、とか思って、DSUMのあまりの遅さに撃沈。
376デフォルトの名無しさん (アークセー Sx7b-A/Ym)
2020/01/23(木) 04:03:57.39ID:7AuSNAnix 500セルに対するETL処理だからPowerQueryでインメモリ処理すれば良いのでは
377デフォルトの名無しさん (スップ Sdff-1dWi)
2020/01/23(木) 12:47:14.66ID:TvBTmyI8d378デフォルトの名無しさん (スップ Sdff-1dWi)
2020/01/23(木) 12:48:15.57ID:TvBTmyI8d というか、普通は>>373だろ。
379デフォルトの名無しさん (ワッチョイ e78a-yq/U)
2020/01/23(木) 23:18:33.64ID:020LoGP80 dsumよりサブクエリの方が速いのが納得いかん。
あんな遅いの、何であるんだ?
俺の使い方が下手なだけで、速く使える人もいるのか?
あんな遅いの、何であるんだ?
俺の使い方が下手なだけで、速く使える人もいるのか?
380デフォルトの名無しさん (ワッチョイ 2735-Jq7D)
2020/01/24(金) 07:02:09.49ID:3ouAvGwr0381デフォルトの名無しさん (ワッチョイ c701-CT20)
2020/01/24(金) 10:44:07.60ID:H2KGzjxR0 あなたのハゲにサクセスしたい
382デフォルトの名無しさん (アウアウエー Sa1f-9rwV)
2020/01/25(土) 05:46:11.97ID:q4rx//wXa 新聞配達しながらプログラミングのこと考えてたんだが
オブジェクト指向こそプログラミング的発想の1丁目1番地で
オブジェクト指向が解らないやつは3流のクズってことで結論出ました。
オブジェクト指向こそプログラミング的発想の1丁目1番地で
オブジェクト指向が解らないやつは3流のクズってことで結論出ました。
383デフォルトの名無しさん (ワッチョイ 2735-Jq7D)
2020/01/25(土) 07:10:00.59ID:hvTbtP8U0 >>382
高評価
・プログラミングできるのに新聞配達?何も分かっていないだろうと思わせる
・コンビニ店員ではなく、新聞配達というというのも良いチョイス。考え事ができそうなイメージがある
・ただ惜しいのは「プログラミング的発想」。プログラミング的発想が原初のプログラミングを指すならさすがに手続き型になる
・恐らく元は別のコピペであることは容易に推測できる
コピペにしろ、なかなか良いチョイスではあるが、詰めが甘い
高評価
・プログラミングできるのに新聞配達?何も分かっていないだろうと思わせる
・コンビニ店員ではなく、新聞配達というというのも良いチョイス。考え事ができそうなイメージがある
・ただ惜しいのは「プログラミング的発想」。プログラミング的発想が原初のプログラミングを指すならさすがに手続き型になる
・恐らく元は別のコピペであることは容易に推測できる
コピペにしろ、なかなか良いチョイスではあるが、詰めが甘い
384デフォルトの名無しさん (ワッチョイ 8701-1Wqm)
2020/01/26(日) 10:47:31.88ID:ygprKbmU0 転記元の最終行を取得するところで1004エラーがでる
Dim fl As String
Dim WBo, Wbd As Workbook
Dim a As String
Dim ex As String
Dim syamei As String
Sub 変換ファイル選択()
syamei = Range("B3")
fl = Application.GetOpenFilename
ThisWorkbook.Worksheets(1).Range("C1") = fl
Set WBo = Workbooks.Open(fl)
MsgBox "出力先を選択"
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
a = .SelectedItems(1)
End With
With ThisWorkbook.Worksheets(1)
ex = a & "\" & .Range("B3") & "_" & Year(Now) & "_" & Month(Now) & ".xlsx"
.Range("C2") = ex
.Activate
End With
Set Wbd = Workbooks.Add
Wbd.SaveAs ex
ThisWorkbook.Worksheets(2).Activate
ActiveSheet.Copy Wbd.Worksheets(1)
ThisWorkbook.Worksheets(1).Activate
End Sub
Dim fl As String
Dim WBo, Wbd As Workbook
Dim a As String
Dim ex As String
Dim syamei As String
Sub 変換ファイル選択()
syamei = Range("B3")
fl = Application.GetOpenFilename
ThisWorkbook.Worksheets(1).Range("C1") = fl
Set WBo = Workbooks.Open(fl)
MsgBox "出力先を選択"
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
a = .SelectedItems(1)
End With
With ThisWorkbook.Worksheets(1)
ex = a & "\" & .Range("B3") & "_" & Year(Now) & "_" & Month(Now) & ".xlsx"
.Range("C2") = ex
.Activate
End With
Set Wbd = Workbooks.Add
Wbd.SaveAs ex
ThisWorkbook.Worksheets(2).Activate
ActiveSheet.Copy Wbd.Worksheets(1)
ThisWorkbook.Worksheets(1).Activate
End Sub
385デフォルトの名無しさん (ワッチョイ 8701-1Wqm)
2020/01/26(日) 10:47:38.48ID:ygprKbmU0 Sub 変換処理()
Dim Wsd As Worksheet '請求書
Dim Wso As Worksheet '転記元
Dim i As Long 'ForNext用
Dim j As Long
Dim ko As Long '個数
Dim Kohani As Range
Dim fnkohani As Range
Set Wsd = Wbd.Worksheets(1)
Set Wso = WBo.Worksheets(1)
Const Dhin = 1
Const Dtan = 2
Const Dko = 3
Const Dkin = 4
'転記元定数
Const Ohin = 4
Const Otan = 3
Wsd.Activate
With Wso
Range("E3") = Year(Now) & "/" & Month(Now)
j = 7
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(i, 1) = syamei Then
MsgBox syamei
End If
Next i
End With
End Sub
Dim Wsd As Worksheet '請求書
Dim Wso As Worksheet '転記元
Dim i As Long 'ForNext用
Dim j As Long
Dim ko As Long '個数
Dim Kohani As Range
Dim fnkohani As Range
Set Wsd = Wbd.Worksheets(1)
Set Wso = WBo.Worksheets(1)
Const Dhin = 1
Const Dtan = 2
Const Dko = 3
Const Dkin = 4
'転記元定数
Const Ohin = 4
Const Otan = 3
Wsd.Activate
With Wso
Range("E3") = Year(Now) & "/" & Month(Now)
j = 7
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(i, 1) = syamei Then
MsgBox syamei
End If
Next i
End With
End Sub
386デフォルトの名無しさん (ワッチョイ 8701-1Wqm)
2020/01/26(日) 10:48:01.26ID:ygprKbmU0 for i = のところね、なんで?
387デフォルトの名無しさん (ワッチョイ 2735-Jq7D)
2020/01/26(日) 11:12:02.47ID:byZzTIzc0388デフォルトの名無しさん (ワッチョイ e7ce-Jq7D)
2020/01/26(日) 11:21:15.83ID:vsWc/GLT0389デフォルトの名無しさん (ワッチョイ 47ad-FkkX)
2020/01/26(日) 11:33:50.54ID:JYk4qqrF0 Excel VBA初心者です。
やりたいことに似ているサンプルを読み解きながら
勉強中です。
初歩的なことで申し訳ないのですが、ご教示いただければ
ありがたいです。
クローズメソッドの説明を
https://www.tipsfound.com/vba/11006
読んででいたのですが、説明文で
Call wb.Close(SaveChanges:=True) ' 変更を保存して閉じる
Call wb.Close(SaveChanges:=False) ' 保存しないで閉じる
というのが出てきました。
Call と付いている意味がわからず、call について調べてみたの
ですが、プロシージャの呼び出しについての説明しか見つけられず
困っています。
どうぞよろしくお願いいたします。
やりたいことに似ているサンプルを読み解きながら
勉強中です。
初歩的なことで申し訳ないのですが、ご教示いただければ
ありがたいです。
クローズメソッドの説明を
https://www.tipsfound.com/vba/11006
読んででいたのですが、説明文で
Call wb.Close(SaveChanges:=True) ' 変更を保存して閉じる
Call wb.Close(SaveChanges:=False) ' 保存しないで閉じる
というのが出てきました。
Call と付いている意味がわからず、call について調べてみたの
ですが、プロシージャの呼び出しについての説明しか見つけられず
困っています。
どうぞよろしくお願いいたします。
390デフォルトの名無しさん (アークセー Sx7b-A/Ym)
2020/01/26(日) 12:13:28.33ID:QZpkq/o4x >>389
Callは引数に指定したプロジージャに制御を渡して呼び出すVB6のステートメントで使用するキーワードだよ
CallキーワードはVBAの文法上省略可能
Callを省略しない場合、呼び出すステートメントに渡す引数__ argumentlistは括弧括り・カンマ区切りの形式にしないといけない
つまり以下の二つの命令はどちらもCallステートメントで、同じ動作・効果をする
wb.Close SaveChanges:=False
Call wb.Close(SaveChanges:=False)
Callは引数に指定したプロジージャに制御を渡して呼び出すVB6のステートメントで使用するキーワードだよ
CallキーワードはVBAの文法上省略可能
Callを省略しない場合、呼び出すステートメントに渡す引数__ argumentlistは括弧括り・カンマ区切りの形式にしないといけない
つまり以下の二つの命令はどちらもCallステートメントで、同じ動作・効果をする
wb.Close SaveChanges:=False
Call wb.Close(SaveChanges:=False)
391デフォルトの名無しさん (スッップ Sd7f-APVk)
2020/01/26(日) 12:37:50.96ID:fwxC7BLNd エクセル以外はインストール出来ないって特殊会社にこき使われてる社畜は無視してその他の人はVBAなんて覚える価値は全くないから騙されるなよ
エクセルデータを読み込んで加工するなんて簡単な事
エクセルデータを読み込んで加工するなんて簡単な事
392デフォルトの名無しさん (アークセー Sx7b-A/Ym)
2020/01/26(日) 12:49:58.68ID:QZpkq/o4x 場合によりけりだろう
Excelの読み込みができる言語ならエクセルデータの加工が可能なのは事実だが、VBAが手軽なのは間違いない
今やPower Queryの操作もVBAで行えるから、VBAを呼び出し元にして複雑なデータ加工を高速で行うことも可能になってる
Excelの読み込みができる言語ならエクセルデータの加工が可能なのは事実だが、VBAが手軽なのは間違いない
今やPower Queryの操作もVBAで行えるから、VBAを呼び出し元にして複雑なデータ加工を高速で行うことも可能になってる
393デフォルトの名無しさん (ドコグロ MM3b-muPn)
2020/01/26(日) 13:53:16.01ID:Hz+a2g+VM >>389
call つかうと引数の括弧が必須になるんだよ
使わないときは括弧つけるとエラー
そんで変数=関数(引数) みたいに返り値を取る場合も括弧が必須になる
つまりcall 使うと括弧有無の記述を統一できるんだね
call つかうと引数の括弧が必須になるんだよ
使わないときは括弧つけるとエラー
そんで変数=関数(引数) みたいに返り値を取る場合も括弧が必須になる
つまりcall 使うと括弧有無の記述を統一できるんだね
394デフォルトの名無しさん (ブーイモ MMcf-zhHs)
2020/01/26(日) 15:15:52.15ID:trXW8RYwM VBAでのPower Query操作ってクソだよね
letからinまでのステップ全体がFormulaプロパティに長い文字列として収まってるだけ
vbaの貧弱な文字列操作で弄りたくない
letからinまでのステップ全体がFormulaプロパティに長い文字列として収まってるだけ
vbaの貧弱な文字列操作で弄りたくない
395デフォルトの名無しさん (スップ Sdff-1dWi)
2020/01/26(日) 15:46:06.33ID:wbtCtzSUd396デフォルトの名無しさん (スプッッ Sd7f-APVk)
2020/01/26(日) 15:49:42.04ID:QaUqszajd データの共有や統合が出来ないのがエクセルの欠点
397デフォルトの名無しさん (アウアウエー Sa1f-Jq7D)
2020/01/26(日) 17:01:12.87ID:DD0zspUIa できるけど、もう使わないだろう
398デフォルトの名無しさん (ワッチョイ c701-CT20)
2020/01/26(日) 18:03:51.13ID:H61ob1qx0 あなたのハゲにサクセスしたい
399デフォルトの名無しさん (ワッチョイ 47ad-FkkX)
2020/01/26(日) 19:14:52.64ID:JYk4qqrF0400デフォルトの名無しさん (ワッチョイ a77c-IHvl)
2020/01/26(日) 19:24:52.26ID:trMje/ic0 >>399
ここ煽りやアンチばっかだからもっとマシな場所に混ざりに行ったほうがいいよ
ここ煽りやアンチばっかだからもっとマシな場所に混ざりに行ったほうがいいよ
401デフォルトの名無しさん (アークセー Sx7b-A/Ym)
2020/01/26(日) 22:14:31.23ID:9RxiX0DDx402デフォルトの名無しさん (ワッチョイ a78e-U9mn)
2020/01/27(月) 00:51:05.27ID:X7pesRTh0 >>399
馬鹿しかいない職場か?
馬鹿しかいない職場か?
403デフォルトの名無しさん (スプッッ Sd7f-Y2bj)
2020/01/27(月) 08:07:38.79ID:l0N1pZ88d >>399
コーディング含めて1時間あれば出来そう
けど便利屋になるのだけは避けた方がいいぞ。
今後そういう処理は全部お願いってなって、雑用みたいな仕事ばっかり来るはめになる。
プログラマーは評価されにくく、いいように使われやすいから。
コードをしっかり管理して、そうならないようにな!
コーディング含めて1時間あれば出来そう
けど便利屋になるのだけは避けた方がいいぞ。
今後そういう処理は全部お願いってなって、雑用みたいな仕事ばっかり来るはめになる。
プログラマーは評価されにくく、いいように使われやすいから。
コードをしっかり管理して、そうならないようにな!
404デフォルトの名無しさん (ワッチョイ bf02-D/Lt)
2020/01/27(月) 08:22:04.82ID:UsiT3d7U0 アホな職場上司もとい老害同僚からは
仕事減るから余計な事するな
と言われる可能性も
仕事減るから余計な事するな
と言われる可能性も
405デフォルトの名無しさん (アウアウウー Sa4b-Egc/)
2020/01/27(月) 12:05:43.13ID:+n+DvrX6a 出る杭は
406デフォルトの名無しさん (ワッチョイ e7a2-9rwV)
2020/01/27(月) 12:31:00.54ID:vcCI8B5w0 まじでそういう馬鹿上司いそうで困るな
しかも外のセミナーで自動化で人件費コストカットとか吹き込まれたら躊躇なくクビ切ってきそう
しかも外のセミナーで自動化で人件費コストカットとか吹き込まれたら躊躇なくクビ切ってきそう
407デフォルトの名無しさん (ワッチョイ 475f-9rwV)
2020/01/27(月) 19:27:17.58ID:2ZMm50820 シート上に配置したコントロール(ボタンなど)の名前を調べたり変更したりするには
どうすればよいのでしょうか
シートにたくさん画像が貼り付けてあるので、それらを一斉に消去するために
Public Sub pics_delete(sname As String)
Dim delShape As Shape
For Each delShape In Worksheets(sname).Shapes
If (delShape.Name <> "btnDelete") Then
'delShape.name = btnDelete
delShape.Delete
End If
Next
End Sub
こんな感じのコードを書いているのですが、配置したボタンの名前をワークシート上で
参照/変更することが出来ません
仕方ないので、一旦全てのシェイプが消えたあと再度ボタンを配置して、上記プログラムの
コメント部分を切り替えています
プロパティを見ても、オブジェクトとしてワークシートが選択されてしまうようで、ボタンを
選択した状態でプロパティを見てもボタンの情報が参照できません
どうすればよいのでしょうか
シートにたくさん画像が貼り付けてあるので、それらを一斉に消去するために
Public Sub pics_delete(sname As String)
Dim delShape As Shape
For Each delShape In Worksheets(sname).Shapes
If (delShape.Name <> "btnDelete") Then
'delShape.name = btnDelete
delShape.Delete
End If
Next
End Sub
こんな感じのコードを書いているのですが、配置したボタンの名前をワークシート上で
参照/変更することが出来ません
仕方ないので、一旦全てのシェイプが消えたあと再度ボタンを配置して、上記プログラムの
コメント部分を切り替えています
プロパティを見ても、オブジェクトとしてワークシートが選択されてしまうようで、ボタンを
選択した状態でプロパティを見てもボタンの情報が参照できません
408デフォルトの名無しさん (ワッチョイ a77c-IHvl)
2020/01/27(月) 19:50:12.48ID:0hVuFT9Z0409デフォルトの名無しさん (ワッチョイ 475f-9rwV)
2020/01/27(月) 20:35:24.91ID:2ZMm50820410デフォルトの名無しさん (アークセー Sx7b-A/Ym)
2020/01/27(月) 20:37:54.19ID:KoUrFee7x >>409
だから、フォームコントロールとActiveXコントロールのどっちなの
だから、フォームコントロールとActiveXコントロールのどっちなの
411デフォルトの名無しさん (ワッチョイ 475f-9rwV)
2020/01/27(月) 21:01:21.61ID:2ZMm50820 >>410
失礼、フォームコントロールでした
失礼、フォームコントロールでした
412デフォルトの名無しさん (アークセー Sx7b-A/Ym)
2020/01/28(火) 07:51:36.53ID:C+B4t99Kx >>411
名前を調べるなんて煩瑣な処理にしなくても、フォームコントロールだけを消さずに画像だけを消したいなら下のようにやれば良いのでは
Public Sub pics_delete(sname As String)
Dim delShape As Shape
For Each delShape In Worksheets(sname).Shapes
With delShape
If .Type <> msoFormControl Then
If .Type = msoPicture Then .Delete
End If
End With
Next delShape
End Sub
delShape.Typeで取得できる図形タイプを表す定数値がMsoShapeType.msoFormControlだったらフォームコントロール、MsoShapeType.msoPictureだったら画像だと判断するようにする
他にも消したいタイプの図形があるなら削除判定の箇所で任意のMsoShapeType列挙体に当てはまるかType属性を持っているかどうかを判定させたら良い
名前を調べるなんて煩瑣な処理にしなくても、フォームコントロールだけを消さずに画像だけを消したいなら下のようにやれば良いのでは
Public Sub pics_delete(sname As String)
Dim delShape As Shape
For Each delShape In Worksheets(sname).Shapes
With delShape
If .Type <> msoFormControl Then
If .Type = msoPicture Then .Delete
End If
End With
Next delShape
End Sub
delShape.Typeで取得できる図形タイプを表す定数値がMsoShapeType.msoFormControlだったらフォームコントロール、MsoShapeType.msoPictureだったら画像だと判断するようにする
他にも消したいタイプの図形があるなら削除判定の箇所で任意のMsoShapeType列挙体に当てはまるかType属性を持っているかどうかを判定させたら良い
413デフォルトの名無しさん (ワッチョイ bff7-muPn)
2020/01/28(火) 09:01:31.91ID:Ft5XlNEA0414デフォルトの名無しさん (アウアウエー Sa1f-9rwV)
2020/01/28(火) 09:48:07.01ID:9/9sPnJua 終わりの鐘は鳴り響いた
https://ascii.jp/elem/000/004/000/4000725/
https://ascii.jp/elem/000/004/000/4000725/
415デフォルトの名無しさん (ドコグロ MM1f-9ipO)
2020/01/28(火) 10:02:58.52ID:Nfh+nWpkM あとは新しいVBAウィルスが出てセキュリティ業者が騒いだらVBAは本当に終わりだな
416デフォルトの名無しさん (ワッチョイ 4740-OdrL)
2020/01/28(火) 10:46:16.03ID:ih37tboE0 >>414
それ前にも貼られたけど、今までのとの違いが分からんのだが
それ前にも貼られたけど、今までのとの違いが分からんのだが
417デフォルトの名無しさん (オイコラミネオ MMdb-RemH)
2020/01/28(火) 15:16:34.29ID:oKycYjGsM >>414
VBAでもできる範疇なら全く覚える気起こらん
VBAでもできる範疇なら全く覚える気起こらん
418デフォルトの名無しさん (ワッチョイ e7da-Egc/)
2020/01/28(火) 17:56:01.82ID:WltGdJqx0 覚えてないことはできるかどうかも判断できない
419デフォルトの名無しさん (ワッチョイ 475f-9rwV)
2020/01/28(火) 18:12:38.87ID:OkfjSvr+0420デフォルトの名無しさん (ドコグロ MM1f-CT20)
2020/01/28(火) 18:28:16.91ID:jS595giQM421デフォルトの名無しさん (スッップ Sd0a-HEKX)
2020/01/29(水) 10:51:07.25ID:QiJT1T/Bd422デフォルトの名無しさん (ワッチョイ 5d2f-KoMo)
2020/01/29(水) 20:53:08.43ID:WcpQW9dq0 まったく同じことしかできないなら乗り換える要素がない
423デフォルトの名無しさん (スッップ Sd0a-HEKX)
2020/01/29(水) 21:53:26.65ID:QiJT1T/Bd 全く同じことができるなら、新規に憶えるだけじゃん。
それはこっちの労力だけで済む。
今後移行していくとすればその程度大した問題じゃない。
今まで他言語では出来なかったり、不便だったからVBAを使っていたわけでね。
それはこっちの労力だけで済む。
今後移行していくとすればその程度大した問題じゃない。
今まで他言語では出来なかったり、不便だったからVBAを使っていたわけでね。
424デフォルトの名無しさん (ワッチョイ ea01-CWn9)
2020/01/29(水) 22:24:20.41ID:PCXIkBj+0 >>422
同じことが楽にできるなら乗り換える理由になるでしょ?
同じことが楽にできるなら乗り換える理由になるでしょ?
425デフォルトの名無しさん (ワッチョイ f1ce-unxX)
2020/01/29(水) 23:05:27.98ID:vXudwKK20 今までと同じことをするだけなら、今までに書いたコードをそのまま使い回すのが一番楽だよな
わざわざ書き直す手間はだれが負担するんだ
わざわざ書き直す手間はだれが負担するんだ
426デフォルトの名無しさん (アウアウウー Sa21-jaaY)
2020/01/29(水) 23:12:48.36ID:KmqvK0eda427デフォルトの名無しさん (ワッチョイ 6935-unxX)
2020/01/29(水) 23:27:08.67ID:/IekKsgr0 sheet("sheet1").select!
さよか〜
個人的にはjQueryが一番嬉しい
あれ、記述が超絶楽ちんなんだよ。cssセレクタとかExcel vbaと感覚的にかなり似てる部分があると思う
$("sheets!").cell(1,2).backgroundcolor("red")
とかね
と書きながら思ったけどこれ別に言語買える必要ないな
googleのapps scriptは冗長でかなりめんどくさい
強制的にアドイン扱いだしタイプが長い
さよか〜
個人的にはjQueryが一番嬉しい
あれ、記述が超絶楽ちんなんだよ。cssセレクタとかExcel vbaと感覚的にかなり似てる部分があると思う
$("sheets!").cell(1,2).backgroundcolor("red")
とかね
と書きながら思ったけどこれ別に言語買える必要ないな
googleのapps scriptは冗長でかなりめんどくさい
強制的にアドイン扱いだしタイプが長い
428デフォルトの名無しさん (スッップ Sd0a-HEKX)
2020/01/30(木) 01:32:32.11ID:OC7VpsKDd429デフォルトの名無しさん (スッップ Sd0a-HEKX)
2020/01/30(木) 01:33:34.48ID:OC7VpsKDd >>426
君のコードは大したことやってないの間違いじゃね?
君のコードは大したことやってないの間違いじゃね?
430デフォルトの名無しさん (アウアウエー Sa52-/fp1)
2020/01/30(木) 08:06:07.77ID:c+cMZ6b7a ぶったけインテリセンス次第なんだよなぁ
javascriptでインテリセンスが優秀なら移らない理由ないし
インテリセンスが不自由ならVBAやめないし
javascriptでインテリセンスが優秀なら移らない理由ないし
インテリセンスが不自由ならVBAやめないし
431デフォルトの名無しさん (ドコグロ MM6d-jaaY)
2020/01/30(木) 08:13:50.21ID:wtwPJonTM >>429
VBAに大したことやらせなきゃいけないなら設計ミスだよ
VBAに大したことやらせなきゃいけないなら設計ミスだよ
432デフォルトの名無しさん (オイコラミネオ MM92-zWbH)
2020/01/30(木) 18:17:30.68ID:Pn/eUKFJM VBAで大したことやっちゃいかんでしょ
433デフォルトの名無しさん (アウアウエー Sa52-/fp1)
2020/01/30(木) 18:33:44.35ID:dbuen9v3a 自分の仕事の範囲で統計解析とかやるけどな
434デフォルトの名無しさん (ドコグロ MMb1-jaaY)
2020/01/30(木) 18:53:21.09ID:wB7TmKf3M それがPythonだったら同じことやってても倍の年収貰えるのにもったいない
435デフォルトの名無しさん (ワッチョイ 79b0-Afy/)
2020/01/31(金) 00:09:52.88ID:vDcmNEzT0 jQueryももう大分レガシー扱いだぞ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 【テレビ】粗品「THE W」バッサリ「おもんない、レベル低い」審査員就任で「日テレが“血の海”に…」 [湛然★]
- 女も昔は精子だったんだな
- 【未確認生ハメ情報】安倍晋三が高市早苗氏とチョメチョメしていたという噂が囁かれる。 [928194223]
- 【画像】地方局の女子アナさん、朝からエッチなおパンツを全国放送されてしまう😍
- 最近朝に暇だからラヴィット!見てるけど(´・ω・`)
- 【悲報】女さん「ハローワークで仕事を探してる3-40代の中年男性いるでしょ。あれ何?」 [483447288]
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
