!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:ngrqyTy20288デフォルトの名無しさん (ドコグロ MM7f-JyDu)
2020/01/11(土) 06:26:51.15ID:Uc6AtsCZM TSが時代遅れはともかくVBAはさすがにもう仕事の効率とかそういう次元の話じゃない
クレジットカードの有効期限が迫ってるようなもんだ
クレジットカードの有効期限が迫ってるようなもんだ
289デフォルトの名無しさん (アウアウウー Saa3-rY/a)
2020/01/11(土) 12:18:46.28ID:4Kbsl1epa Option Explicit
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub TableControl()
Dim ie As InternetExplorer
Dim targetURL As String: targetURL = "http://www.ikachi.org/sample/sample10.html"
Set ie = GetIEObject(targetURL)
If (ie.LocationURL = "") Then
MsgBox "Plz Open the Web page"
Exit Sub
End If
End Sub
Public Function GetIEObject(ByVal targetURL As String) As InternetExplorer
Set GetIEObject = Nothing
Dim sh As Object
Set sh = CreateObject("Shell.Application")
Dim w As Object
For Each w In sh.Windows
If (TypeOf w Is InternetExplorer) And (w.LocationURL = targetURL) Then
Set GetIEObject = w
Exit For
End If
Next
End Function
でie.LocationURL = ""でエラーが出るのですが、booleanだがらでしょうか?
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub TableControl()
Dim ie As InternetExplorer
Dim targetURL As String: targetURL = "http://www.ikachi.org/sample/sample10.html"
Set ie = GetIEObject(targetURL)
If (ie.LocationURL = "") Then
MsgBox "Plz Open the Web page"
Exit Sub
End If
End Sub
Public Function GetIEObject(ByVal targetURL As String) As InternetExplorer
Set GetIEObject = Nothing
Dim sh As Object
Set sh = CreateObject("Shell.Application")
Dim w As Object
For Each w In sh.Windows
If (TypeOf w Is InternetExplorer) And (w.LocationURL = targetURL) Then
Set GetIEObject = w
Exit For
End If
Next
End Function
でie.LocationURL = ""でエラーが出るのですが、booleanだがらでしょうか?
290デフォルトの名無しさん (ワッチョイ 7f02-elwi)
2020/01/11(土) 12:56:17.13ID:0zjnxXo90 >>289
参照設定してないんちゃう
参照設定してないんちゃう
291デフォルトの名無しさん (ワッチョイ df91-88rQ)
2020/01/11(土) 12:58:17.36ID:vlDYQNOj0 何にも分かってないバカが多い。
汎用言語は正に競合だらけだからこそ、VBAの優位性が理解出来ない。
VBAの対象となってるのは他言語じゃゴミしか出来ない。
今後、TSで同じようなことが出来るならTSに移って行くだけのこと。
汎用言語は正に競合だらけだからこそ、VBAの優位性が理解出来ない。
VBAの対象となってるのは他言語じゃゴミしか出来ない。
今後、TSで同じようなことが出来るならTSに移って行くだけのこと。
292デフォルトの名無しさん (ドコグロ MM7f-qx2z)
2020/01/11(土) 13:10:09.62ID:CiEu/gQJM293デフォルトの名無しさん (ワッチョイ df91-88rQ)
2020/01/11(土) 13:31:11.90ID:vlDYQNOj0 >>289
そもそも、これVBAのコードなの?
なんか、初心者がコピペしたんじゃないの?
個人的に間違っちゃいないけど気になるのは、InternetExplorerで宣言してるのにCreateObject使ってる所。
間違ってると思うのはTypeOf。
VBAでこんな単語使ってるの初めて見た。
構文的にこの部分でエラーにならないのにびっくりした。
どちらにしろGetIEObjectでieが空っぽで帰ってる。
そもそも、これVBAのコードなの?
なんか、初心者がコピペしたんじゃないの?
個人的に間違っちゃいないけど気になるのは、InternetExplorerで宣言してるのにCreateObject使ってる所。
間違ってると思うのはTypeOf。
VBAでこんな単語使ってるの初めて見た。
構文的にこの部分でエラーにならないのにびっくりした。
どちらにしろGetIEObjectでieが空っぽで帰ってる。
294デフォルトの名無しさん (ワッチョイ df91-88rQ)
2020/01/11(土) 13:37:40.62ID:vlDYQNOj0 一応言っておくがTypeOf自体が間違いじゃない。
こういう単語を使ったコードもあり得る。
でも自分は見たこと無いし、今回のコードもここが間違ってる。
こういう単語を使ったコードもあり得る。
でも自分は見たこと無いし、今回のコードもここが間違ってる。
295デフォルトの名無しさん (ワッチョイ df2f-JQ6m)
2020/01/11(土) 14:02:25.84ID:6iu6Iqm10 >>293-294
いや、コード的には間違ってない
>GetIEObjectでieが空っぽで帰ってる
のは間違いないけど、このコードが正しく動く前提として
IEで指定されたURLが開いてる必要があるだけ
まあ指定URLが開いていたら、下のIFがスルーされるから
示された部分だけでは何がしたいコードがよくわからんが
いや、コード的には間違ってない
>GetIEObjectでieが空っぽで帰ってる
のは間違いないけど、このコードが正しく動く前提として
IEで指定されたURLが開いてる必要があるだけ
まあ指定URLが開いていたら、下のIFがスルーされるから
示された部分だけでは何がしたいコードがよくわからんが
296デフォルトの名無しさん (ワッチョイ df2f-JQ6m)
2020/01/11(土) 14:13:44.58ID:6iu6Iqm10 一応Win10の365で動くか試したみた結果ね
つか気になってちょっと調べてみたけど
TypeOf って日本語ドキュメントに記載ないっぽいな
VBAのバージョンとかで使えないかもしれん
なんにせよShellでIE取得して操作とかお勧めしかねるけどな
つか気になってちょっと調べてみたけど
TypeOf って日本語ドキュメントに記載ないっぽいな
VBAのバージョンとかで使えないかもしれん
なんにせよShellでIE取得して操作とかお勧めしかねるけどな
297デフォルトの名無しさん (アウアウウー Saa3-rY/a)
2020/01/11(土) 16:02:20.96ID:35/vo8rZa 289です。
>> 292
すみません、エラー内容は「オブジェクト変数または With ブロック変数が設定されていません」です。
>> 293
Excel VBAでクローリング&スクレイピング(五十嵐貴之著)のP137に書かれているコードなのですが。
余りよくないのでしょうか。
>> 292
すみません、エラー内容は「オブジェクト変数または With ブロック変数が設定されていません」です。
>> 293
Excel VBAでクローリング&スクレイピング(五十嵐貴之著)のP137に書かれているコードなのですが。
余りよくないのでしょうか。
298デフォルトの名無しさん (ワッチョイ 7f01-qx2z)
2020/01/11(土) 16:36:52.33ID:AmOO0hUd0299デフォルトの名無しさん (ワッチョイ df01-qx2z)
2020/01/11(土) 16:57:09.64ID:Wvm4dwrk0 北海道のグラサンスーパーハゲザーはここにはこないのー?
300デフォルトの名無しさん (ワッチョイ df2d-Zuld)
2020/01/11(土) 18:06:59.10ID:mnvMO3uc0 キタ━━━━。゚+.ヽ(´∀`*)ノ ゚+.゚━━━━!
301デフォルトの名無しさん (ワッチョイ df40-mnsv)
2020/01/12(日) 10:23:37.27ID:GxqlSy4l0 >>298
そもそもShellWindowsオブジェクトはイテレータでIEオブジェクトを渡してるから型判定自体不要
修正版
Sub TableControl()
Const targetURL$ = "http://www.ikachi.org/sample/sample10.html"
Dim ie As InternetExplorer: Set ie = GetIEObject(targetURL)
If ie Is Nothing Then MsgBox "Plz Open the Web page": Exit Sub
'残りのコード
End Sub
Public Function GetIEObject(ByVal targetURL As String) As InternetExplorer
For Each GetIEObject In CreateObject("Shell.Application").Windows
If GetIEObject.LocationURL Like targetURL Then Exit Function
Next
Set GetIEObject = Nothing
End Function
久々に書いたから変な部分あるかもしれないが、これで一応MsgBoxは開く
個人的には、こんなややこしい事せずに普通にVBAで開いた方が確実だと思う
そもそもShellWindowsオブジェクトはイテレータでIEオブジェクトを渡してるから型判定自体不要
修正版
Sub TableControl()
Const targetURL$ = "http://www.ikachi.org/sample/sample10.html"
Dim ie As InternetExplorer: Set ie = GetIEObject(targetURL)
If ie Is Nothing Then MsgBox "Plz Open the Web page": Exit Sub
'残りのコード
End Sub
Public Function GetIEObject(ByVal targetURL As String) As InternetExplorer
For Each GetIEObject In CreateObject("Shell.Application").Windows
If GetIEObject.LocationURL Like targetURL Then Exit Function
Next
Set GetIEObject = Nothing
End Function
久々に書いたから変な部分あるかもしれないが、これで一応MsgBoxは開く
個人的には、こんなややこしい事せずに普通にVBAで開いた方が確実だと思う
302デフォルトの名無しさん (ワッチョイ 7fa3-qRB+)
2020/01/13(月) 12:47:26.86ID:Jh+AJgi90 AndAlsoってないんだっけ?
303デフォルトの名無しさん (ワッチョイ 7f01-qx2z)
2020/01/13(月) 12:51:11.64ID:nlvLw0Pz0 AndAlsoやOrElseはVB.NET
もうVB.NETでもいいからExcelに載せろよとは思う
もうVB.NETでもいいからExcelに載せろよとは思う
304デフォルトの名無しさん (アウアウエー Sa7f-G18V)
2020/01/13(月) 15:28:45.56ID:/UClz5Bsa はいネトウヨ論破wwww
現実という劇薬を投与されて憤死したなwwwww
現実という劇薬を投与されて憤死したなwwwww
305デフォルトの名無しさん (アウアウエー Sa7f-G18V)
2020/01/13(月) 15:29:12.31ID:/UClz5Bsa 誤爆したわ
306デフォルトの名無しさん (ワッチョイ 7f42-Hp8P)
2020/01/13(月) 15:35:18.58ID:v1ymyhJf0 イラン「誤爆した」
307デフォルトの名無しさん (アウアウウー Saa3-alJZ)
2020/01/13(月) 18:49:02.06ID:QiYXelOBa308デフォルトの名無しさん (ワッチョイ 7fa3-qRB+)
2020/01/14(火) 03:53:35.18ID:D4OVEYsz0 >>303
短絡評価ぇ…
短絡評価ぇ…
309デフォルトの名無しさん (ワッチョイ a9f8-otum)
2020/01/15(水) 09:32:44.41ID:8JJ3bs+B0 基本的な事ですいません。
ActiveWorkbook.SaveAs Filename:=Cells(2, 36) & yyyy & "年" & mm & "月" & dd & "日" & ".xlsm"
セル内の文章 と日付でセーブする機能を盛り込んでいます。
実行時ファイル名が変わってエラー無く、VBAが動き続けているのですが、
saveするフォルダ内に該当のエクセルファイルそのものが見当たりません。
見かけ上の問題だけか?と思い、停止してフォルダを検索しましたがエクセルファイルはありませんでした。
ActiveWorkbook.SaveAs Filenameというのは、新しく名前を付けて保存なので、中身はともかく実行されたらエクセルファイルは生成されますよね?
ActiveWorkbook.SaveAs Filename:=Cells(2, 36) & yyyy & "年" & mm & "月" & dd & "日" & ".xlsm"
セル内の文章 と日付でセーブする機能を盛り込んでいます。
実行時ファイル名が変わってエラー無く、VBAが動き続けているのですが、
saveするフォルダ内に該当のエクセルファイルそのものが見当たりません。
見かけ上の問題だけか?と思い、停止してフォルダを検索しましたがエクセルファイルはありませんでした。
ActiveWorkbook.SaveAs Filenameというのは、新しく名前を付けて保存なので、中身はともかく実行されたらエクセルファイルは生成されますよね?
310309 (ワッチョイ a9f8-otum)
2020/01/15(水) 09:49:48.07ID:8JJ3bs+B0 すいません。自己解決しました。
指定フォルダにsaveする記述がズレていただけでした。
指定フォルダにsaveする記述がズレていただけでした。
311デフォルトの名無しさん (ワッチョイ f901-mQF2)
2020/01/15(水) 19:10:48.65ID:WqIuLPSu0 あなたのハゲにサクセスしたい
312デフォルトの名無しさん (ワッチョイ 412d-DNSW)
2020/01/15(水) 21:59:00.70ID:h+QybiOr0 キタ━━━━。゚+.ヽ(´∀`*)ノ ゚+.゚━━━━!
313デフォルトの名無しさん (ワッチョイ a9cc-0hUg)
2020/01/16(木) 21:35:54.79ID:1+aO/gYN0 Excel2019で、
.ActiveWorkbook.SaveAs FileName:=FilePass, FileFormat:=51
ってやると、
'Book1' の変更内容を保存しますか?
ってダイアログが出て保存できないね。
どうしたらいいだろう?お手上げです。
.ActiveWorkbook.SaveAs FileName:=FilePass, FileFormat:=51
ってやると、
'Book1' の変更内容を保存しますか?
ってダイアログが出て保存できないね。
どうしたらいいだろう?お手上げです。
314デフォルトの名無しさん (ワッチョイ 8d7c-iIoL)
2020/01/16(木) 21:46:08.50ID:0+Ijnx150 「はい」押したらいいんでないの
315デフォルトの名無しさん (ワッチョイ a9cc-0hUg)
2020/01/16(木) 21:51:01.14ID:1+aO/gYN0316デフォルトの名無しさん (ワッチョイ 8d7c-iIoL)
2020/01/16(木) 21:56:43.44ID:0+Ijnx150 じゃあいいえ押せば
317デフォルトの名無しさん (ワッチョイ 25ce-A78j)
2020/01/16(木) 22:25:40.00ID:LhzC5ZEG0 >>315
Application.DisplayAlerts = False
Application.DisplayAlerts = False
318デフォルトの名無しさん (ワッチョイ c58a-KiTk)
2020/01/16(木) 23:46:15.85ID:zIX3nnAn0 そんなの出たっけ?
CSVだとしつこく聞いてきたような記憶があるが。
CSVだとしつこく聞いてきたような記憶があるが。
319デフォルトの名無しさん (ワッチョイ 8d7c-iIoL)
2020/01/16(木) 23:49:24.36ID:0+Ijnx150 保存せず閉じる時に出るメッセージかな
320デフォルトの名無しさん (ワントンキン MM52-j+sJ)
2020/01/17(金) 12:59:57.34ID:Os8PeLdnM321デフォルトの名無しさん (ワッチョイ c5da-HLSl)
2020/01/17(金) 19:34:06.53ID:1AQmX/Lf0 間に何かのイベントが反応して、何も変更してないのに、変更したと見なされちゃってるとか?
322デフォルトの名無しさん (ワッチョイ 25ce-A78j)
2020/01/17(金) 19:48:23.52ID:hML99gYW0 揮発性関数を使ってるとファイルをオープンしただけで変更したと見なされる
323313 (ワッチョイ a9cc-0hUg)
2020/01/17(金) 23:26:14.60ID:v8gb16450324デフォルトの名無しさん (ワッチョイ c5da-HLSl)
2020/01/18(土) 00:21:02.59ID:6wqE9Oqx0 C#ってウソだろ?
VBAの構文しか見えないが。
今はそんなことになってるのか。
VBAの構文しか見えないが。
今はそんなことになってるのか。
325デフォルトの名無しさん (ワッチョイ bd5f-0x+Z)
2020/01/18(土) 00:37:29.12ID:vFXF5Tw00 どうせC#のコード内でExcelを呼び出してるんだろうね。
326デフォルトの名無しさん (ワッチョイ 8d7c-iIoL)
2020/01/18(土) 01:13:27.38ID:kT6CUwPp0 >>323
savedは
savedは
327デフォルトの名無しさん (ワッチョイ 0259-0gFD)
2020/01/18(土) 03:37:25.77ID:QBPyK2Ke0 参照設定見直し
328デフォルトの名無しさん (ワッチョイ f901-mQF2)
2020/01/18(土) 04:11:21.84ID:SGizdn1y0 競馬やる奴、毛根をハーゲットに取り込む方法教えます
329デフォルトの名無しさん (ワッチョイ a9b0-4vOW)
2020/01/18(土) 06:07:28.94ID:Kncf6iS90 自作データベースをエクセルでも管理できるように
簡易CSV形式(つまりカンマで区切っただけ)のテキスト出力できるようにしたんだけど
文字コードがUTF-8だと自作→エクセルなら大丈夫なんだが
エクセル→自作に戻すと文字化けする。
エクセルのCSVってShift_JISでしか出せないの?
簡易CSV形式(つまりカンマで区切っただけ)のテキスト出力できるようにしたんだけど
文字コードがUTF-8だと自作→エクセルなら大丈夫なんだが
エクセル→自作に戻すと文字化けする。
エクセルのCSVってShift_JISでしか出せないの?
330デフォルトの名無しさん (ワッチョイ cdca-6zBS)
2020/01/18(土) 06:15:01.10ID:G5wl/6H20 UTF-8形式のテキストファイルに書き込む
http://officetanaka.net/excel/vba/file/file11.htm
http://officetanaka.net/excel/vba/file/file11.htm
331デフォルトの名無しさん (ワッチョイ a9b0-4vOW)
2020/01/18(土) 06:49:02.70ID:Kncf6iS90 あー最新版ならファイルメニューにあるんだな・・・
おれの2010だわ
ありがとう
おれの2010だわ
ありがとう
332313 (ワッチョイ a9cc-0hUg)
2020/01/18(土) 20:48:30.71ID:GU2jl3IU0333デフォルトの名無しさん (ワッチョイ 8d7c-iIoL)
2020/01/18(土) 22:42:14.81ID:kT6CUwPp0 >>332
残ってるのは自分がちゃんと解放してないからですな…
残ってるのは自分がちゃんと解放してないからですな…
334デフォルトの名無しさん (ワッチョイ c5da-6zBS)
2020/01/18(土) 23:05:19.33ID:6wqE9Oqx0 ADO使う時、VBAだとExcel8.0も12.0もいけるのに、VBSだと8.0しか使えない。
12.0を使おうとすると、プロバイダがないだのISAMがないだの言われる。
多分、VBAだと参照設定でADO2.8とか6.1を選べるけど、
VBSはCreateObjectで、自由に選べないのが原因じゃないかと思うんだけど、
具体的にdll指定する方法とか無い?
え? Accessの何とかコンポーネント入れろって?
会社のPCだから、使う人の分申請するの面倒なんだよ。
え? そもそもVBSスレじゃないだろって?
あっちは何か変なのが住み着いてるじゃん。クリボーみたいなAA貼って。
12.0を使おうとすると、プロバイダがないだのISAMがないだの言われる。
多分、VBAだと参照設定でADO2.8とか6.1を選べるけど、
VBSはCreateObjectで、自由に選べないのが原因じゃないかと思うんだけど、
具体的にdll指定する方法とか無い?
え? Accessの何とかコンポーネント入れろって?
会社のPCだから、使う人の分申請するの面倒なんだよ。
え? そもそもVBSスレじゃないだろって?
あっちは何か変なのが住み着いてるじゃん。クリボーみたいなAA貼って。
335デフォルトの名無しさん (ワッチョイ 25ce-A78j)
2020/01/18(土) 23:09:07.17ID:GBX9mo+x0 >>334
CreateObjectにバージョンまで書くだけ
CreateObjectにバージョンまで書くだけ
336デフォルトの名無しさん (ワッチョイ 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/GLT0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 [蚤の市★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 [蚤の市★]
- クリスマスの「予定なし」54% [少考さん★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 日銀0.75%に利上げへ、30年ぶりの水準に 19日金融政策決定会合 [蚤の市★]
- 【話題】好きな鍋は?! 「寄せ鍋」「キムチ鍋」「水炊き」「もつ鍋」「豆乳鍋」「ちゃんこ鍋」「ごま坦々鍋」「トマト鍋」 [ひぃぃ★]
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★2
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★3
- ネトウヨ「日本産のキムチは食べるけど!?😤」⇦すまんこれなんだったの?日本産キムチとか甘ったるくて不味いだろ… [271912485]
- 立憲・野田代表、内閣不信任案は提出しないと表明「高市内閣は頑張ってる。まだ発足2ヶ月だし時期尚早」と半分激励 [597533159]
- 愛国者「釘を使わない日本独自の伝統工法スゴイ!」X民「それ中国起源ですよ」→批判殺到 [834922174]
- 茶ぁしばこうや···
