!extend:checked:vvvvv:1000:512
スレ立ての際は一行目に
!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 質問スレ Part49©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1498410914/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
Excel VBA 質問スレ Part50 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 7e6d-ffY6)
2017/08/27(日) 12:40:17.57ID:LjjEWylk02デフォルトの名無しさん (ワッチョイ a511-P7rv)
2017/08/27(日) 13:54:51.09ID:jYGHj9310 いちおつしないとおちちゃうよ
3デフォルトの名無しさん (ワッチョイ ed6f-2x4P)
2017/08/27(日) 15:00:10.00ID:e4TdDFEN04デフォルトの名無しさん (アウアウウー Sa91-xxBf)
2017/08/27(日) 16:42:30.51ID:TgR8VSWoa 初心者です。お時間がありましたら、アドバイス願います。
「自分のペースでゆったり学ぶ EXCEL VBA」という本を使って
勉強しています。シートを任意の場所にコピーするという項目で、
エラーが出てしまいます。
Sub 納品書シート作成()
ThisWorkbook.Worksheets("納品書").Copy _
After := ThisWorkbook.Worksheets(3)
End Sub
これを実行すると、「修正候補:式」と出て、「After :=」の部分が赤色になります。
何が問題なのでしょうか。よろしければ教えてください。
EXCEL2010を使用しております。
「自分のペースでゆったり学ぶ EXCEL VBA」という本を使って
勉強しています。シートを任意の場所にコピーするという項目で、
エラーが出てしまいます。
Sub 納品書シート作成()
ThisWorkbook.Worksheets("納品書").Copy _
After := ThisWorkbook.Worksheets(3)
End Sub
これを実行すると、「修正候補:式」と出て、「After :=」の部分が赤色になります。
何が問題なのでしょうか。よろしければ教えてください。
EXCEL2010を使用しております。
5デフォルトの名無しさん (ワッチョイ 4a06-oKtA)
2017/08/27(日) 17:08:53.71ID:WmqrsSrM0 >>4
こっちも2010
そのプロシージャまんまコピーして(勿論「納品書」シートも作って)実行したけど正常終了
念のためワークシート数を2枚にして実行すればエラーになるけどそれはインデックスが有効な範囲にないというエラーで
そちらのエラーにはならない。
一応確認しておくけど、VBEditorの画面で上のデバッグ(D)からコンパイルをしてエラーは無い?
こっちも2010
そのプロシージャまんまコピーして(勿論「納品書」シートも作って)実行したけど正常終了
念のためワークシート数を2枚にして実行すればエラーになるけどそれはインデックスが有効な範囲にないというエラーで
そちらのエラーにはならない。
一応確認しておくけど、VBEditorの画面で上のデバッグ(D)からコンパイルをしてエラーは無い?
6デフォルトの名無しさん (ワッチョイ fe6d-VVOB)
2017/08/27(日) 17:09:02.52ID:LjjEWylk0 >>4
時間がないやつは最初からアドバイスなんて出来ない。読むのめんどくさいだけだからそういう社交辞令は書かないほうが良い
で、2010だけどエラーが出なかった。式はおかしくないはず
Worksheets(3) は、3つめのシートを表す。シートが3つ以下だとエラーが立つが、その場合は「インデックス~」のエラーになる
もし可能ならブックごとアップロードしてほしい
時間がないやつは最初からアドバイスなんて出来ない。読むのめんどくさいだけだからそういう社交辞令は書かないほうが良い
で、2010だけどエラーが出なかった。式はおかしくないはず
Worksheets(3) は、3つめのシートを表す。シートが3つ以下だとエラーが立つが、その場合は「インデックス~」のエラーになる
もし可能ならブックごとアップロードしてほしい
7デフォルトの名無しさん (ワッチョイ a511-P7rv)
2017/08/27(日) 17:42:10.42ID:jYGHj9310 >>4
改行のアンダーバーの前にスペース入れ忘れてるとかそんなんは?
改行のアンダーバーの前にスペース入れ忘れてるとかそんなんは?
8デフォルトの名無しさん (アウアウウー Sa91-xxBf)
2017/08/27(日) 18:33:58.27ID:TgR8VSWoa >5,6,7
ありがとうございます。
デバックというのを試してみましたが、同じような結果になります。
ファイルをアップロードしてみました。Dkeyは1111です。
http://www.dotup.org/uploda/www.dotup.org1351357.xlsx.html
ありがとうございます。
デバックというのを試してみましたが、同じような結果になります。
ファイルをアップロードしてみました。Dkeyは1111です。
http://www.dotup.org/uploda/www.dotup.org1351357.xlsx.html
9デフォルトの名無しさん (ワッチョイ fe6d-iRjW)
2017/08/27(日) 18:52:31.15ID:LjjEWylk010デフォルトの名無しさん (ワッチョイ ed6f-2x4P)
2017/08/27(日) 19:12:47.61ID:e4TdDFEN0 >>8
マクロを含むファイルは xlsm で保存しないとダメじゃね?
マクロを含むファイルは xlsm で保存しないとダメじゃね?
11デフォルトの名無しさん (アウアウカー Sa85-HXRX)
2017/08/27(日) 19:19:16.69ID:uEidIgYqa うむ。
xlsxで保存するとマクロが消えるよ。
xlsxで保存するとマクロが消えるよ。
12デフォルトの名無しさん (ワッチョイ 868f-vgeI)
2017/08/27(日) 20:15:32.32ID:HYoDzU2+013デフォルトの名無しさん (ワッチョイ 4a06-oKtA)
2017/08/27(日) 22:32:38.03ID:WmqrsSrM0 >>8
まず最初にエクスプローラーのツール→フォルダーオプションの
表示タブで”登録されている拡張子は表示しない”のチェック外せ。
んで、拡張子xlsxとxlsmの違いについてVBAのその入門書の最初から読んで
勉強し直せ
まず最初にエクスプローラーのツール→フォルダーオプションの
表示タブで”登録されている拡張子は表示しない”のチェック外せ。
んで、拡張子xlsxとxlsmの違いについてVBAのその入門書の最初から読んで
勉強し直せ
14デフォルトの名無しさん (ワッチョイ 392c-0bAf)
2017/08/27(日) 23:11:29.74ID:y/dGwO3j0 vbaってpcのスペック関係あるん?
オフィス2010の32ビットでメモリー4gで全てのシートの枠線を一括して色変えろってのをやってるけど
すぐ動作しなくなるんだよね、俺のマクロが可笑しく書いてるだけかな
オフィス2010の32ビットでメモリー4gで全てのシートの枠線を一括して色変えろってのをやってるけど
すぐ動作しなくなるんだよね、俺のマクロが可笑しく書いてるだけかな
15デフォルトの名無しさん (ワッチョイ fe6d-sGSh)
2017/08/27(日) 23:37:22.62ID:LjjEWylk016デフォルトの名無しさん (ワッチョイ a511-P7rv)
2017/08/27(日) 23:57:27.56ID:jYGHj9310 たしかに枠線の色はパンチ効いてそうだな、メモリ的に
17デフォルトの名無しさん (ワッチョイ fe6d-iRjW)
2017/08/28(月) 00:07:43.72ID:8e8g8cz+0 枠線じゃなくて罫線ね
色に関する機能はとにかく重い
色に関する機能はとにかく重い
18デフォルトの名無しさん (ワッチョイ 293d-oKtA)
2017/08/28(月) 00:21:31.22ID:uF0tQjXI0 どのくらいの大きさのものか、どのくらいの処理から重いと言うのかにもよるけど、
>>14と変わらない環境で5000行50列を縦横別々の判定で罫線引いてセルの背景色を行毎に変えて重要項目に個別に色付けてって処理でも五秒もあれば完了するし、
実務に影響が出るほど遅いって事なら、たぶんUnionでセルをまとめずに一つ一つに処理が発生するような事してるのでは?
処理の順番や組み合わせ次第で装飾的な処理はかなり軽く出来るはず。
GPU並の応答速度をセルに要求するなら知らんけど。
>>14と変わらない環境で5000行50列を縦横別々の判定で罫線引いてセルの背景色を行毎に変えて重要項目に個別に色付けてって処理でも五秒もあれば完了するし、
実務に影響が出るほど遅いって事なら、たぶんUnionでセルをまとめずに一つ一つに処理が発生するような事してるのでは?
処理の順番や組み合わせ次第で装飾的な処理はかなり軽く出来るはず。
GPU並の応答速度をセルに要求するなら知らんけど。
19デフォルトの名無しさん (ワッチョイ 86aa-oTLP)
2017/08/28(月) 06:09:18.70ID:4ejthJEF0 銀行にはデータセンターがあって、機械で文字識別に失敗したものが、処理される
3人の職員が、画像を見ながら、金額を打ち込んで、3人とも同じなら合格
殴り書きの人がいるから。
これは、郵便局でも同じ
スレ違いだけど
3人の職員が、画像を見ながら、金額を打ち込んで、3人とも同じなら合格
殴り書きの人がいるから。
これは、郵便局でも同じ
スレ違いだけど
20デフォルトの名無しさん (ワッチョイ ed6f-2x4P)
2017/08/28(月) 17:53:40.80ID:pLim95Ou0 その銀行のシステムをExcelで作っているのでなければどうでもいいな
21デフォルトの名無しさん (ワッチョイ 6f06-X0kF)
2017/09/01(金) 18:17:33.81ID:aTcGbRyI0 点数 人数 名前
10 0
9
8 3 foo bar moge
7 5 piyo poo
…
こういう感じのn行×3列の表があります。
人数は、その点数を取った人数です。
10 0
9
8 3 foo bar moge
7 5 piyo poo
…
こういう感じのn行×3列の表があります。
人数は、その点数を取った人数です。
22デフォルトの名無しさん (ワッチョイ 6f06-X0kF)
2017/09/01(金) 18:23:17.66ID:aTcGbRyI0 すみません、途中で投稿してしまいました。
点数 人数 名前
10 0
9 1 hoge
8 4 foo bar moge
7 5 piyo poo…
6 9 …
…
こういう感じのn行×3列の表があります。
人数は、1列目の点数を取った人の数です。
人数を上から足していって、初めて10を超えた行より上の行の背景色を変える、ということは、
「条件付き書式」で可能でしょうか?
点数 人数 名前
10 0
9 1 hoge
8 4 foo bar moge
7 5 piyo poo…
6 9 …
…
こういう感じのn行×3列の表があります。
人数は、1列目の点数を取った人の数です。
人数を上から足していって、初めて10を超えた行より上の行の背景色を変える、ということは、
「条件付き書式」で可能でしょうか?
23デフォルトの名無しさん (ワッチョイ 333d-b8Mh)
2017/09/01(金) 18:36:17.67ID:phDteRqs024デフォルトの名無しさん (ワッチョイ ff11-BPzU)
2017/09/01(金) 18:46:07.83ID:A4rxsWGh0 >>22
人数の累積が10以上かどうかを示す列を追加したら
こんな感じで出来るんでない?
=OR(AND($D4=0, $D5=1), $D5=0)
D列が累積10以上かどうかの列
0なら10未満、1なら10以上
上の例は5行目に設定した条件付き書式
人数の累積が10以上かどうかを示す列を追加したら
こんな感じで出来るんでない?
=OR(AND($D4=0, $D5=1), $D5=0)
D列が累積10以上かどうかの列
0なら10未満、1なら10以上
上の例は5行目に設定した条件付き書式
25デフォルトの名無しさん (ワッチョイ 636f-X0kF)
2017/09/02(土) 10:23:46.50ID:1XOwz87o026デフォルトの名無しさん (ワッチョイ 43aa-k/3h)
2017/09/02(土) 10:28:20.75ID:m6EVfTkB0 Sub SetGUID()
'On Error GoTo Err_Check:
Dim ref As Reference
End Sub
でコンパイルエラーが出ました。Referenceをで意義してなとのことです。
Referenceをインポートしなければいけないのでしょうか?
'On Error GoTo Err_Check:
Dim ref As Reference
End Sub
でコンパイルエラーが出ました。Referenceをで意義してなとのことです。
Referenceをインポートしなければいけないのでしょうか?
27デフォルトの名無しさん (ワッチョイ 636f-X0kF)
2017/09/02(土) 11:21:10.40ID:1XOwz87o0 reference型は存在しない
28デフォルトの名無しさん (ワッチョイ 43aa-k/3h)
2017/09/02(土) 11:56:02.84ID:m6EVfTkB0 ありがとうございます。
29デフォルトの名無しさん (アウアウカー Sa07-darD)
2017/09/02(土) 14:35:26.83ID:SpCYKXrKa3022 (ワッチョイ cfd3-X0kF)
2017/09/02(土) 18:32:32.23ID:JEC7rQdw0 皆様ありがとうございます。
累積人数の作業列を用意するやり方でできました。
累積人数の作業列を用意するやり方でできました。
3128 (アウアウカー Sa07-darD)
2017/09/02(土) 21:49:19.26ID:BeXWDCQaa32デフォルトの名無しさん (ワッチョイ ff11-BPzU)
2017/09/02(土) 22:25:34.44ID:9PaYDv7F0 >>31
それってスケールしなくない?
それってスケールしなくない?
33デフォルトの名無しさん (ワッチョイ a38f-6h2J)
2017/09/02(土) 22:28:15.89ID:kdjl/egy0 苦いもんな
34デフォルトの名無しさん (ワッチョイ 636f-X0kF)
2017/09/03(日) 03:52:33.65ID:gP322rFm0 それはケール
35デフォルトの名無しさん (ワッチョイ 53db-6h2J)
2017/09/06(水) 01:23:13.87ID:QcvNAHMq0 ExcelではなくPowerPointのVBAになるのですが、該当するスレがないので質問させてください。
PowerPointのpptxにmsoEmbeddedOLEObjectの形で埋め込まれているエクセルファイル(xls,xlsx両方あり)を、
マクロを使って連続的に(複数埋められている)取り出し、別ファイルに保存したいと考えています。
(大本のファイルの破損のため、埋め込みファイルから復元する必要がある)
zipに拡張子変更して解凍、とすれば取れるのは知っているのですが、ファイル名の対応が取れなくなるため、
マクロ上で番号を付けて保存するのが目的です。
大まかにこのような形になるはず、と、抜き出し直前までの処理を作ったのですが、実際の保存処理について、
いろいろ試したのですがうまくいきませんでした。
PowerPoint上でのVBAマクロはニッチすぎてググっても情報に出くわさず、ましてやデータの抜き出しのような
ものはさらに見当たらない状態で、詰んでしまいました。
どのようにすれば保存できるか、ご教授願えますでしょうか?
For Each oSld In ActivePresentation.Slides
For Each oShp In oSld.Shapes
Select Case oShp.Type
Case msoEmbeddedOLEObject
If (Left(oShp.OLEFormat.ProgID, 5) = "Excel") Then
'ここに処理を入れるはず
End If
End Select
Next
Next
PowerPointのpptxにmsoEmbeddedOLEObjectの形で埋め込まれているエクセルファイル(xls,xlsx両方あり)を、
マクロを使って連続的に(複数埋められている)取り出し、別ファイルに保存したいと考えています。
(大本のファイルの破損のため、埋め込みファイルから復元する必要がある)
zipに拡張子変更して解凍、とすれば取れるのは知っているのですが、ファイル名の対応が取れなくなるため、
マクロ上で番号を付けて保存するのが目的です。
大まかにこのような形になるはず、と、抜き出し直前までの処理を作ったのですが、実際の保存処理について、
いろいろ試したのですがうまくいきませんでした。
PowerPoint上でのVBAマクロはニッチすぎてググっても情報に出くわさず、ましてやデータの抜き出しのような
ものはさらに見当たらない状態で、詰んでしまいました。
どのようにすれば保存できるか、ご教授願えますでしょうか?
For Each oSld In ActivePresentation.Slides
For Each oShp In oSld.Shapes
Select Case oShp.Type
Case msoEmbeddedOLEObject
If (Left(oShp.OLEFormat.ProgID, 5) = "Excel") Then
'ここに処理を入れるはず
End If
End Select
Next
Next
36デフォルトの名無しさん (ワッチョイ ff11-BPzU)
2017/09/06(水) 01:53:39.78ID:x6m+UIsj0 >>35
SaveAsやSaveCopyAsで動かないってことなのかな?
PowerPoint/Excelのバージョンやうまく行かなかった方法とエラー内容書かないとわからないね
正攻法でダメなら新しいExcelブックを作ってコンテンツコピーして保存するとか
SaveAsやSaveCopyAsで動かないってことなのかな?
PowerPoint/Excelのバージョンやうまく行かなかった方法とエラー内容書かないとわからないね
正攻法でダメなら新しいExcelブックを作ってコンテンツコピーして保存するとか
37デフォルトの名無しさん (ワッチョイ 43e3-3QX8)
2017/09/06(水) 11:39:49.13ID:12U08c7K0 エクセルVBAの課題ですがコードがわかりません。教えてください
下記がコードになります。
参考書の該当構文はInStrRev関数を使う事になるのですが半角スペースを指定する方法がわかりません
Dim temp As String
Dim pos As Long
Dim vName As String
Dim i As Long
For i = 2 To 6
temp = Cells(i, 2).Value
'半角スペースの位置をInStrRev関数を使用して取得し、変数posに代入する
'「氏名」から「名」のみを取得して変数vNameに代入する
Debug.Print vName
Next
考えたコードは下記でシングルクォテーションの間にスペースを入れればスペースを検索できるかと思ったのですが
エラーになりました。
pos = InStrReV(VPath," ")
ちなみに、B列に氏名、C列にフリガナが入力されています。
下記がコードになります。
参考書の該当構文はInStrRev関数を使う事になるのですが半角スペースを指定する方法がわかりません
Dim temp As String
Dim pos As Long
Dim vName As String
Dim i As Long
For i = 2 To 6
temp = Cells(i, 2).Value
'半角スペースの位置をInStrRev関数を使用して取得し、変数posに代入する
'「氏名」から「名」のみを取得して変数vNameに代入する
Debug.Print vName
Next
考えたコードは下記でシングルクォテーションの間にスペースを入れればスペースを検索できるかと思ったのですが
エラーになりました。
pos = InStrReV(VPath," ")
ちなみに、B列に氏名、C列にフリガナが入力されています。
3828 (アウアウカー Sa07-darD)
2017/09/06(水) 14:58:34.88ID:8y9+dC+fa39デフォルトの名無しさん (ワッチョイ 7373-sC3k)
2017/09/06(水) 15:14:58.67ID:oWb3celv0 ついでに言うと、そもそもvって何よw
stringなのに。
stringなのに。
4028 (アウアウカー Sa07-darD)
2017/09/06(水) 18:33:42.98ID:8y9+dC+fa >>35
PC開ける場所が無いから駅のホームで開けたったわ。
さて、PowerPointでやってみようとしたらマクロの記録って無いんだな。
どうせ、オブジェクトの埋め込みって他でも似たようなもんだろと思ってWordで埋め込みを記録してみた。
で、出来たコード見てPowerPointでも同じようにいけそうと見当を付けてからWord上で今度は埋め込まれたExcelオブジェクトを右クリックメニューから開くのを記録しようと思ったらメニュー表示されなくて記録出来なかった。
で、記録は出来なかったけどWordでも同じようにいけそうと分かったのでWordで埋め込みオブジェクトについてググったら下記が見つかった。
https://support.microsoft.com/ja-jp/help/408493
これを参考に下記の真ん中の文でいける思って実行してみたらブックは出来てたけど開くとシートが表示されない。
表示リボンの再表示ボタン押したら表示されたんで、保存前に表示しとけば良いのかと思って再表示処理のコードをPowerPointにあわせて修正したのが最初の文。
それからシートが表示されてないブックをVBEのプロジェクトエクスプローラで見ると他のブックも表示されてる。
PowerPointに張り付けたExcelオブジェクトは複数で、それらが開いたまま保存すると参照も保存されるようなので保存後に閉じる最後の文の処理を追加して他への影響を回避した。
(開いて保存を繰り返すと後の保存では前に開いて保存後に開いたままになってるのが影響する)
'hogeの後、連番のファイル名で保存
oShp.OLEFormat.Object.Windows(1).Visible = True
oShp.OLEFormat.Object.SaveAs "C:\Users\hoge\Desktop\hoge" & CStr(i) & ".xlsx"
oShp.OLEFormat.Object.Windows(1).Close
i = i + 1
PC開ける場所が無いから駅のホームで開けたったわ。
さて、PowerPointでやってみようとしたらマクロの記録って無いんだな。
どうせ、オブジェクトの埋め込みって他でも似たようなもんだろと思ってWordで埋め込みを記録してみた。
で、出来たコード見てPowerPointでも同じようにいけそうと見当を付けてからWord上で今度は埋め込まれたExcelオブジェクトを右クリックメニューから開くのを記録しようと思ったらメニュー表示されなくて記録出来なかった。
で、記録は出来なかったけどWordでも同じようにいけそうと分かったのでWordで埋め込みオブジェクトについてググったら下記が見つかった。
https://support.microsoft.com/ja-jp/help/408493
これを参考に下記の真ん中の文でいける思って実行してみたらブックは出来てたけど開くとシートが表示されない。
表示リボンの再表示ボタン押したら表示されたんで、保存前に表示しとけば良いのかと思って再表示処理のコードをPowerPointにあわせて修正したのが最初の文。
それからシートが表示されてないブックをVBEのプロジェクトエクスプローラで見ると他のブックも表示されてる。
PowerPointに張り付けたExcelオブジェクトは複数で、それらが開いたまま保存すると参照も保存されるようなので保存後に閉じる最後の文の処理を追加して他への影響を回避した。
(開いて保存を繰り返すと後の保存では前に開いて保存後に開いたままになってるのが影響する)
'hogeの後、連番のファイル名で保存
oShp.OLEFormat.Object.Windows(1).Visible = True
oShp.OLEFormat.Object.SaveAs "C:\Users\hoge\Desktop\hoge" & CStr(i) & ".xlsx"
oShp.OLEFormat.Object.Windows(1).Close
i = i + 1
4137 (ワッチョイ dbe3-otRg)
2017/09/07(木) 09:48:18.13ID:YyZpQ4AD0 38できました。ありがとうございます。
サンプルコードコピペで何となく打ってたので変数が違ってました。
それ以外の変数は課題の変数名なので、なぜといわれても。
VBAもなかなか難しい
サンプルコードコピペで何となく打ってたので変数が違ってました。
それ以外の変数は課題の変数名なので、なぜといわれても。
VBAもなかなか難しい
42デフォルトの名無しさん (ササクッテロラ Sp3b-r1nS)
2017/09/07(木) 16:44:12.32ID:wb4fzXuzp どなたかご存知でしたらご教示ください
ADODBのレコードセットから特定のフィールドを削除するにはどうしたら良いのでしょうか
Set rs = cn.Execute(select * from foo)
rs.Close
rs.Fields.Delete(n)
rs.Open
レコードセットが開いていると Delete メソッドがエラーになるので、いったん Close してから Delete するのですが、再度 Open したときに削除したはずのフィールドが復活してしまいます
ADODBのレコードセットから特定のフィールドを削除するにはどうしたら良いのでしょうか
Set rs = cn.Execute(select * from foo)
rs.Close
rs.Fields.Delete(n)
rs.Open
レコードセットが開いていると Delete メソッドがエラーになるので、いったん Close してから Delete するのですが、再度 Open したときに削除したはずのフィールドが復活してしまいます
43デフォルトの名無しさん (ササクッテロ Sp3b-xWDE)
2017/09/07(木) 20:34:42.24ID:ddaTRsKCp 起動済みのインターネットエクスプローラを操作する上手い方法ありますか?
44デフォルトの名無しさん (ワッチョイ b66d-AjbO)
2017/09/07(木) 20:45:36.76ID:m3E2HFS70 キーボードマクロ
45デフォルトの名無しさん (ワッチョイ f66f-xkdj)
2017/09/07(木) 21:03:02.57ID:tDqTIin20 そら、Recordset 消してるだけだしな 毎回Recordset 消してどうしたいねん っていう
Save せんでええのんか っていう
Save せんでええのんか っていう
46デフォルトの名無しさん (ワッチョイ 1a06-QyhX)
2017/09/07(木) 22:52:40.38ID:vmFU5V5h0 select * なんてせずに使いたい行だけselect するってのはダメなんかい
47デフォルトの名無しさん (ワッチョイ 1a06-QyhX)
2017/09/07(木) 22:53:51.32ID:vmFU5V5h0 あっ、行じゃなくフィールドね
48デフォルトの名無しさん (アークセー Sx3b-zX58)
2017/09/07(木) 22:58:55.63ID:D42mXrqtx >>42
選べよw
選べよw
49デフォルトの名無しさん (ササクッテロラ Sp3b-r1nS)
2017/09/07(木) 23:53:31.42ID:wb4fzXuzp50デフォルトの名無しさん (ドコグロ MM92-34gH)
2017/09/08(金) 08:13:46.68ID:lYRgyUUIM 削除クエリー走らせるとか
51デフォルトの名無しさん (ワッチョイ e36f-xkdj)
2017/09/08(金) 09:31:09.93ID:+Trj8D4m0 >>43
マウスを動かしてクリック
マウスを動かしてクリック
52デフォルトの名無しさん (ワッチョイ e36f-xkdj)
2017/09/08(金) 09:37:36.00ID:+Trj8D4m053デフォルトの名無しさん (ササクッテロレ Sp3b-r1nS)
2017/09/08(金) 11:23:59.37ID:E+LN5uAqp >>52
レコードセットから列を削除したいのです
やりたいことはこんな感じです
'1.クエリの実行
Set rs = cn.Execute("select A,B,C from foo")
'2.レコードセットから列Bを削除する
rs.Fields.Delete("B")
'3.残った列A,CをA1セル起点に貼り付ける
Range("A1").CopyFromRecordset rs
このとき、Fields.Delete メソッドはレコードセットが開いているとエラーになってしまいます
なので、>>42のように前後にClose、Openで挟んだのですが、Open実行時に削除したはずの列が復活してしまいます
レコードセットから列を削除したいのです
やりたいことはこんな感じです
'1.クエリの実行
Set rs = cn.Execute("select A,B,C from foo")
'2.レコードセットから列Bを削除する
rs.Fields.Delete("B")
'3.残った列A,CをA1セル起点に貼り付ける
Range("A1").CopyFromRecordset rs
このとき、Fields.Delete メソッドはレコードセットが開いているとエラーになってしまいます
なので、>>42のように前後にClose、Openで挟んだのですが、Open実行時に削除したはずの列が復活してしまいます
54デフォルトの名無しさん (ドコグロ MMcb-Qch9)
2017/09/08(金) 12:48:46.68ID:w53+SGPnM5528 (アウアウカー Sa43-G+Vk)
2017/09/08(金) 12:57:54.99ID:pmDC3Jkna56デフォルトの名無しさん (アークセー Sx3b-zX58)
2017/09/08(金) 15:26:46.89ID:ryF3+zd7x57デフォルトの名無しさん (ワッチョイ e36f-xkdj)
2017/09/08(金) 18:09:07.35ID:+Trj8D4m0 >>53
3貼り付けがAとCだけにすれば2は要らないのでは?
3貼り付けがAとCだけにすれば2は要らないのでは?
58デフォルトの名無しさん (ワッチョイ 17e4-60Gy)
2017/09/08(金) 18:32:11.80ID:iUs2XBft0 初めからBをselectしなければ良いだけだけど、それが無理なら
張りつけてからB列消せば良いんじゃね
張りつけてからB列消せば良いんじゃね
59デフォルトの名無しさん (ワッチョイ 9aaa-x/0H)
2017/09/08(金) 20:18:25.34ID:v/BetMU00 select A,C,B のほうがよさげ
60デフォルトの名無しさん (ワッチョイ b754-34gH)
2017/09/08(金) 21:03:05.17ID:ltI+C5Vk0 rsからrs2を作る
61デフォルトの名無しさん (ドコグロ MMba-Qch9)
2017/09/08(金) 21:20:35.90ID:hXO+Cn8GM6242 (ササクッテロレ Sp3b-r1nS)
2017/09/08(金) 23:59:54.71ID:E+LN5uAqp みなさんレスありがとうございます
>>55
やっぱりそうするしかないのでしょうかね
いったん配列に落とすとセルに貼り付けた時データ型やレコード数なども気にしなきゃならなくなるので、できればレコードセットのままなんとかしたいのですが…
>>57
そうなんだろうけど、CopyFromRecordsetだと全フィールド張り付いてしまいます
ループで1セルずつ貼り付けて行くと、>>55の言うような「泥臭い方法」と変わらなくなってしまいます
>>58
なるほど、レコードセットでどうにかできなければそれが一番いい方法かもしれません
>>60
それも考えましたが、rs2に複製の際にエラーが出てしまいました
今は手元に環境がないので、エラーの内容についてはまたの機会にします
>>61
SQLは select * になるかもしれないし、予想がつきません
>>55
やっぱりそうするしかないのでしょうかね
いったん配列に落とすとセルに貼り付けた時データ型やレコード数なども気にしなきゃならなくなるので、できればレコードセットのままなんとかしたいのですが…
>>57
そうなんだろうけど、CopyFromRecordsetだと全フィールド張り付いてしまいます
ループで1セルずつ貼り付けて行くと、>>55の言うような「泥臭い方法」と変わらなくなってしまいます
>>58
なるほど、レコードセットでどうにかできなければそれが一番いい方法かもしれません
>>60
それも考えましたが、rs2に複製の際にエラーが出てしまいました
今は手元に環境がないので、エラーの内容についてはまたの機会にします
>>61
SQLは select * になるかもしれないし、予想がつきません
63デフォルトの名無しさん (ワッチョイ 17e4-60Gy)
2017/09/09(土) 01:05:27.10ID:Nbl3ImVw0 どういうSQLが来るかも分からないのに特定の列を消す必要があるという事だけは分かるのか
64デフォルトの名無しさん (ワッチョイ b62a-nhGI)
2017/09/09(土) 01:14:41.31ID:F1q2327A065デフォルトの名無しさん (ワッチョイ 0b11-r1nS)
2017/09/09(土) 02:28:27.21ID:oVzpXcHU0 >>64
正規表現を使うといいかもです
スマホで手打ちしてるんで細かい部分で間違いがあるかもしれませんが、イメージはこんな感じです
(特にスラッシュのエスケープとか)
Dim strOrg as Sting
Dim strNew as Sting
strOrg = ※文章を代入
With CreateObject("VBScript.RegExp")
.Pattern = "http:////.*$"
.IgnoreCase = True
.Global = True
strNew = .Relpace(strOrg, "")
End With
正規表現を使うといいかもです
スマホで手打ちしてるんで細かい部分で間違いがあるかもしれませんが、イメージはこんな感じです
(特にスラッシュのエスケープとか)
Dim strOrg as Sting
Dim strNew as Sting
strOrg = ※文章を代入
With CreateObject("VBScript.RegExp")
.Pattern = "http:////.*$"
.IgnoreCase = True
.Global = True
strNew = .Relpace(strOrg, "")
End With
66デフォルトの名無しさん (ワッチョイ dbaa-nhGI)
2017/09/09(土) 09:08:52.36ID:ioyoiZXd0 コンパイルエラー:subまたはfunctionが定義されていませんと出ます。
Callされる関数の引数に問題があるのかと思うのですが、原因が分かりません。
Call ShowInIE(ie, "http://www.vba-ie.net/", , 0, 0, 700, 200)
で
Sub ShowInIE(ie As InternetExplorer,
url As String,
Optional viewFlg = True,
top As Integer,
left As Integer,
width As Integer,
height As Integer)
を設定して渡すで良いのでしょうか?
ttps://pastebin.com/aJLAUnfc
Callされる関数の引数に問題があるのかと思うのですが、原因が分かりません。
Call ShowInIE(ie, "http://www.vba-ie.net/", , 0, 0, 700, 200)
で
Sub ShowInIE(ie As InternetExplorer,
url As String,
Optional viewFlg = True,
top As Integer,
left As Integer,
width As Integer,
height As Integer)
を設定して渡すで良いのでしょうか?
ttps://pastebin.com/aJLAUnfc
67デフォルトの名無しさん (ワッチョイ 4eaa-b0o9)
2017/09/09(土) 09:16:22.62ID:gq9mYezw0 「vba subまたはfunctionが定義されていません」で検索!
68デフォルトの名無しさん (ワッチョイ b7e4-NEns)
2017/09/09(土) 10:42:29.03ID:0n3DLxd60 マクロにパスワードかけてたのだが、どうも破られてるらしき兆候があって
ぐぐった結果見つけたこのページの「マクロのパスワードを解除するマクロ」
を試したらほんまに解除できてびっくり
http://neos21.hatenablog.com/entry/2016/09/30/081709
これで破られない対策って誰かご存じないですかね?
自分で根ほり葉ほり動作調べてたら一日かかりそう
ぐぐった結果見つけたこのページの「マクロのパスワードを解除するマクロ」
を試したらほんまに解除できてびっくり
http://neos21.hatenablog.com/entry/2016/09/30/081709
これで破られない対策って誰かご存じないですかね?
自分で根ほり葉ほり動作調べてたら一日かかりそう
69デフォルトの名無しさん (ワッチョイ b7e4-NEns)
2017/09/09(土) 10:44:48.94ID:0n3DLxd60 てか破り方誰でもわかるセキュリティなんて何もしてねえのと同じだ
目からウ●コが落ちた
目からウ●コが落ちた
70デフォルトの名無しさん (ワッチョイ e36f-xkdj)
2017/09/09(土) 11:26:51.38ID:KlPTpWTP0 標準モジュール
71デフォルトの名無しさん (エーイモ SE5a-r+B6)
2017/09/09(土) 12:21:56.16ID:JuaBWqmdE72デフォルトの名無しさん (ワッチョイ dbaa-nhGI)
2017/09/09(土) 13:21:02.45ID:ioyoiZXd0 >>71
ありがとうございます。出来ました。
ありがとうございます。出来ました。
73デフォルトの名無しさん (ワッチョイ b66d-YFDC)
2017/09/09(土) 13:32:44.29ID:eNyHA1sg074デフォルトの名無しさん (ワッチョイ b7e4-NEns)
2017/09/09(土) 13:49:29.47ID:0n3DLxd60 「ない」ってあんたそんなズバリと(^ ^;
APIのエキスパートなら自分でどうとでもするだろうけど
人に聞いて知ってるような方法はないってことですね
しょーがないか
APIのエキスパートなら自分でどうとでもするだろうけど
人に聞いて知ってるような方法はないってことですね
しょーがないか
75デフォルトの名無しさん (ササクッテロル Sp3b-6vZA)
2017/09/09(土) 14:33:51.65ID:OsDiJ+6Ap76デフォルトの名無しさん (ワッチョイ b7e4-NEns)
2017/09/09(土) 14:42:58.59ID:0n3DLxd60 そういう問題じゃないんで・・
パスワードを解析するんじゃなく、記録してるとこからそれ自体引っ張り出して
解除させちゃうマクロらしいから、パスワードの複雑さ関係がないんで
パスワードを解析するんじゃなく、記録してるとこからそれ自体引っ張り出して
解除させちゃうマクロらしいから、パスワードの複雑さ関係がないんで
77デフォルトの名無しさん (ワッチョイ ff1e-uK4n)
2017/09/09(土) 15:11:07.11ID:5iFRXle+0 まず使い方が間違ってる
Excelのパスワードの目的は秘密を守るためじゃなくて、
素人がマクロやシートをうっかり改変して業務に支障を来すのを防ぐのが目的と言われてる
簡単に破れる方法であっても、意図的な操作がなければ破られることはないんで、目的は達成できている
Excelのパスワードの目的は秘密を守るためじゃなくて、
素人がマクロやシートをうっかり改変して業務に支障を来すのを防ぐのが目的と言われてる
簡単に破れる方法であっても、意図的な操作がなければ破られることはないんで、目的は達成できている
78デフォルトの名無しさん (ワッチョイ b62a-hnbz)
2017/09/09(土) 15:41:57.68ID:F1q2327A0 >>65
ありがとう。やってみる。
ありがとう。やってみる。
79デフォルトの名無しさん (ワッチョイ b7e4-NEns)
2017/09/09(土) 16:07:18.45ID:0n3DLxd60 まあパスワードかけるなら出来合いじゃなくて
プログラマのハシクレなら自分でそんくらい作れってことかね
他人をあてにするもんじゃないっすね
プログラマのハシクレなら自分でそんくらい作れってことかね
他人をあてにするもんじゃないっすね
80デフォルトの名無しさん (スプッッ Sd5a-HfVo)
2017/09/09(土) 16:17:06.10ID:OMWVHBMKd 一体どういう目的でパスワードかけるんだろう。実装をどうしても隠したいとかでなけりゃ破られても構わんだろ。
81デフォルトの名無しさん (アウアウカー Sa43-G+Vk)
2017/09/09(土) 17:24:58.63ID:ScenqhoIa 社内で使ってるけど皆が改変して収拾がつかなくなって管理出来なくなるのを防ぐとかだったな。
前に見たパスワード掛けてたとこは。
前に見たパスワード掛けてたとこは。
82デフォルトの名無しさん (ワッチョイ 173d-QyhX)
2017/09/09(土) 17:28:22.68ID:uXhmIN/20 MSの公式見解だとパスワードはワークグループを分けて誤操作を防ぐ為のものであって、セキュリティ性は無いとされているね。
一応、VBAはバイナリファイルを読み書き出来るから、自分で暗号化技術調べてAES的な暗号化ファイルとか生成出来るぞ。
でも苦労して実装しても運用する奴らが素人だと暗号化した意味が無くなるから作り損だぞ。
一応、VBAはバイナリファイルを読み書き出来るから、自分で暗号化技術調べてAES的な暗号化ファイルとか生成出来るぞ。
でも苦労して実装しても運用する奴らが素人だと暗号化した意味が無くなるから作り損だぞ。
83デフォルトの名無しさん (ブーイモ MMff-kzq+)
2017/09/10(日) 03:50:51.77ID:y0QNdkXRM ソフト名忘れたけどVectorにあるExcelアドインで>>68の手法が失敗するやつあったな
84デフォルトの名無しさん (ワッチョイ 5ab3-R8ON)
2017/09/10(日) 05:17:37.27ID:MQQa++S2085デフォルトの名無しさん (ワッチョイ e36f-xkdj)
2017/09/10(日) 06:19:08.10ID:8d86nTZB0 運用ルールで勝手にいじるなって言えばいいじゃん
87デフォルトの名無しさん (ワッチョイ ff1e-uK4n)
2017/09/10(日) 08:56:33.56ID:7PCuqjJO088デフォルトの名無しさん (ワッチョイ b66d-AjbO)
2017/09/10(日) 09:11:12.77ID:emM90UQN0 「何もやってないのに勝手におかしくなった」
これ一番イラッと来るよな
「パソコンが壊れたー(フリーズしてるだけ)」
とか。
これ一番イラッと来るよな
「パソコンが壊れたー(フリーズしてるだけ)」
とか。
89デフォルトの名無しさん (スプッッ Sd5a-HfVo)
2017/09/10(日) 09:12:05.85ID:ZhpxeaJkd 「改変したい点がある。自分でやるのでパスワードを教えてください。」と
直球で要望が来たらどうするの?
直球で要望が来たらどうするの?
90デフォルトの名無しさん (アウアウカー Sa43-8cOM)
2017/09/10(日) 09:17:02.60ID:WLChtAtMa >>89
修正履歴書いて残せばいい
修正履歴書いて残せばいい
91デフォルトの名無しさん (アウアウカー Sa43-8cOM)
2017/09/10(日) 09:21:21.87ID:WLChtAtMa チーム開発でも修正ルールがあるし
会社のシステムを書き換えるには上司の許可いるだろ
会社のシステムを書き換えるには上司の許可いるだろ
92デフォルトの名無しさん (ワッチョイ 9a11-Qch9)
2017/09/10(日) 09:25:28.85ID:Gppr5zJi093デフォルトの名無しさん (ワッチョイ ff1e-uK4n)
2017/09/10(日) 09:31:38.83ID:7PCuqjJO094デフォルトの名無しさん (ワッチョイ b66d-AjbO)
2017/09/10(日) 09:51:20.19ID:emM90UQN0 >>91
vbaには無い。
こういうのは一般事務の女の子向けに男がヘラヘラ書いたもの、ってかvbaが安易に書き換えられる仕様は常識
会社の基幹システムはもちろん無理だけどね
変更許可は絶対に降りない。然るべき手続きが必要
vbaには無い。
こういうのは一般事務の女の子向けに男がヘラヘラ書いたもの、ってかvbaが安易に書き換えられる仕様は常識
会社の基幹システムはもちろん無理だけどね
変更許可は絶対に降りない。然るべき手続きが必要
95デフォルトの名無しさん (ワッチョイ ff1e-uK4n)
2017/09/10(日) 10:26:56.59ID:7PCuqjJO0 >>94
基幹に近い所でVBAが動いてるうちの会社みたいなところもあるんやで
一部上場でテレビCMもガンガン流してて誰でも知ってる大企業
入力ミスをなくすためにワークシートにロックかけて入力から印刷までフォームなしのVBAで組んである
モッサリでめっちゃ使いにくいシステムで見積書とか作らされてる
下っ端の俺にはどうしようもない
基幹に近い所でVBAが動いてるうちの会社みたいなところもあるんやで
一部上場でテレビCMもガンガン流してて誰でも知ってる大企業
入力ミスをなくすためにワークシートにロックかけて入力から印刷までフォームなしのVBAで組んである
モッサリでめっちゃ使いにくいシステムで見積書とか作らされてる
下っ端の俺にはどうしようもない
96デフォルトの名無しさん (ワッチョイ b66d-VF3S)
2017/09/10(日) 10:31:20.17ID:emM90UQN097デフォルトの名無しさん (アウアウカー Sa43-8cOM)
2017/09/10(日) 11:32:55.83ID:fMXB0jq4a 売り上げ金額が合わなかったので勝手に書き換えておきましたとかやってんのか?
98デフォルトの名無しさん (アウアウカー Sa43-8cOM)
2017/09/10(日) 11:38:17.51ID:fMXB0jq4a 知らない人がいつの間にか勝手に書き換えてましたじゃ駄目だろ
99デフォルトの名無しさん (ワッチョイ 2b0f-5bTS)
2017/09/10(日) 11:39:01.10ID:FH1GYxFV0 >>96
アライさんおつw
アライさんおつw
100デフォルトの名無しさん (ワッチョイ b66d-wiQm)
2017/09/10(日) 11:49:00.36ID:emM90UQN0101デフォルトの名無しさん (アウアウカー Sa43-G+Vk)
2017/09/10(日) 12:47:48.18ID:4u5v5mfoa 後は、客はパスワード解除しないだろう、出来ないだろうという前提でパスワード掛けてたことも有ったな。
客の別の部署の奴がプログラムの仕組みが見れては困るという要望に対して。
そういう案件の場合はExcelでやらずにちゃんとシステム組むべきという俺の指摘は営業的事情により却下されたな。
客がそんなに金使いたく無いんだとよ。
客の別の部署の奴がプログラムの仕組みが見れては困るという要望に対して。
そういう案件の場合はExcelでやらずにちゃんとシステム組むべきという俺の指摘は営業的事情により却下されたな。
客がそんなに金使いたく無いんだとよ。
102デフォルトの名無しさん (アウアウカー Sa43-G+Vk)
2017/09/10(日) 12:54:29.64ID:4u5v5mfoa >>94
それやって収拾がつかなくなって、ちゃんと管理しましょうという話になってパスワード掛けることになる。
それやって収拾がつかなくなって、ちゃんと管理しましょうという話になってパスワード掛けることになる。
103デフォルトの名無しさん (ワッチョイ 0b11-p4X9)
2017/09/10(日) 13:27:08.19ID:y19mgzO60 Range("J5:J12").Value = "AVERAGE (RC[-7]:RC[-2])"
これどういう意味ですか?
これどういう意味ですか?
104デフォルトの名無しさん (ワッチョイ 0b11-p4X9)
2017/09/10(日) 13:28:56.73ID:y19mgzO60 >>103
これの右辺が分からないです
これの右辺が分からないです
105デフォルトの名無しさん (ワッチョイ dbe3-otRg)
2017/09/10(日) 14:00:23.18ID:co+DcanR0 エクセルVBAの課題ですが分かりません。
Dim Target As Range
Dim temp As String
For Each Target In Range("C2:C6")
'セルの値をすべて全角に置換して変数tempに代入する。変換する文字列は、Valueプロパティを使って取得する
temp = StrConv(Target.Value, vbUpperCase) ←
'置換後の値の全角スペースを半角スペースに変換し、元のセルに入力する
Range("C2:C6") = temp ←
Next
End Sub
元の値は半角カタカナで別の名前が各セルの記入されています。
矢印の個所が参考書を元に記述しました。
Dim Target As Range
Dim temp As String
For Each Target In Range("C2:C6")
'セルの値をすべて全角に置換して変数tempに代入する。変換する文字列は、Valueプロパティを使って取得する
temp = StrConv(Target.Value, vbUpperCase) ←
'置換後の値の全角スペースを半角スペースに変換し、元のセルに入力する
Range("C2:C6") = temp ←
Next
End Sub
元の値は半角カタカナで別の名前が各セルの記入されています。
矢印の個所が参考書を元に記述しました。
106デフォルトの名無しさん (アークセー Sx3b-zX58)
2017/09/10(日) 14:06:44.63ID:iMMEfei9x >>105
の文章がワカランカ
の文章がワカランカ
10768 (ワッチョイ b7e4-NEns)
2017/09/10(日) 14:26:35.95ID:BQ8Qv0VP0 >>83
ツールあったから結局買いました
情報ありがとう
http://conex-office-password.com/shopdetail/001000000001/
もし駄目でもどうせ1000円だからな
ツールあったから結局買いました
情報ありがとう
http://conex-office-password.com/shopdetail/001000000001/
もし駄目でもどうせ1000円だからな
108デフォルトの名無しさん (アウアウカー Sa43-G+Vk)
2017/09/10(日) 14:49:33.57ID:ECkhuLxaa109デフォルトの名無しさん (ワッチョイ b66d-Jt/Q)
2017/09/10(日) 15:03:50.97ID:emM90UQN0110デフォルトの名無しさん (ワッチョイ b66d-Jt/Q)
2017/09/10(日) 15:06:41.55ID:emM90UQN0 >>105
何が分からんのか具体的に
後多分コードが間違っている
Sub a()
For Each target In Range("C2:C6")
'セルの値をすべて全角に置換して変数tempに代入する。変換する文字列は、Valueプロパティを使って取得する
temp = StrConv(target.Value, vbUpperCase)
'置換後の値の全角スペースを半角スペースに変換し、元のセルに入力する
target.Value = temp
Next
End Sub
何が分からんのか具体的に
後多分コードが間違っている
Sub a()
For Each target In Range("C2:C6")
'セルの値をすべて全角に置換して変数tempに代入する。変換する文字列は、Valueプロパティを使って取得する
temp = StrConv(target.Value, vbUpperCase)
'置換後の値の全角スペースを半角スペースに変換し、元のセルに入力する
target.Value = temp
Next
End Sub
111デフォルトの名無しさん (ワッチョイ ff1e-uK4n)
2017/09/10(日) 15:15:05.13ID:7PCuqjJO0112デフォルトの名無しさん (アウアウカー Sa43-G+Vk)
2017/09/10(日) 15:15:26.00ID:lVUuTaKfa というか、どうしても解除されたくなかったらxllアドインとかにすべきでしょ。
113デフォルトの名無しさん (ワッチョイ ff86-8cOM)
2017/09/10(日) 16:45:46.81ID:ciO3Bw990 >>100
それ持ち逃げしてもばれないよね
それ持ち逃げしてもばれないよね
114デフォルトの名無しさん (ワッチョイ 5ab3-R8ON)
2017/09/10(日) 17:52:32.57ID:MQQa++S20115デフォルトの名無しさん (ワッチョイ 0b11-r1nS)
2017/09/10(日) 22:09:00.85ID:R8jGf7t60 >>105
何がわからないのか全然わからない
そのソースコードを実行するとどうなるのか、期待値は何なのか書かないと
まあ、ひとまず temp を配列にしないとダメじゃない?
Dim temp() As String
Dim i As Integer
Redim temp(Range("C2:C6").Rows.Count)
i=0
For Each Target In Range("C2:C6")
temp(i) = StrConv(Target.Value, vbUpperCase)
i = i + 1
Next
Range("C2:C6") = temp
何がわからないのか全然わからない
そのソースコードを実行するとどうなるのか、期待値は何なのか書かないと
まあ、ひとまず temp を配列にしないとダメじゃない?
Dim temp() As String
Dim i As Integer
Redim temp(Range("C2:C6").Rows.Count)
i=0
For Each Target In Range("C2:C6")
temp(i) = StrConv(Target.Value, vbUpperCase)
i = i + 1
Next
Range("C2:C6") = temp
116デフォルトの名無しさん (ワッチョイ 17e4-60Gy)
2017/09/11(月) 01:14:13.54ID:cJ5w3XMz0 >>115
1セルずつループして処理すればtempを配列にする必要なんてない
どうでもいいけど、全角はvbWideじゃないのかね
全角スペースを半角にするのはReplaceあたり使えば良いんじゃね
課題ならその課題出した奴に聞けよと思うが
1セルずつループして処理すればtempを配列にする必要なんてない
どうでもいいけど、全角はvbWideじゃないのかね
全角スペースを半角にするのはReplaceあたり使えば良いんじゃね
課題ならその課題出した奴に聞けよと思うが
117デフォルトの名無しさん (ドコグロ MM92-Qch9)
2017/09/11(月) 07:33:49.76ID:/uQ7pno7M >>115
速度稼ぐために配列にしてるなら読み出し側もやるべき
速度稼ぐために配列にしてるなら読み出し側もやるべき
118デフォルトの名無しさん (ササクッテロレ Sp3b-kWVg)
2017/09/11(月) 07:48:20.80ID:y+HHQfcAp119デフォルトの名無しさん (スププ Sdba-m+++)
2017/09/11(月) 08:13:17.53ID:ngQru/Z5d >>105
矢印の業務が空行の状態が問題文、矢印の行は君が書いた、と解釈した。
矢印1行目は、vbuppercaseじゃなくて、vbwide。uppercaseは大文字だ。
2行目は、target=temp
そういう問題じゃないようだが、高速化するなら、
Rangeを配列に代入
配列内で計算
配列をrangeに書き戻し
する。
矢印の業務が空行の状態が問題文、矢印の行は君が書いた、と解釈した。
矢印1行目は、vbuppercaseじゃなくて、vbwide。uppercaseは大文字だ。
2行目は、target=temp
そういう問題じゃないようだが、高速化するなら、
Rangeを配列に代入
配列内で計算
配列をrangeに書き戻し
する。
120デフォルトの名無しさん (スププ Sdba-m+++)
2017/09/11(月) 08:14:49.10ID:ngQru/Z5d121デフォルトの名無しさん (ワッチョイ 17e4-60Gy)
2017/09/11(月) 15:42:49.07ID:cJ5w3XMz0 なんで君らは
>置換後の値の全角スペースを半角スペースに変換し
は放置なの?
>置換後の値の全角スペースを半角スペースに変換し
は放置なの?
122デフォルトの名無しさん (スププ Sdba-m+++)
2017/09/11(月) 20:27:23.15ID:X8qu52Lad123デフォルトの名無しさん (ワッチョイ e36f-xkdj)
2017/09/12(火) 02:00:32.49ID:qJTGUifI0 target=replace(temp, "全角スペースと読んでくれ", " ")
124デフォルトの名無しさん (ワッチョイ 23ea-hBAF)
2017/09/12(火) 23:06:27.96ID:cxYAECV80 3万行前後ある列のデータの隣セルに、別シート5000行前後の列から、if条件に該当したものをループで貼り付ける処理をしているけど処理が遅い
3万行の列が外側ループi、5000行の列が内側ループjで回してる
処理時間短縮の為に、最初にiとjのデータを配列で取得して比較を行い
該当するものをセルに出力するように変更した結果、配列使用前より処理時間が短くなった
もっと処理時間を早くするにはどうすればいいかお知恵をください
3万行の列が外側ループi、5000行の列が内側ループjで回してる
処理時間短縮の為に、最初にiとjのデータを配列で取得して比較を行い
該当するものをセルに出力するように変更した結果、配列使用前より処理時間が短くなった
もっと処理時間を早くするにはどうすればいいかお知恵をください
125デフォルトの名無しさん (アークセー Sx3b-zX58)
2017/09/12(火) 23:14:30.57ID:e4D1CdNrx126デフォルトの名無しさん (ワッチョイ db8f-m+++)
2017/09/12(火) 23:23:18.75ID:hrwgqvSF0 >>124
別シート5000をディクショナリーに放り込んで、引いてくれば良いんでない?その手の話で高速化したいなら二重ループはナンセンス。
別シート5000をディクショナリーに放り込んで、引いてくれば良いんでない?その手の話で高速化したいなら二重ループはナンセンス。
127デフォルトの名無しさん (ワッチョイ 173d-QyhX)
2017/09/12(火) 23:27:05.41ID:aYCmToqI0128デフォルトの名無しさん (ワッチョイ 5a11-oWo5)
2017/09/13(水) 00:11:27.19ID:n1InxPaY0 >>124
ここに載ってるDOUBLE TRUE VLOOKUPを試してみてよ
lookupの時間だけ比較してもDictionaryより速いらしいんだが
http://analystcave.com/excel-vlookup-vs-index-match-vs-sql-performance/
アルゴリズムだけ考えたらバイナリサーチより
ハッシュテーブルのほうが速そうなもんだけどな
ここに載ってるDOUBLE TRUE VLOOKUPを試してみてよ
lookupの時間だけ比較してもDictionaryより速いらしいんだが
http://analystcave.com/excel-vlookup-vs-index-match-vs-sql-performance/
アルゴリズムだけ考えたらバイナリサーチより
ハッシュテーブルのほうが速そうなもんだけどな
129デフォルトの名無しさん (ワッチョイ 23ea-xkdj)
2017/09/13(水) 00:31:34.36ID:TkE7wJHp0 >>125-126
ありがとうございます!
なるほど、コレクションかディクショナリーで連想配列を使用すれば早いってことか
イマイチ使い方が分からず使用していなかった
大量にデータを処理する場合は活用すれば、処理が早くなる可能性があるって事なんですね
今後は意識して使わせていただきます
>>127
ありがとうございます!
今のコードは ifがTrue時にその都度セルに出力するコードです。
if 配列A(i)=配列B(j) then
worksheets(出力先シート)cells(i,出力先列)=配列B(j)
end if
結果自体を配列にするというのこういう処理でいいでしょうか?
結果を取得する配列Cを宣言
if 配列A(i)=配列B(j) then
配列C(i)=配列B(j)
end if
この後の処理は、配列C(i)の値をループでシートに出力する以下の処理でしょうか?
worksheets(出力先シート)cells(i,出力先列)=配列C(i)
>>128
ありがとうございます!
これは普通のキーワードでネットで調べてもヒットした記憶がないワードです
今後に活用させていただきます
ありがとうございます!
なるほど、コレクションかディクショナリーで連想配列を使用すれば早いってことか
イマイチ使い方が分からず使用していなかった
大量にデータを処理する場合は活用すれば、処理が早くなる可能性があるって事なんですね
今後は意識して使わせていただきます
>>127
ありがとうございます!
今のコードは ifがTrue時にその都度セルに出力するコードです。
if 配列A(i)=配列B(j) then
worksheets(出力先シート)cells(i,出力先列)=配列B(j)
end if
結果自体を配列にするというのこういう処理でいいでしょうか?
結果を取得する配列Cを宣言
if 配列A(i)=配列B(j) then
配列C(i)=配列B(j)
end if
この後の処理は、配列C(i)の値をループでシートに出力する以下の処理でしょうか?
worksheets(出力先シート)cells(i,出力先列)=配列C(i)
>>128
ありがとうございます!
これは普通のキーワードでネットで調べてもヒットした記憶がないワードです
今後に活用させていただきます
130デフォルトの名無しさん (ワッチョイ 17e4-60Gy)
2017/09/13(水) 00:32:10.56ID:/gH6Ji+W0 ハッシュテーブルはハッシュの算出方法で変わるからな
対象データに対して衝突が少なくて計算の軽いハッシュ関数じゃないと
対象データに対して衝突が少なくて計算の軽いハッシュ関数じゃないと
131デフォルトの名無しさん (ワッチョイ 173d-QyhX)
2017/09/13(水) 00:58:34.20ID:SpyxPvDF0 >>129
配列とセルは相互に直接的なやりとりが出来るんで調べてみて。
いちいちループ回さなくていいから。
簡単に言えば
Dim A As Variant
A = Range(範囲).Cells
とすれば配列Aに範囲の中身が入り、
Range(範囲) = A
とすれば配列Aの中身が範囲に入る。
配列とセルは相互に直接的なやりとりが出来るんで調べてみて。
いちいちループ回さなくていいから。
簡単に言えば
Dim A As Variant
A = Range(範囲).Cells
とすれば配列Aに範囲の中身が入り、
Range(範囲) = A
とすれば配列Aの中身が範囲に入る。
132デフォルトの名無しさん (スプッッ Sd5a-cc0f)
2017/09/13(水) 07:30:42.98ID:F7IQARkod ネットでエクセルVBAを勉強中なんですがオススメ参考本とかないでか?
特にユーザーフォームを使って作業が多いです。
特にユーザーフォームを使って作業が多いです。
133デフォルトの名無しさん (ササクッテロレ Sp3b-kWVg)
2017/09/13(水) 07:35:00.26ID:W36Ef0cBp >>124
条件の内容にもよるけど、ワークシート関数のvlookupは使えないの?
条件の内容にもよるけど、ワークシート関数のvlookupは使えないの?
134デフォルトの名無しさん (スププ Sdba-m+++)
2017/09/13(水) 08:14:57.58ID:6syv7XXEd135デフォルトの名無しさん (ワッチョイ a773-a2m6)
2017/09/13(水) 08:26:49.86ID:B5ndS4Fj0 お前VBAスレの自称初心者だろW
136デフォルトの名無しさん (ワッチョイ b66d-x/0H)
2017/09/13(水) 08:46:51.19ID:ldXoybWh0137107 (ワッチョイ 8a2e-NEns)
2017/09/13(水) 09:25:03.74ID:C9n8lcte0 たかがソフト買うのに個人情報を洗いざらい要求してくるセキュリティ企業って・・・
なんで俺の住所や電話番号がいるんだよ。なんに使う気だ
しかもダウンロードしようとしたら送ってきたパスワード
そっくりコピペなのにエラー出るじゃねえか
大丈夫かここ
なんで俺の住所や電話番号がいるんだよ。なんに使う気だ
しかもダウンロードしようとしたら送ってきたパスワード
そっくりコピペなのにエラー出るじゃねえか
大丈夫かここ
138デフォルトの名無しさん (ブーイモ MM26-zp6i)
2017/09/13(水) 10:51:59.22ID:mbz5MtUcM 会社紹介を見る限りまともじゃなさそう
ツールの中身も海外フォーラムに載ってるソースコピペしてたりしてな
ツールの中身も海外フォーラムに載ってるソースコピペしてたりしてな
139デフォルトの名無しさん (ワッチョイ 173d-QyhX)
2017/09/13(水) 12:27:02.45ID:SpyxPvDF0 標準のワークシート関数ってVBAで作ってある上に、色々な目的に使えるように冗長性があるから、
目的に対して最も効率的な処理方法であるという条件下だと処理時間は必ず
ワークシート関数 ≧ VBAマクロ
が成り立つ。
特にVLookupとかはセル毎に走査してるから共有可能な部分も個別に計算してるんで効率面はお察し。
ただしワークシート関数とほぼ同じ機能をVBAマクロで実装するのが時間の無駄って事もあるので、
マクロ内でワークシート関数を利用するという状況を考えるのは難しくない。
目的に対して最も効率的な処理方法であるという条件下だと処理時間は必ず
ワークシート関数 ≧ VBAマクロ
が成り立つ。
特にVLookupとかはセル毎に走査してるから共有可能な部分も個別に計算してるんで効率面はお察し。
ただしワークシート関数とほぼ同じ機能をVBAマクロで実装するのが時間の無駄って事もあるので、
マクロ内でワークシート関数を利用するという状況を考えるのは難しくない。
140デフォルトの名無しさん (スププ Sdba-m+++)
2017/09/13(水) 12:34:53.43ID:Uwuz4mw5d141デフォルトの名無しさん (オッペケ Sr3b-Sbom)
2017/09/13(水) 12:45:19.24ID:W3E85BX/r お前らが書いた腐ったvbaコードよりワークシート関数が遅いとかw
どんだけ頭がお花畑なんだよw
どんだけ頭がお花畑なんだよw
142デフォルトの名無しさん (ワッチョイ 5f67-liDa)
2017/09/13(水) 13:09:42.32ID:Prl309L10 ワークシート関数は条件さえ整えばマルチスレッドで動くぞ
確実にVBAより早いわ
確実にVBAより早いわ
143デフォルトの名無しさん (ワッチョイ 173d-QyhX)
2017/09/13(水) 13:55:24.11ID:SpyxPvDF0 https://msdn.microsoft.com/ja-jp/library/office/bb687899.aspx
公式ページ↑見ると2007からマルチスレッディングになってるらしいけど、
経験上、同じ様な目的の実装で処理時間が
VBAマクロ > ワークシート関数
になった事がないんだよな。
十分に最適化されたVBAマクロよりもワークシート関数の方が処理が早くなるって状況の具体例があれば参考になるんだけど、
そもそも目的が違うのもあってワークシート関数が重いからユーザー定義関数を作りましょうみたいなページしか見当たらない。
公式ページ↑見ると2007からマルチスレッディングになってるらしいけど、
経験上、同じ様な目的の実装で処理時間が
VBAマクロ > ワークシート関数
になった事がないんだよな。
十分に最適化されたVBAマクロよりもワークシート関数の方が処理が早くなるって状況の具体例があれば参考になるんだけど、
そもそも目的が違うのもあってワークシート関数が重いからユーザー定義関数を作りましょうみたいなページしか見当たらない。
144デフォルトの名無しさん (スププ Sdba-m+++)
2017/09/13(水) 14:13:42.05ID:/h+OIrtOd145デフォルトの名無しさん (ササクッテロレ Sp3b-kWVg)
2017/09/13(水) 14:20:51.63ID:W36Ef0cBp 例えばこんな感じ?
Dim Temp (30000,1)
For i=0 To 30000
Temp(i,1)=Application.WorkSheetFunction.Vlookup(Sheet1.Cells(i,1),Sheet2.Range("A:A"),1,False)
Next
Sheet1.Range("B1:B30000)=Temp
10000×1000で試してみたけど、>>131を二重ループで回した場合5秒かかってたところが、 このvlookupは1秒でできた。
ちなみにExcel2002(職場のクソマシン)だから、また今は違うのかもしれないけど。
Dim Temp (30000,1)
For i=0 To 30000
Temp(i,1)=Application.WorkSheetFunction.Vlookup(Sheet1.Cells(i,1),Sheet2.Range("A:A"),1,False)
Next
Sheet1.Range("B1:B30000)=Temp
10000×1000で試してみたけど、>>131を二重ループで回した場合5秒かかってたところが、 このvlookupは1秒でできた。
ちなみにExcel2002(職場のクソマシン)だから、また今は違うのかもしれないけど。
146デフォルトの名無しさん (ササクッテロレ Sp3b-kWVg)
2017/09/13(水) 14:23:19.54ID:W36Ef0cBp FORのところ i=1 だね
手打ちなんで許して
手打ちなんで許して
147デフォルトの名無しさん (ワッチョイ 173d-QyhX)
2017/09/13(水) 14:53:37.84ID:SpyxPvDF0 >>145
うーん、
Sub test1()
Dim Temp(1 To 30000, 1 To 1)
For i = 1 To 30000
Temp(i, 1) = WorksheetFunction.VLookup(Worksheets(1).Cells(i, 1), Sheet2.Range("A:A"), 1, False)
Next
Worksheets(1).Range("B1:B30000") = Temp
End Sub
Sub test2()
Dim d As Dictionary: Set d = New Dictionary
b = Sheet2.Range("A1:A5000").Value
For Each c In b
If Not d.Exists(c) Then d.Add c, c
Next
a = Sheet1.Range("A1:B30000").Value
For i = 1 To 30000
If d.Exists(a(i, 1)) Then a(i, 2) = d(a(i, 1))
Next
Sheet1.Range("A1:B30000") = a
End Sub
この二つだとtest2の方が早い。といっても数字を周期的に並べただけだし、test1の方はヒットしない数字があるとエラー吐く。
もっとフェアなデータでやれば話は違ってくるかもしれないけど、この例だとワークシート関数の方が遅いね。
うーん、
Sub test1()
Dim Temp(1 To 30000, 1 To 1)
For i = 1 To 30000
Temp(i, 1) = WorksheetFunction.VLookup(Worksheets(1).Cells(i, 1), Sheet2.Range("A:A"), 1, False)
Next
Worksheets(1).Range("B1:B30000") = Temp
End Sub
Sub test2()
Dim d As Dictionary: Set d = New Dictionary
b = Sheet2.Range("A1:A5000").Value
For Each c In b
If Not d.Exists(c) Then d.Add c, c
Next
a = Sheet1.Range("A1:B30000").Value
For i = 1 To 30000
If d.Exists(a(i, 1)) Then a(i, 2) = d(a(i, 1))
Next
Sheet1.Range("A1:B30000") = a
End Sub
この二つだとtest2の方が早い。といっても数字を周期的に並べただけだし、test1の方はヒットしない数字があるとエラー吐く。
もっとフェアなデータでやれば話は違ってくるかもしれないけど、この例だとワークシート関数の方が遅いね。
148デフォルトの名無しさん (ワッチョイ 5a11-oWo5)
2017/09/13(水) 15:46:41.67ID:n1InxPaY0 おまえら>>128にパフォーマンステストの結果が載ってるのになぜ見ない
[lookupテーブル件数:200k, lookup回数:25kの結果]
- VLOOKUP: 11.97sec
- VBA Dictionary: 0.45sec (※Dictionaryの生成時間は含まない)
- DOUBLE TRUE VLOOKUP: 0.05sec
VLOOKUPで最後のオプションをFALSEにするとリニアサーチだから遅い
TRUEにするとバイナリサーチだから速い O(N)とO(log N)の違い
ただ見つからない場合に不都合が出るからそれを解決するためのDOUBLE TRUE VLOOKUP
同じリニアサーチでもVLOOKUPが単純な二重ループより数倍速いのはC/C++使って最適化してるから
[lookupテーブル件数:200k, lookup回数:25kの結果]
- VLOOKUP: 11.97sec
- VBA Dictionary: 0.45sec (※Dictionaryの生成時間は含まない)
- DOUBLE TRUE VLOOKUP: 0.05sec
VLOOKUPで最後のオプションをFALSEにするとリニアサーチだから遅い
TRUEにするとバイナリサーチだから速い O(N)とO(log N)の違い
ただ見つからない場合に不都合が出るからそれを解決するためのDOUBLE TRUE VLOOKUP
同じリニアサーチでもVLOOKUPが単純な二重ループより数倍速いのはC/C++使って最適化してるから
149デフォルトの名無しさん (ササクッテロレ Sp3b-kWVg)
2017/09/13(水) 15:47:56.64ID:W36Ef0cBp150デフォルトの名無しさん (ササクッテロレ Sp3b-kWVg)
2017/09/13(水) 15:50:55.04ID:W36Ef0cBp >>149
ごめん、いろいろとおかしかった
Range("B1:B30000")="vlookup(Sheet1!A1,Sheet2!A:A,1,false"
Range("B1:B30000").value=Range("B1:B30000").value
ごめん、いろいろとおかしかった
Range("B1:B30000")="vlookup(Sheet1!A1,Sheet2!A:A,1,false"
Range("B1:B30000").value=Range("B1:B30000").value
151デフォルトの名無しさん (ササクッテロレ Sp3b-kWVg)
2017/09/13(水) 16:03:25.39ID:W36Ef0cBp ほんとグダグダで申し訳ない
しばらくROMります…
Range("B1:B30000")="=vlookup(Sheet1!A1,Sheet2!A:A,1,false"
Range("B1:B30000").value=Range("B1:B30000").value
しばらくROMります…
Range("B1:B30000")="=vlookup(Sheet1!A1,Sheet2!A:A,1,false"
Range("B1:B30000").value=Range("B1:B30000").value
152デフォルトの名無しさん (ワッチョイ db8f-m+++)
2017/09/13(水) 23:54:00.93ID:qFUPeADD0153デフォルトの名無しさん (ワッチョイ 81ea-SGtB)
2017/09/14(木) 00:05:19.65ID:QvPDzzeD0 >>124で処理時間高速化の質問させてもらった者です
>>131
ありがとうございます!
このスレの内容にあるようにセルを配列に入れてから、if文は配列同士で比較して、結果も配列で取得するように修正しました
配列の値を、一度にセル範囲に出力するコードに修正したら8分前後かかっていた処理が、1分〜2分前後になって、処理時間がめちゃめちゃ早くなって快適になりました
みなさんが言われてるように、VBAでワークシート関数を使用した場合の処理時間は、
おなじみオフィス田中さんのページに、配列をセル範囲に出力するのと同じぐらいの処理時間が高速だと書いてありますね
3万行と比較する列データが、複数シートで複数列だったので、次回同じような処理を作成する時は
VLOOKUP用の一時シートを追加して、3万行の列を一番左の列の検索キーにして、比較列はVLOOKUPで取得する実装をしてみます
>>131
ありがとうございます!
このスレの内容にあるようにセルを配列に入れてから、if文は配列同士で比較して、結果も配列で取得するように修正しました
配列の値を、一度にセル範囲に出力するコードに修正したら8分前後かかっていた処理が、1分〜2分前後になって、処理時間がめちゃめちゃ早くなって快適になりました
みなさんが言われてるように、VBAでワークシート関数を使用した場合の処理時間は、
おなじみオフィス田中さんのページに、配列をセル範囲に出力するのと同じぐらいの処理時間が高速だと書いてありますね
3万行と比較する列データが、複数シートで複数列だったので、次回同じような処理を作成する時は
VLOOKUP用の一時シートを追加して、3万行の列を一番左の列の検索キーにして、比較列はVLOOKUPで取得する実装をしてみます
154デフォルトの名無しさん (スププ Sdb3-YAaM)
2017/09/14(木) 08:15:22.18ID:l8z8iklHd >>153
分単位はかかり過ぎだと思うなぁ。
データや環境の違いがあるから、純粋に比較はできんだろうが、124の内容を素直に読んでコード書いて動かして見たが、100msecかからんかったよ。
ちな、
3万行のデータを配列1に丸ごと代入
5千行のデータを配列2に丸ごと代入
配列2から辞書を作成
配列1を先頭から順に見て、辞書に存在しない値を消す
3万行データの隣に配列1を丸ごと貼る
分単位はかかり過ぎだと思うなぁ。
データや環境の違いがあるから、純粋に比較はできんだろうが、124の内容を素直に読んでコード書いて動かして見たが、100msecかからんかったよ。
ちな、
3万行のデータを配列1に丸ごと代入
5千行のデータを配列2に丸ごと代入
配列2から辞書を作成
配列1を先頭から順に見て、辞書に存在しない値を消す
3万行データの隣に配列1を丸ごと貼る
155デフォルトの名無しさん (ワッチョイ 7973-sgiV)
2017/09/14(木) 08:29:32.22ID:+i9FPPOB0 配列にして一括で読み書きする
これが全てだよ
これが全てだよ
156デフォルトの名無しさん (スップ Sdf3-GtKF)
2017/09/14(木) 10:18:54.39ID:dILqaQ/Ld VBAにも新規参入者がいて20年くらい前の話題が新たになされるのにちょっと感動した
157デフォルトの名無しさん (ワッチョイ c91e-Gbox)
2017/09/14(木) 11:15:17.22ID:XfGri2Pk0 Windows10のアップデートでIEオブジェクトの挙動がまた変わったらしい?
データ収集とかしてる人はアップデートしない方がいいかも
データ収集とかしてる人はアップデートしない方がいいかも
158デフォルトの名無しさん (ワッチョイ 016f-SGtB)
2017/09/14(木) 12:34:44.93ID:MnqZaJ520 配列 オブ カリビアン
159デフォルトの名無しさん (スップ Sdf3-GtKF)
2017/09/14(木) 12:36:58.88ID:dILqaQ/Ld この期にIEオブジェクトをわざわさ生成するやり方はやめたらいいと思う
160デフォルトの名無しさん (ワッチョイ 5b6d-M8tZ)
2017/09/14(木) 12:39:57.29ID:IwoZ7QGd0 vbaでスクレイピングはねぇ
161デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/14(木) 12:42:41.16ID:YtbuHggLa162デフォルトの名無しさん (ワッチョイ db23-p+ov)
2017/09/14(木) 14:27:44.29ID:gZf88W9A0 あるシートに所属するプロシージャから
自分の所属するシートを参照するにはどうしたらいいのでしょうか?
プロシージャを他のシートにコピペしたら
コードを書き換えなくてもコピペ先のシートを参照するようなコードを
書きたいのですが
自分の所属するシートを参照するにはどうしたらいいのでしょうか?
プロシージャを他のシートにコピペしたら
コードを書き換えなくてもコピペ先のシートを参照するようなコードを
書きたいのですが
163デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/14(木) 14:33:45.54ID:EP6SpHBt0164デフォルトの名無しさん (ワッチョイ db23-p+ov)
2017/09/14(木) 14:54:53.92ID:gZf88W9A0 >>163
いや、むしろシートを飛び越えないでほしいんですが
シートで完結した処理にしたいのでシート名や番号による
シートの指定を排除して、所属するシートのセルを参照したいのですが
検索して調べるとセルを参照する方法としては
シート名を決め打ちする方法ばかりが出てくるので困っているのです
いや、むしろシートを飛び越えないでほしいんですが
シートで完結した処理にしたいのでシート名や番号による
シートの指定を排除して、所属するシートのセルを参照したいのですが
検索して調べるとセルを参照する方法としては
シート名を決め打ちする方法ばかりが出てくるので困っているのです
165デフォルトの名無しさん (バットンキン MMd3-u5aB)
2017/09/14(木) 15:38:59.34ID:lm5VBVU0M Active Sheet とSheet名以外でSheet 特定できるんだっけ?
166デフォルトの名無しさん (ワッチョイ 7973-sgiV)
2017/09/14(木) 15:49:13.64ID:+i9FPPOB0 application.callerでチェックボックスの動きの判定をするようにしたらメチャ重いんだが、これなんとかならない?
167デフォルトの名無しさん (ワッチョイ 5b6d-TkIQ)
2017/09/14(木) 15:52:46.83ID:IwoZ7QGd0168デフォルトの名無しさん (ワッチョイ 5b6d-TkIQ)
2017/09/14(木) 15:53:31.32ID:IwoZ7QGd0 セルはもちろんこんな感じね
Sub foo()
Debug.Print Me.Cells(1, 1)
End Sub
Sub foo()
Debug.Print Me.Cells(1, 1)
End Sub
169デフォルトの名無しさん (ワッチョイ 5b6d-TkIQ)
2017/09/14(木) 15:54:13.48ID:IwoZ7QGd0170デフォルトの名無しさん (ワッチョイ 7973-sgiV)
2017/09/14(木) 15:57:20.47ID:+i9FPPOB0171デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/14(木) 15:58:45.31ID:EP6SpHBt0 >>164
シートモジュールに直書きする場合はSheetsの部分を省略してCellsやRangeから書ける。
シートを指定しない場合の振る舞いが、
標準モジュールではActiveSheet(見えているシート)だったものが、
シートモジュールではそのシートに限定されるという変化をするので併用する場合は注意が必要。
シートモジュールに直書きする場合はSheetsの部分を省略してCellsやRangeから書ける。
シートを指定しない場合の振る舞いが、
標準モジュールではActiveSheet(見えているシート)だったものが、
シートモジュールではそのシートに限定されるという変化をするので併用する場合は注意が必要。
172デフォルトの名無しさん (ワッチョイ 5b6d-TkIQ)
2017/09/14(木) 16:00:47.13ID:IwoZ7QGd0 標準モジュールに書いて、対象シートはsetした方がいいと思うけどなぁ
173デフォルトの名無しさん (ワッチョイ db23-p+ov)
2017/09/14(木) 16:02:42.23ID:gZf88W9A0174デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/14(木) 18:24:24.22ID:EcWTQGUxa175デフォルトの名無しさん (ワッチョイ 5b6d-UUct)
2017/09/14(木) 18:59:59.93ID:IwoZ7QGd0 >>174
ではレベルの高い方法をどうぞ
ではレベルの高い方法をどうぞ
176デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/14(木) 19:19:27.73ID:VHoNboqWa >>175
速度はコードによるから〜でOKなどというものじゃない。
別に、意識してコード書かなくても下記の後半部分にあるようなコードになる。
その上で速度を上げようと意識すれば一番最後のようになる。
http://excel-ubara.com/excelvba4/EXCEL228.html
速度はコードによるから〜でOKなどというものじゃない。
別に、意識してコード書かなくても下記の後半部分にあるようなコードになる。
その上で速度を上げようと意識すれば一番最後のようになる。
http://excel-ubara.com/excelvba4/EXCEL228.html
177デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/14(木) 19:23:47.78ID:NoiILVtJa それで駄目ならマルチプロセスにする。
適用出来ないことも多いけどな。
objEx1=CreateObject("Excel.Application")
を複数作ってそれぞれに独立した計算をさせる。
適用出来ないことも多いけどな。
objEx1=CreateObject("Excel.Application")
を複数作ってそれぞれに独立した計算をさせる。
178デフォルトの名無しさん (ワッチョイ 5b6d-UUct)
2017/09/14(木) 19:34:05.01ID:IwoZ7QGd0179デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/14(木) 20:04:51.07ID:EP6SpHBt0 シート作ったりセルに書き込んだりというエクセル側の操作をすると、
その度にイベントが走ることになるから、これを如何に抑えるかってのが重要なんだけど、
最初から全部覚えようとするとパンクする。
その度にイベントが走ることになるから、これを如何に抑えるかってのが重要なんだけど、
最初から全部覚えようとするとパンクする。
180デフォルトの名無しさん (ワッチョイ 8123-sgiV)
2017/09/14(木) 20:30:17.25ID:8w8A3LKI0 どんだけ頑張ってコード書いても、大量の演算は結局ピボットの方が高速なんだよな
181デフォルトの名無しさん (オイコラミネオ MM6b-mPfK)
2017/09/14(木) 22:08:17.65ID:/NzRhjzgM For i = Lbound(X) to Ubound(X)
a = MATCH関数でXを検証
if XとMATCH関数が一致 Then
For j = Lbound(Z,2) to Ubound(Z,2)
Z(k,j) = cells(a,j-1).value
k = k + 1
next j
end if
Debug.print i
Next i
Xは要素が3万ほど
シートの列数も3万ほどでXと同じ値を格納
シートの列数は50程度
これでDebug.printの表示感覚が1秒ごとくらいなんだけど遅いですか?
30000 * 50 = 150000ループ
実に8時間ほどで納得行かない遅さなんです
a = MATCH関数でXを検証
if XとMATCH関数が一致 Then
For j = Lbound(Z,2) to Ubound(Z,2)
Z(k,j) = cells(a,j-1).value
k = k + 1
next j
end if
Debug.print i
Next i
Xは要素が3万ほど
シートの列数も3万ほどでXと同じ値を格納
シートの列数は50程度
これでDebug.printの表示感覚が1秒ごとくらいなんだけど遅いですか?
30000 * 50 = 150000ループ
実に8時間ほどで納得行かない遅さなんです
182デフォルトの名無しさん (ワッチョイ 5b6d-laG6)
2017/09/14(木) 22:14:39.02ID:IwoZ7QGd0183デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/14(木) 22:16:42.03ID:EP6SpHBt0184デフォルトの名無しさん (ワッチョイ b111-7vJj)
2017/09/14(木) 22:18:51.12ID:CAJlFz9z0185デフォルトの名無しさん (オイコラミネオ MM6b-mPfK)
2017/09/14(木) 22:22:13.96ID:/NzRhjzgM186デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/14(木) 22:33:58.37ID:EP6SpHBt0 もしかして学校課題か何かか。三万行って。
187デフォルトの名無しさん (ワッチョイ 1311-T94+)
2017/09/14(木) 22:37:11.21ID:XVFgKdZv0 MATCHもmatch_typeに1か-1を指定した時はバイナリサーチだから遅くないよ
0を指定してるとリニアサーチだから件数に比例して遅くなる
0を指定してるとリニアサーチだから件数に比例して遅くなる
188デフォルトの名無しさん (ワッチョイ 118f-YAaM)
2017/09/14(木) 23:03:43.05ID:XSiUnmrc0 学校の課題なら手伝わんぞ、それはカンニングだw
189デフォルトの名無しさん (オイコラミネオ MM6b-mPfK)
2017/09/14(木) 23:08:26.96ID:6XISNqi7M190デフォルトの名無しさん (ワッチョイ 5b6d-A1Wv)
2017/09/14(木) 23:20:59.58ID:IwoZ7QGd0191デフォルトの名無しさん (ワッチョイ 118f-YAaM)
2017/09/14(木) 23:22:39.03ID:XSiUnmrc0 マ?
クベ??
クベ??
192デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/14(木) 23:37:20.66ID:EP6SpHBt0193デフォルトの名無しさん (ワッチョイ 93aa-o7xi)
2017/09/15(金) 00:05:39.06ID:N1D7768S0 緑郎?
194デフォルトの名無しさん (ワッチョイ 13b3-e6pT)
2017/09/15(金) 05:58:01.90ID:mR9ZEtfo0 駆け出しママ?
195デフォルトの名無しさん (アークセー Sx4d-+IhZ)
2017/09/15(金) 12:58:58.26ID:DPkC9aElx >>172
オブジェクト変数多用は速度低下の一因になるぞ
オブジェクト変数多用は速度低下の一因になるぞ
196デフォルトの名無しさん (ワッチョイ 016f-SGtB)
2017/09/15(金) 13:29:55.54ID:+lt7NDiE0 駆け出しのマトリ?
197デフォルトの名無しさん (スプッッ Sdf3-6PtN)
2017/09/15(金) 17:41:48.27ID:YuOtTZO+d 表示シートのセルA1に『SD11』と入力してからコマンドボタン1を押したらマスターシートのA列をFINDで検索かけて下に一行ずつ表示シートの項目別にそれぞれ転記するにはどうすればいいですか?
検索まで出きるんですが、転記とループのやり方が分かりません。
https://i.imgur.com/Bd3WIPk.jpg
https://i.imgur.com/3IPhNPk.jpg
検索まで出きるんですが、転記とループのやり方が分かりません。
https://i.imgur.com/Bd3WIPk.jpg
https://i.imgur.com/3IPhNPk.jpg
198デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/15(金) 19:01:40.44ID:HxJpFmSs0 >>197
たぶんこれ、マスターシート?の一行目が項目になっている事から、
編集→テーブルでテーブル化してフィルタで絞ってコピペした方が早いんじゃないの。
種類の所だけ
Sub foo()
For Each x In Range("A1:A12")
if Len(x.Value) Then y = x.Value Else x.Value = y
Next
End Sub
みたいな形で空白を埋めるようにして。
たぶんこれ、マスターシート?の一行目が項目になっている事から、
編集→テーブルでテーブル化してフィルタで絞ってコピペした方が早いんじゃないの。
種類の所だけ
Sub foo()
For Each x In Range("A1:A12")
if Len(x.Value) Then y = x.Value Else x.Value = y
Next
End Sub
みたいな形で空白を埋めるようにして。
199デフォルトの名無しさん (ワッチョイ c1f8-7vJj)
2017/09/16(土) 07:57:41.80ID:CZKDCudP0 どっちがマスターシートかすらわからないのは俺だけなのか?
200デフォルトの名無しさん (ワッチョイ 016f-SGtB)
2017/09/16(土) 08:55:03.94ID:8PfQF6Zm0 動物記を書いた方
201デフォルトの名無しさん (ワッチョイ 5b6d-laG6)
2017/09/16(土) 08:57:29.36ID:0Tj0yPF60 それはファーブル
202デフォルトの名無しさん (ワッチョイ 9306-XDX8)
2017/09/16(土) 09:10:57.56ID:ZdfhdKJM0 シートンさん、涙
203デフォルトの名無しさん (ワッチョイ 9311-BsvU)
2017/09/16(土) 11:39:45.69ID:NmFgsGO20204デフォルトの名無しさん (ササクッテロレ Sp4d-dVTt)
2017/09/16(土) 17:35:52.97ID:ZtR64OGap excel2010使ってます。
apiを使ってアプリケーション外の任意の座標のピクセル情報を監視していますが、視覚的に監視している場所がわからないので、当該場所にbitmapを最前面に描画したいのですが、良い方法はないでしょうか?
あるいは、マウスのカーソルをその位置に描画する。とかも考えています。
apiを使ってアプリケーション外の任意の座標のピクセル情報を監視していますが、視覚的に監視している場所がわからないので、当該場所にbitmapを最前面に描画したいのですが、良い方法はないでしょうか?
あるいは、マウスのカーソルをその位置に描画する。とかも考えています。
205デフォルトの名無しさん (オッペケ Sr4d-Ec1/)
2017/09/16(土) 18:35:05.61ID:uv+MHauzr206デフォルトの名無しさん (ワッチョイ 1311-T94+)
2017/09/16(土) 19:17:26.63ID:gf/ZkNkm0207デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/16(土) 21:10:59.05ID:XK5pYCg9a >>206
昔、そういうプログラム書いてたな。
CreateCompatibleDCとか。
GDI+はステータスバーの数字を取得する為に使ったことがある。
よくあるウインドウハンドルから取得する方法やUIAutomation使う方法で取得出来なかったんで直接Bitbltかなんかで描画してるとしか思えなかった時に。
昔、そういうプログラム書いてたな。
CreateCompatibleDCとか。
GDI+はステータスバーの数字を取得する為に使ったことがある。
よくあるウインドウハンドルから取得する方法やUIAutomation使う方法で取得出来なかったんで直接Bitbltかなんかで描画してるとしか思えなかった時に。
208デフォルトの名無しさん (ワッチョイ 136c-XDX8)
2017/09/17(日) 15:05:48.02ID:QbcXsmvT0 vbaでpdfをこのようにバイナリ変換?して仕事で使うサイトにpostしたいのですがどうすれば変換できますか?
https://imgur.com/iztKsA6.jpg (普通のブラウザで送信した際の通信データを出力したもの)
ググった結果出てきたバイナリ変換?は2種類試しましたが↓変換はされるのですが形式が違うのか上手くいきませんでした(文字化けの感じも違いました)
strfilenameにはpdfのフルパスが入ります
Function GetFile2(strFileName As String) As String
Dim strFile As String
Dim nFile
' Grap the file
nFile = FreeFile
' Open strFileName For Binary As #nFile
Open strFileName For Binary As #nFile
strFile = String(LOF(nFile), " ")
Get #nFile, , strFile
Close #nFile
GetFile = strFile
End Function
Function GetFile(strFileName As String) As String
Dim FileContents() As Byte, FileNumber As Integer
ReDim FileContents(FileLen(strFileName) - 1)
FileNumber = FreeFile
Open strFileName For Binary As FileNumber
Get FileNumber, , FileContents
Close FileNumber
GetFile = StrConv(FileContents, vbUnicode)
End Function
https://imgur.com/iztKsA6.jpg (普通のブラウザで送信した際の通信データを出力したもの)
ググった結果出てきたバイナリ変換?は2種類試しましたが↓変換はされるのですが形式が違うのか上手くいきませんでした(文字化けの感じも違いました)
strfilenameにはpdfのフルパスが入ります
Function GetFile2(strFileName As String) As String
Dim strFile As String
Dim nFile
' Grap the file
nFile = FreeFile
' Open strFileName For Binary As #nFile
Open strFileName For Binary As #nFile
strFile = String(LOF(nFile), " ")
Get #nFile, , strFile
Close #nFile
GetFile = strFile
End Function
Function GetFile(strFileName As String) As String
Dim FileContents() As Byte, FileNumber As Integer
ReDim FileContents(FileLen(strFileName) - 1)
FileNumber = FreeFile
Open strFileName For Binary As FileNumber
Get FileNumber, , FileContents
Close FileNumber
GetFile = StrConv(FileContents, vbUnicode)
End Function
209デフォルトの名無しさん (ワッチョイ 1311-T94+)
2017/09/17(日) 15:23:31.58ID:EJ9y/eYt0 >>208
pdfは元々バイナリファイル
それをテキストエディタで開けばその画像みたいになる
エディタで開く時のエンコーディングが違えば文字化けの見た目も変わる
postするときになんで変換しないといけないの?
pdfは元々バイナリファイル
それをテキストエディタで開けばその画像みたいになる
エディタで開く時のエンコーディングが違えば文字化けの見た目も変わる
postするときになんで変換しないといけないの?
210デフォルトの名無しさん (ワッチョイ 136c-XDX8)
2017/09/17(日) 15:37:36.74ID:QbcXsmvT0211デフォルトの名無しさん (ワッチョイ 136c-XDX8)
2017/09/17(日) 18:33:42.58ID:QbcXsmvT0 そしてこれが>>208のマクロでpdfを変換してvbaから投稿した時のpostしているデータです
https://i.imgur.com/0LlxHf3.png
明らかに文字化けの雰囲気が違うこれだと投稿したpdfを開こうとしても「画像データに不足があります」と出てpdfが開けません
postデータは同じツールで表示していますのでvbaでの変換の方法に問題があるのかと思ってます
>>208の画像がこの画像と違ってどういう形式?なのか分かれば調べようもあると思うのですがいかがでしょうか
https://i.imgur.com/0LlxHf3.png
明らかに文字化けの雰囲気が違うこれだと投稿したpdfを開こうとしても「画像データに不足があります」と出てpdfが開けません
postデータは同じツールで表示していますのでvbaでの変換の方法に問題があるのかと思ってます
>>208の画像がこの画像と違ってどういう形式?なのか分かれば調べようもあると思うのですがいかがでしょうか
212デフォルトの名無しさん (ワッチョイ 5b6d-M8tZ)
2017/09/17(日) 19:10:29.54ID:qW/WD7mR0 バイナリ変換とか変なことをするからややこしくなっている
データの解析なんてせんでいい
ファイルは素直にファイルのまま扱えばok
http://www.excel.studio-kazu.jp/kw/20140404154224.html
で、ここ見ておもったんだけど、htmlファイル作ってform用意して、submitすればいいだけじゃない?
ファイルが何個もあるとめんどくさいけど
データの解析なんてせんでいい
ファイルは素直にファイルのまま扱えばok
http://www.excel.studio-kazu.jp/kw/20140404154224.html
で、ここ見ておもったんだけど、htmlファイル作ってform用意して、submitすればいいだけじゃない?
ファイルが何個もあるとめんどくさいけど
213デフォルトの名無しさん (ワッチョイ 136c-XDX8)
2017/09/17(日) 21:01:40.83ID:QbcXsmvT0 >>212
前にそちらのサイトも参考にさせて頂いて、投稿はできたのですがpdfが開けなくて、
送信データももっとひどい文字化けになってしまい諦めてました
https://imgur.com/p1huKGY.jpg
unicodeで送信しているのを調整する必要があると書かれていたのですがそれが原因でしょうか・・・
ちなみに自分の使い方としてはそのサイトのようにグループウェアのキャビネットに投稿する形では無く、
仕事で使っているサイトのフォームで投稿する際に添付ファイルとしてpdfを付けるのが目的なのですが
下の方に書いてあるのはSet objIE = CreateObject("Internetexplorer.Application") 的なIEに直接vbaでsubmitさせるメソッドの事でしょうか?
今のところ、投稿する際にプルダウンや入力フォームで様々な値を入力しなければならなくて、
添付ファイルが無い状態での投稿は問題無く行えるようになったのですが
添付ファイルだけはどうにも壊れてしまうというのが現状なので何とかpdfもこのままpostできないかなぁ・・・というのが現状です
説明が下手で申し訳ないのですがどなたかアドバイス頂けたらと思います
前にそちらのサイトも参考にさせて頂いて、投稿はできたのですがpdfが開けなくて、
送信データももっとひどい文字化けになってしまい諦めてました
https://imgur.com/p1huKGY.jpg
unicodeで送信しているのを調整する必要があると書かれていたのですがそれが原因でしょうか・・・
ちなみに自分の使い方としてはそのサイトのようにグループウェアのキャビネットに投稿する形では無く、
仕事で使っているサイトのフォームで投稿する際に添付ファイルとしてpdfを付けるのが目的なのですが
下の方に書いてあるのはSet objIE = CreateObject("Internetexplorer.Application") 的なIEに直接vbaでsubmitさせるメソッドの事でしょうか?
今のところ、投稿する際にプルダウンや入力フォームで様々な値を入力しなければならなくて、
添付ファイルが無い状態での投稿は問題無く行えるようになったのですが
添付ファイルだけはどうにも壊れてしまうというのが現状なので何とかpdfもこのままpostできないかなぁ・・・というのが現状です
説明が下手で申し訳ないのですがどなたかアドバイス頂けたらと思います
214デフォルトの名無しさん (ワッチョイ 11af-6PtN)
2017/09/18(月) 11:37:33.30ID:d9P11nJN0 セルB4から始めて、右に8列‘’○‘’を順番に書き込んでからB5に下がってまた8列書き込む。それを10行繰り返すにはどういうコードになります?
215デフォルトの名無しさん (アークセー Sx4d-+IhZ)
2017/09/18(月) 12:09:05.81ID:Y2wXgXiBx216デフォルトの名無しさん (アークセー Sx4d-+IhZ)
2017/09/18(月) 12:10:08.02ID:Y2wXgXiBx >>215
Cells(5, 2)から始めて→Cells(4, 2)から始めて
Cells(5, 2)から始めて→Cells(4, 2)から始めて
217デフォルトの名無しさん (ワッチョイ 2baa-o7xi)
2017/09/18(月) 12:28:31.10ID:XMy/3GFW0 ネットワーク上のフォルダにファイルを保存する時、
初回時のみ若干保存に時間がかかります。
一度実行したあとにすぐ実行すると、
既にネットワーク接続が確立しているからなのか、比較的早く保存できます。
保存は普通にsaveasで、UNCパスで保存しているのですが、
この初回保存時に時間がかからずに保存できる方法ないでしょうか。
初回時のみ若干保存に時間がかかります。
一度実行したあとにすぐ実行すると、
既にネットワーク接続が確立しているからなのか、比較的早く保存できます。
保存は普通にsaveasで、UNCパスで保存しているのですが、
この初回保存時に時間がかからずに保存できる方法ないでしょうか。
218デフォルトの名無しさん (スププ Sdb3-YAaM)
2017/09/18(月) 12:39:51.48ID:QSt8wYFod >>214
「セルB4から始めて、右に8列‘’○‘’を順番に書き込んでからB5に下がってまた8列書き込む。それを10行繰り返す」コード。
「セルB4から始めて、右に8列‘’○‘’を順番に書き込んでからB5に下がってまた8列書き込む。それを10行繰り返す」コード。
219デフォルトの名無しさん (ワッチョイ 11af-6PtN)
2017/09/18(月) 13:39:45.60ID:d9P11nJN0220デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/18(月) 15:00:22.35ID:7Xxpypu9a221デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/18(月) 15:03:30.32ID:7Xxpypu9a222デフォルトの名無しさん (ワッチョイ 11a3-mPfK)
2017/09/18(月) 15:33:37.57ID:iDSQnxIm0 http://imgur.com/MSCp7vw.jpg
シート2で選択した人の時間データをシート1からシート2の各セルにコピペしたいです
イベントプロシージャで名前変更時にマクロ起動は出来ました
名前検索&シートを跨いだコピペがどうしても出来ないのでご助力下さい
シート2で選択した人の時間データをシート1からシート2の各セルにコピペしたいです
イベントプロシージャで名前変更時にマクロ起動は出来ました
名前検索&シートを跨いだコピペがどうしても出来ないのでご助力下さい
223デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/18(月) 16:32:44.21ID:tGO6qMv20 >>222
Accessでデータ管理してSQLで取り出すのが一番苦労がないと思うんだが。
Accessでデータ管理してSQLで取り出すのが一番苦労がないと思うんだが。
224デフォルトの名無しさん (ワッチョイ 5b23-o7xi)
2017/09/18(月) 17:38:30.84ID:zFeh6Anl0 >>222
普通にVLOOKUPで引っ張ってくれば
マクロは必要ないのではなかろうか。
どうしてもVBAでやりたいなら
WorksheetFunction.Matchで検索してみよう。
シート間コピペはRangeの前にワークシートオブジェクトを指定すればできます。
範囲でやる場合はValueを書かないとだめです。
Worksheets("シート2").Range("*:*").Value = Worksheets("シート1").Range("*:*").Value
実際には決め打ちじゃなくてCellsで検索結果に応じて可変にすればよいでしょう。
普通にVLOOKUPで引っ張ってくれば
マクロは必要ないのではなかろうか。
どうしてもVBAでやりたいなら
WorksheetFunction.Matchで検索してみよう。
シート間コピペはRangeの前にワークシートオブジェクトを指定すればできます。
範囲でやる場合はValueを書かないとだめです。
Worksheets("シート2").Range("*:*").Value = Worksheets("シート1").Range("*:*").Value
実際には決め打ちじゃなくてCellsで検索結果に応じて可変にすればよいでしょう。
225デフォルトの名無しさん (スプッッ Sdf3-6PtN)
2017/09/18(月) 18:28:54.10ID:gz3Qfpmld >>221
実際には別シートの値をみて条件付けてYESなら右に一個ずつ値を引っ張りたいだけです。
実際には別シートの値をみて条件付けてYESなら右に一個ずつ値を引っ張りたいだけです。
226デフォルトの名無しさん (ワッチョイ 11a3-24l8)
2017/09/18(月) 20:17:48.27ID:iDSQnxIm0 >>222ですがコピペ記述できました助言ありがとうございました
Sub
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim name As String
Dim r As Variant
Set ws1 = Worksheets("シート1")
Set ws2 = Worksheets("シート2")
name = Worksheets("シート2").Range("*").Value
r = Application.WorksheetFunction.Match(name, Worksheets("シート1").Columns("a"), 0)
Application.ScreenUpdating = False
ws1.Activate
ws1.Cells(r, 4).Select
Selection.Resize(1,6).Select
Selection.Copy
ws2.Range("a6:a11").PasteSpecial (xlPasteValues)
Application.ScreenUpdating = True
End Sub
シート切り替え時の画面ちらつきを消すために見よう見まねでScreenUpdatingを入れました
期待通りの動きをしてくれてますがもっと上手い記述を参考程度に教えていただきたいです
VLOOKUPだと直接セルに入力する場合があってその時困るのでVBAでやってみようと思った次第です
ACCESSは諸事情で使えません
Sub
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim name As String
Dim r As Variant
Set ws1 = Worksheets("シート1")
Set ws2 = Worksheets("シート2")
name = Worksheets("シート2").Range("*").Value
r = Application.WorksheetFunction.Match(name, Worksheets("シート1").Columns("a"), 0)
Application.ScreenUpdating = False
ws1.Activate
ws1.Cells(r, 4).Select
Selection.Resize(1,6).Select
Selection.Copy
ws2.Range("a6:a11").PasteSpecial (xlPasteValues)
Application.ScreenUpdating = True
End Sub
シート切り替え時の画面ちらつきを消すために見よう見まねでScreenUpdatingを入れました
期待通りの動きをしてくれてますがもっと上手い記述を参考程度に教えていただきたいです
VLOOKUPだと直接セルに入力する場合があってその時困るのでVBAでやってみようと思った次第です
ACCESSは諸事情で使えません
227デフォルトの名無しさん (ワッチョイ 11af-6PtN)
2017/09/18(月) 20:45:41.88ID:d9P11nJN0 この小汚いコードなんとかなりませんか?
https://i.imgur.com/PH6sTKr.jpg
https://i.imgur.com/PH6sTKr.jpg
228デフォルトの名無しさん (ワッチョイ 5b6d-UUct)
2017/09/18(月) 20:58:13.91ID:jDUrs+BF0 >>227
まず写真じゃなくてプリントスクリーンで
まず写真じゃなくてプリントスクリーンで
229デフォルトの名無しさん (ワッチョイ 5b23-o7xi)
2017/09/18(月) 21:06:56.54ID:zFeh6Anl0 >>226
たぶんマクロ記録を改造しているんだと思いますが
Select、Activateはする必要なく
転記処理は
ws2.Range("a6:f6").Value = ws1.Range(ws1.Cells(r,4),ws1.Cells(r,9)).Value
この1行だけでいけるはず。
=の右辺と左辺が同じ大きさの範囲である必要あり。
範囲は実際のシートのに書き換えてお試しを。
たぶんマクロ記録を改造しているんだと思いますが
Select、Activateはする必要なく
転記処理は
ws2.Range("a6:f6").Value = ws1.Range(ws1.Cells(r,4),ws1.Cells(r,9)).Value
この1行だけでいけるはず。
=の右辺と左辺が同じ大きさの範囲である必要あり。
範囲は実際のシートのに書き換えてお試しを。
230デフォルトの名無しさん (ワッチョイ 11af-6PtN)
2017/09/18(月) 21:26:16.39ID:d9P11nJN0 >>228
パソコンのネットがゴミ過ぎてパソコンからは書き込めないんです...
パソコンのネットがゴミ過ぎてパソコンからは書き込めないんです...
231デフォルトの名無しさん (ワッチョイ 5b23-o7xi)
2017/09/18(月) 21:38:27.20ID:zFeh6Anl0 >>227
応用シートを変数に突っ込む
WithにRange指定まで突っ込む
RangeをCellsにして列参照を変数にする
オフセットの数値を変数にする
これでループで変数をインクリメントしていけばスッキリしそう。
応用シートを変数に突っ込む
WithにRange指定まで突っ込む
RangeをCellsにして列参照を変数にする
オフセットの数値を変数にする
これでループで変数をインクリメントしていけばスッキリしそう。
232デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/18(月) 21:41:20.89ID:tGO6qMv20 >>227
Sub foo()
Str_NowRng = FindRange.Offset(0, 1).Address
Str_ShuName = FindRange.Offset(0, 1).Value
Set 基礎 = Worksheets("基礎")
Set 応用 = Worksheets("応用")
i = 4
Do While Str_ShuName = "A"
For j = 1 To 5
応用.Cells(i, j + 1).Value = 基礎.Range(Str_NowRng).Offset(0, j).Value
If j = 3 Then 応用.Cells(i, j + 1).Value = 応用.Cells(i, j + 1).Value + Val(MSUN)
Next
With 基礎.Range(Str_NowRng).Offset(1, 0)
Str_ShuName = .Value
Str_NowRng = .Address
End With
Loop
End Sub
設計が腐ってる臭いがするので、小手先直したところで意味ないと思うけど。
Sub foo()
Str_NowRng = FindRange.Offset(0, 1).Address
Str_ShuName = FindRange.Offset(0, 1).Value
Set 基礎 = Worksheets("基礎")
Set 応用 = Worksheets("応用")
i = 4
Do While Str_ShuName = "A"
For j = 1 To 5
応用.Cells(i, j + 1).Value = 基礎.Range(Str_NowRng).Offset(0, j).Value
If j = 3 Then 応用.Cells(i, j + 1).Value = 応用.Cells(i, j + 1).Value + Val(MSUN)
Next
With 基礎.Range(Str_NowRng).Offset(1, 0)
Str_ShuName = .Value
Str_NowRng = .Address
End With
Loop
End Sub
設計が腐ってる臭いがするので、小手先直したところで意味ないと思うけど。
233デフォルトの名無しさん (ワッチョイ 11a3-mPfK)
2017/09/18(月) 21:46:33.83ID:iDSQnxIm0234デフォルトの名無しさん (ワッチョイ 6169-XDX8)
2017/09/18(月) 21:49:23.00ID:m1CRg0zL0 userform2のcaptionをそのままuserform8のcaptionに代入使用しています。
型が一致しませんのエラーが出ます。
先ほどまで問題なく動いていたのですが、突然出るようになりました。
UserForm8.Caption = UserForm2.Caption
や
Dim FormName as string
FormName = UserForm2.Caption
Userform8.Caption = FormName
でもエラーが出てしまいます・・・。
型が一致しませんのエラーが出ます。
先ほどまで問題なく動いていたのですが、突然出るようになりました。
UserForm8.Caption = UserForm2.Caption
や
Dim FormName as string
FormName = UserForm2.Caption
Userform8.Caption = FormName
でもエラーが出てしまいます・・・。
235デフォルトの名無しさん (ワッチョイ 5b6d-A1Wv)
2017/09/18(月) 21:59:25.32ID:jDUrs+BF0 >>234
何でそんなことやってるか知らんけど…
標準モジュールに書いたら動いた
Sub foo()
UserForm1.Caption = UserForm2.Caption
End Sub
とりあえずイミディエイトウィンドウやウオッチ士気で、
UserForm2.Caption
に何が入ってるか見てみたら?
何でそんなことやってるか知らんけど…
標準モジュールに書いたら動いた
Sub foo()
UserForm1.Caption = UserForm2.Caption
End Sub
とりあえずイミディエイトウィンドウやウオッチ士気で、
UserForm2.Caption
に何が入ってるか見てみたら?
236デフォルトの名無しさん (ワッチョイ 11af-6PtN)
2017/09/18(月) 22:04:09.39ID:d9P11nJN0 Str_NowRng=FindRange.Offset(0,1).address
Str_ShuName=FindRange.Offset(0,1).Value
With Worksheets(〃基礎〃)
i=4
Do While Str_ShuName=〃A〃
Worksheets(〃応用〃).Range(〃B〃&i).Value=.Range(〃Str_NowRng〃).Offset(0,1).Value
Worksheets(〃応用〃).Range(〃C〃&i).Value=.Range(〃Str_NowRng〃).Offset(0,2).Value
Worksheets(〃応用〃).Range(〃D〃&i).Value=.Range(〃Str_NowRng〃).Offset(0,3).Value+val(MSun).Value
Worksheets(〃応用〃).Range(〃E〃&i).Value=.Range(〃Str_NowRng〃).Offset(0,4).Value
Worksheets(〃応用〃).Range(〃F〃&i).Value=.Range(〃Str_NowRng〃).Offset(0,5).Value
Str_Name=.Range(〃Str_NowRng〃).Offset(1,0).Value
Str_NowRng=Range(Str_NowRng).Offset(1,0).address
i=i+1
Loop
i=14
Do While Str_ShuName=〃B〃
中身同じ
Loop
i=32
Do While Str_ShuName=〃C〃
中身同じ
Loop
こんな感じです。
パソコン見ながら打ったので間違って打ってたらごめんなさい。
Str_ShuName=FindRange.Offset(0,1).Value
With Worksheets(〃基礎〃)
i=4
Do While Str_ShuName=〃A〃
Worksheets(〃応用〃).Range(〃B〃&i).Value=.Range(〃Str_NowRng〃).Offset(0,1).Value
Worksheets(〃応用〃).Range(〃C〃&i).Value=.Range(〃Str_NowRng〃).Offset(0,2).Value
Worksheets(〃応用〃).Range(〃D〃&i).Value=.Range(〃Str_NowRng〃).Offset(0,3).Value+val(MSun).Value
Worksheets(〃応用〃).Range(〃E〃&i).Value=.Range(〃Str_NowRng〃).Offset(0,4).Value
Worksheets(〃応用〃).Range(〃F〃&i).Value=.Range(〃Str_NowRng〃).Offset(0,5).Value
Str_Name=.Range(〃Str_NowRng〃).Offset(1,0).Value
Str_NowRng=Range(Str_NowRng).Offset(1,0).address
i=i+1
Loop
i=14
Do While Str_ShuName=〃B〃
中身同じ
Loop
i=32
Do While Str_ShuName=〃C〃
中身同じ
Loop
こんな感じです。
パソコン見ながら打ったので間違って打ってたらごめんなさい。
237デフォルトの名無しさん (ワッチョイ 5b6d-A1Wv)
2017/09/18(月) 22:04:38.56ID:jDUrs+BF0 〃応用〃
なんかかわいい
なんかかわいい
238デフォルトの名無しさん (ワッチョイ 5b6d-A1Wv)
2017/09/18(月) 22:05:45.55ID:jDUrs+BF0239デフォルトの名無しさん (ワッチョイ 11af-6PtN)
2017/09/18(月) 22:09:21.04ID:d9P11nJN0 >>232
ありがとうございます。すごい助かります。感謝です!
ありがとうございます。すごい助かります。感謝です!
240デフォルトの名無しさん (ワッチョイ 11af-6PtN)
2017/09/18(月) 22:09:42.61ID:d9P11nJN0 >>238
はい。ありがとうございました。
はい。ありがとうございました。
241デフォルトの名無しさん (ワッチョイ 6169-XDX8)
2017/09/18(月) 22:09:56.31ID:m1CRg0zL0 >>235 ありがとうございます。 他のユーザーフォームではできましたので、USERFROM8自体がおかしくなっている?
直前にエクセルが動作停止しました。その際に壊れてしまい、USERFORM8のオブジェクト名を理解できていないようです。
そんなことはありますでしょうか?
直前にエクセルが動作停止しました。その際に壊れてしまい、USERFORM8のオブジェクト名を理解できていないようです。
そんなことはありますでしょうか?
242デフォルトの名無しさん (ワッチョイ 5b6d-A1Wv)
2017/09/18(月) 22:13:12.43ID:jDUrs+BF0243デフォルトの名無しさん (JP 0H35-+tv6)
2017/09/18(月) 22:25:10.48ID:SpW0zo9eH244デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/18(月) 22:34:50.16ID:xepoeGeEa >>227
インデント統一してる?
俺は4つ(標準)にしてるけど、少しでもズレてる所があると気持ち悪い。
こういうコード貰ったらCtrl + A押して、
Shift + Tabを連続20回ぐらい押してしまう。
んで、全ての行のインデント振り直す。
それから、2つのシート使ってるようだけど自分ならそれぞれを変数に入れるな。
1つはWith使ってるから良いとして、もう1つだけでも変数に入れる。
まあ、自分の場合は基本的にブックから省略しないのでWithや変数に入れないと長くなるんだわ。
それからDo While〜Loopの中だけど、Offsetとiの併用してるのは何で?
全部iで書き直したら?
そうすればStr_ShuNameとかStr_NowRngとか必要無くなるよ。
Str_ShuNameの場所もi使って1つずつ下がって行くんでしょ。
Do Whileの条件もi使って表したらStr_ShuNameへの代入も必要無いよね。
それから、Range("B" & i ).Valueって記述だけど、RangeじゃなくてCells使えば列方向もj使って繰り返しが使えるよね。
まあ、真ん中だけ少し違うから恩恵少ないけど。
インデント統一してる?
俺は4つ(標準)にしてるけど、少しでもズレてる所があると気持ち悪い。
こういうコード貰ったらCtrl + A押して、
Shift + Tabを連続20回ぐらい押してしまう。
んで、全ての行のインデント振り直す。
それから、2つのシート使ってるようだけど自分ならそれぞれを変数に入れるな。
1つはWith使ってるから良いとして、もう1つだけでも変数に入れる。
まあ、自分の場合は基本的にブックから省略しないのでWithや変数に入れないと長くなるんだわ。
それからDo While〜Loopの中だけど、Offsetとiの併用してるのは何で?
全部iで書き直したら?
そうすればStr_ShuNameとかStr_NowRngとか必要無くなるよ。
Str_ShuNameの場所もi使って1つずつ下がって行くんでしょ。
Do Whileの条件もi使って表したらStr_ShuNameへの代入も必要無いよね。
それから、Range("B" & i ).Valueって記述だけど、RangeじゃなくてCells使えば列方向もj使って繰り返しが使えるよね。
まあ、真ん中だけ少し違うから恩恵少ないけど。
245デフォルトの名無しさん (ワッチョイ 5b6d-oZA3)
2017/09/18(月) 22:45:05.41ID:jDUrs+BF0 >>244
sublimnetextとか使ってみてはどうだろう
コピペするだけであら不思議、自動インデント
https://i.imgur.com/rexlwm0.png
VBEと連携できたら便利なんだけど、残念ながらできない
sublimnetextとか使ってみてはどうだろう
コピペするだけであら不思議、自動インデント
https://i.imgur.com/rexlwm0.png
VBEと連携できたら便利なんだけど、残念ながらできない
246デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/18(月) 23:05:45.45ID:xepoeGeEa247デフォルトの名無しさん (ワッチョイ 5b6d-oZA3)
2017/09/18(月) 23:28:32.94ID:jDUrs+BF0248デフォルトの名無しさん (ワッチョイ 118f-YAaM)
2017/09/18(月) 23:32:57.67ID:2tW0i3mn0249デフォルトの名無しさん (スップ Sdb3-GtKF)
2017/09/19(火) 08:03:42.97ID:S/ELy/wxd 学習指導要領的なアレ
250デフォルトの名無しさん (ワッチョイ b111-7vJj)
2017/09/19(火) 08:41:07.80ID:TQtJdwms0 >>248
でも二重ループでセルを回すとか、実際にはやらない、というかむしろやっちゃいけないようなこと質問されてもね
でも二重ループでセルを回すとか、実際にはやらない、というかむしろやっちゃいけないようなこと質問されてもね
251デフォルトの名無しさん (ワッチョイ 5b6d-jqo8)
2017/09/19(火) 09:07:55.93ID:llsJeX6S0 >>250
やっちゃいけないってなんだよw
foreach in rangeって言いたいんだろうけど、excelは行列の削除があるから二重ループでいいだろう
セルじゃなければforeachでいいけどな
やっちゃいけないってなんだよw
foreach in rangeって言いたいんだろうけど、excelは行列の削除があるから二重ループでいいだろう
セルじゃなければforeachでいいけどな
252デフォルトの名無しさん (ワッチョイ c91e-Gbox)
2017/09/19(火) 11:43:23.74ID:3hwVeuBP0 列数 = 8
行数 = 10
Range("B4").Resize(列数, 行数).Value = "○"
行数 = 10
Range("B4").Resize(列数, 行数).Value = "○"
253デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/19(火) 12:11:26.47ID:JjVbyw/1a254デフォルトの名無しさん (オッペケ Sr4d-ZzG1)
2017/09/19(火) 12:22:40.32ID:hROBZ5mLr 問題もクソもこういう場合質問者はループを回したいなど微塵も思ってない
無知ゆえに質問の仕方がぎこちないだけだ
教えたがりならそれくらい察しろよ
無知ゆえに質問の仕方がぎこちないだけだ
教えたがりならそれくらい察しろよ
255デフォルトの名無しさん (スププ Sdb3-YAaM)
2017/09/19(火) 12:37:00.77ID:k/2scTwdd 二重ループってのもある種のテクニックだから、そのやり方を訊いているのかも知れん。for nextでカウンタiとjを使って...とか。
そうでないなら、例えば、同様の効果を得る処理時間の短い方法を知りたいなどと訊くべし。
そうでないなら、例えば、同様の効果を得る処理時間の短い方法を知りたいなどと訊くべし。
256デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/19(火) 12:58:00.95ID:JjVbyw/1a257デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/19(火) 13:16:12.83ID:GpDcdeuu0 「何をどうすればいいのか見当がつかない」というのは根本を理解していないが故だしな。
それにVBAはだいたいネット検索すれば解決策が載ってるんで(凡例が少ないという事はあるけど)、
自分で解決してから「こういう方法以外にどのような解法があるか」と聞いてくるのが一番正常なのかもしれないね。
それにVBAはだいたいネット検索すれば解決策が載ってるんで(凡例が少ないという事はあるけど)、
自分で解決してから「こういう方法以外にどのような解法があるか」と聞いてくるのが一番正常なのかもしれないね。
258デフォルトの名無しさん (スップ Sdb3-GtKF)
2017/09/19(火) 14:10:03.77ID:S/ELy/wxd 初心者がいるってことは新規参入者がいるってことなので、考えようによってはありがたいことだ。
259デフォルトの名無しさん (ワッチョイ 398b-MDSF)
2017/09/19(火) 21:47:07.38ID:r8s5qxxU0 つべこべ文句言ってねえでお前らなんかに質問してくれるだけ有り難いと思えよ
260デフォルトの名無しさん (スプッッ Sdf3-uHQa)
2017/09/19(火) 23:27:39.48ID:44Sr5E9Ld ここはVBAの作成依頼もOKですか?
261デフォルトの名無しさん (ワッチョイ 5b6d-jqo8)
2017/09/19(火) 23:28:15.16ID:llsJeX6S0262デフォルトの名無しさん (スプッッ Sdf3-uHQa)
2017/09/19(火) 23:38:49.19ID:44Sr5E9Ld >>261
B2〜B40までのセルをダブルクリックすると検索ボックスが出てきてE2〜E25までのデータを検索出来るようにしたいです(実際のデータは1500個くらいありますが)
検索ボックスにaと入力するとaを含むデータがリスト化されて出てきて、そのリストをダブルクリックするとBの列にそのデータが貼り付けされる
っていうのを作りたいです
http://imgur.com/gMJqp1I.jpg
B2〜B40までのセルをダブルクリックすると検索ボックスが出てきてE2〜E25までのデータを検索出来るようにしたいです(実際のデータは1500個くらいありますが)
検索ボックスにaと入力するとaを含むデータがリスト化されて出てきて、そのリストをダブルクリックするとBの列にそのデータが貼り付けされる
っていうのを作りたいです
http://imgur.com/gMJqp1I.jpg
263デフォルトの名無しさん (ワッチョイ 118f-YAaM)
2017/09/19(火) 23:46:09.19ID:awnco+f70 なんで(R1C1形式じゃなくて)A1形式なんだろうなぁ。あれ(A1形式)って感覚的に分かるの?
264デフォルトの名無しさん (ワッチョイ 398b-ZzG1)
2017/09/19(火) 23:54:26.79ID:r8s5qxxU0 バカはいつも突然やってくる
265デフォルトの名無しさん (ワッチョイ 5b6d-jqo8)
2017/09/19(火) 23:54:28.98ID:llsJeX6S0 >>262
とりあえず写真じゃなくスクリーンショットで頼む
モアレになって鬱陶しい
要するにE列を文字列で絞り込んでB列に貼り付けたいってことね
で、考えた
・openイベントでuseformをExcelとは別に動くようにshowする。要するに常時表示させる検索ウィンドウ。モーダルか、モーダレスか忘れた。
・テキストボックスに入力するとB列が次々と変化
1500ぐらいならリアルタイムで変化させても余裕だろう
誰も作って無かったら明日の夜作るよ
とりあえず写真じゃなくスクリーンショットで頼む
モアレになって鬱陶しい
要するにE列を文字列で絞り込んでB列に貼り付けたいってことね
で、考えた
・openイベントでuseformをExcelとは別に動くようにshowする。要するに常時表示させる検索ウィンドウ。モーダルか、モーダレスか忘れた。
・テキストボックスに入力するとB列が次々と変化
1500ぐらいならリアルタイムで変化させても余裕だろう
誰も作って無かったら明日の夜作るよ
266デフォルトの名無しさん (ワッチョイ 5b6d-jqo8)
2017/09/19(火) 23:55:49.42ID:llsJeX6S0267デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/19(火) 23:56:24.26ID:GpDcdeuu0 >>262
GUIいじりはエクセルVBAの守備範囲外だからやめたほうがいい。
リボンを改造して専用のボタンを用意する方法があるので、
そこからフォームを呼び出してツールであるかのように見せるのが限界。
GUIいじりはエクセルVBAの守備範囲外だからやめたほうがいい。
リボンを改造して専用のボタンを用意する方法があるので、
そこからフォームを呼び出してツールであるかのように見せるのが限界。
268デフォルトの名無しさん (スプッッ Sdf3-uHQa)
2017/09/20(水) 00:01:43.09ID:+p3KI42td269デフォルトの名無しさん (ワッチョイ c91e-Gbox)
2017/09/20(水) 00:23:48.32ID:mkPuPLWs0 デジカメでモニターを撮影するのだって広義のスクショなんだけど
むしろ初期はカメラをモニターの前に置くしか方法がない場合が大多数だった
むしろ初期はカメラをモニターの前に置くしか方法がない場合が大多数だった
270デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/20(水) 00:33:24.59ID:rbLHucI/0 変な作り話しなくても、会社とか学校のPCとかで内部データ持ち出せない場合は、
そういう風にするしかないって擁護すればいいんじゃないの。(その場合でも画面の写真撮るのは拙いけど)
そういう風にするしかないって擁護すればいいんじゃないの。(その場合でも画面の写真撮るのは拙いけど)
271デフォルトの名無しさん (ワッチョイ 5b6d-+06M)
2017/09/20(水) 08:10:47.54ID:pHDT776b0 >>262
出来たわ
テキストボックスに入力するとB列で絞込表示
1500件ぐらいなら多分軽い
https://www.dotup.org/uploda/www.dotup.org1370604.zip.html
出来たわ
テキストボックスに入力するとB列で絞込表示
1500件ぐらいなら多分軽い
https://www.dotup.org/uploda/www.dotup.org1370604.zip.html
272デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/20(水) 19:48:21.95ID:WlNCuA1ya >>262
B列のダブルクリックとか設計がよろしくないね。
検索ボックスってのはフォームと推測。
B列への入力ってのは検索したリストの中から選択したものを入力ってことと推測。
以下のようなものを作成してみた。
・[アドイン]リボンの[E列データ作成]を押すとE列に10万行のランダムデータ作成
・[アドイン]リボンの[E列から検索]を押すと検索用フォームを表示
・検索用フォームでテキストボックスに入力してEnterキー押下するとリストボックスに検索結果表示
・リストボックスでダブルクリックするとB列に選択されたセルにダブルクリックした文字列を入力
https://pastebin.com/ye8PZecY
B列のダブルクリックとか設計がよろしくないね。
検索ボックスってのはフォームと推測。
B列への入力ってのは検索したリストの中から選択したものを入力ってことと推測。
以下のようなものを作成してみた。
・[アドイン]リボンの[E列データ作成]を押すとE列に10万行のランダムデータ作成
・[アドイン]リボンの[E列から検索]を押すと検索用フォームを表示
・検索用フォームでテキストボックスに入力してEnterキー押下するとリストボックスに検索結果表示
・リストボックスでダブルクリックするとB列に選択されたセルにダブルクリックした文字列を入力
https://pastebin.com/ye8PZecY
273デフォルトの名無しさん (スプッッ Sdf3-wsdZ)
2017/09/20(水) 20:37:33.76ID:JB1iCPlvd274デフォルトの名無しさん (ワッチョイ 398b-MDSF)
2017/09/20(水) 21:25:43.55ID:6Jeed1fg0 >>272
設計がよろしくないねwwww
しゃしゃんな無能w
おめーの設計()の方がよっぽどよろしくないわw
煽りじゃなくてマジもんのクソだっつーのそのUI
しかもコードは小学生の初めてのプログラミングレベルだぞお前
設計がよろしくないねwwww
しゃしゃんな無能w
おめーの設計()の方がよっぽどよろしくないわw
煽りじゃなくてマジもんのクソだっつーのそのUI
しかもコードは小学生の初めてのプログラミングレベルだぞお前
275デフォルトの名無しさん (アークセー Sx4d-ynyw)
2017/09/20(水) 21:37:54.27ID:sWNWre39x >>274
スゲー承認しました
スゲー承認しました
276デフォルトの名無しさん (スプッッ Sdf3-wsdZ)
2017/09/20(水) 22:21:19.53ID:JB1iCPlvd ちなみにこんなのが出来ました
B5をダブルクリックすると画像のように検索フォームが出て来る
フォームにabと入力してエンター押すとabを含んだリストが出て来る
http://imgur.com/qzmxOJp.jpg
リストのabdをダブルクリックするとB5にabdが貼り付けされて検索フォームが閉じる
http://imgur.com/jVKEH0a.jpg
↓を参考にしてみたけどRowSourceに値をセットするっていうのがよくわからなかったから空欄にした
http://infith.com/system/excel/vba_form_find/
VBAというかプログラミング初めてなので勉強になりました
みなさまありがとう
B5をダブルクリックすると画像のように検索フォームが出て来る
フォームにabと入力してエンター押すとabを含んだリストが出て来る
http://imgur.com/qzmxOJp.jpg
リストのabdをダブルクリックするとB5にabdが貼り付けされて検索フォームが閉じる
http://imgur.com/jVKEH0a.jpg
↓を参考にしてみたけどRowSourceに値をセットするっていうのがよくわからなかったから空欄にした
http://infith.com/system/excel/vba_form_find/
VBAというかプログラミング初めてなので勉強になりました
みなさまありがとう
277デフォルトの名無しさん (ワッチョイ 5b6d-laG6)
2017/09/20(水) 22:31:46.25ID:pHDT776b0278デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/20(水) 23:02:00.90ID:1NkuNAa7a279デフォルトの名無しさん (ワッチョイ 993d-XDX8)
2017/09/20(水) 23:22:24.26ID:rbLHucI/0280デフォルトの名無しさん (アウアウカー Sa1d-+tv6)
2017/09/20(水) 23:30:23.54ID:1NkuNAa7a >>276
そこのサイトのコードだと毎回下記手順になるんだけどそれでOK?
セルダブルクリック
テキストボックス入力
リストボックスダブルクリック
以下繰り返し
間違って別のセルダブルクリックしたらフォーム閉じなきゃならんし、
連続して入力していくならフォームはモードレスにしてリストボックスのダブルクリックで閉じないようにした方が良い。
セルダブルクリックの中の
frm_Kamoku.Show
を
frm_Kamoku.Show vbModeless
に変更して
リストボックスダブルクリックの中の
Unload Me
をコメントアウトするだけ。
フォーム表示中にリストボックスダブルクリックで入力するセルが選択できるようになる。
フォームの終了はxボタンで。
そこのサイトのコードだと毎回下記手順になるんだけどそれでOK?
セルダブルクリック
テキストボックス入力
リストボックスダブルクリック
以下繰り返し
間違って別のセルダブルクリックしたらフォーム閉じなきゃならんし、
連続して入力していくならフォームはモードレスにしてリストボックスのダブルクリックで閉じないようにした方が良い。
セルダブルクリックの中の
frm_Kamoku.Show
を
frm_Kamoku.Show vbModeless
に変更して
リストボックスダブルクリックの中の
Unload Me
をコメントアウトするだけ。
フォーム表示中にリストボックスダブルクリックで入力するセルが選択できるようになる。
フォームの終了はxボタンで。
281デフォルトの名無しさん (ワッチョイ 398b-MDSF)
2017/09/20(水) 23:31:16.68ID:6Jeed1fg0 >>278
初心者の人?wwwwwww
いやw初心者はお前だからw
何をどう勘違いしたらこうもマヌケな発言が出来るのかねw
そもそもお前のクズコードなんぞ批評の土台にすら登っとらんわ
のぼせ上がんのもいい加減にしろクズ
初心者の人?wwwwwww
いやw初心者はお前だからw
何をどう勘違いしたらこうもマヌケな発言が出来るのかねw
そもそもお前のクズコードなんぞ批評の土台にすら登っとらんわ
のぼせ上がんのもいい加減にしろクズ
282デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/21(木) 00:04:37.10ID:OcnLMsdka283デフォルトの名無しさん (ワッチョイ 466d-mTZU)
2017/09/21(木) 00:07:50.25ID:GdqtYoiF0 こんな華やかなコメントアウトって使う?
'*********:*********:*********:
' このプログラムはaでbです
'*********:*********:*********:
'*********:*********:*********:
' このプログラムはaでbです
'*********:*********:*********:
284デフォルトの名無しさん (ワッチョイ 4623-PvnN)
2017/09/21(木) 00:11:10.32ID:vjoJajys0 >>276
自分がよく使う、なんちゃってインクリメンタルサーチコードを差し上げよう。
一文字打つごとに検索結果が絞り込まれるよ。
検索ボックスのChangeイベントにコピペしてオブジェクト名は書き換えて試してみてね。
数百件ならラグもないはず。
Private Sub TextBox1_Change()
Dim ce As Range
Dim ws As Worksheet
Set ws = Worksheets("対象シート")
If TextBox1.Text = "" Then Exit Sub
With ListBox1 ’検索結果を表示するリストボックス
.Clear
For Each ce In ws.Range("検索するセル範囲")
If StrConv(UCase(ce.Text), vbNarrow) Like "*" & StrConv(UCase(TextBox1.Text), vbNarrow) & "*" Then
.AddItem ce.Text
End If
Next
End With
End Sub
自分がよく使う、なんちゃってインクリメンタルサーチコードを差し上げよう。
一文字打つごとに検索結果が絞り込まれるよ。
検索ボックスのChangeイベントにコピペしてオブジェクト名は書き換えて試してみてね。
数百件ならラグもないはず。
Private Sub TextBox1_Change()
Dim ce As Range
Dim ws As Worksheet
Set ws = Worksheets("対象シート")
If TextBox1.Text = "" Then Exit Sub
With ListBox1 ’検索結果を表示するリストボックス
.Clear
For Each ce In ws.Range("検索するセル範囲")
If StrConv(UCase(ce.Text), vbNarrow) Like "*" & StrConv(UCase(TextBox1.Text), vbNarrow) & "*" Then
.AddItem ce.Text
End If
Next
End With
End Sub
285デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/21(木) 00:26:32.97ID:OcnLMsdka >>283
???
使う人もいるでしょ。
俺も使う時あるし。
こんなのも使うな
' /////////////////////////////////////////////////////////////////////////////////////
' //#名称 Auto_Open
' //
' //#概要 ブックを開いたときの処理(Excelの特殊関数)
' //
' //#引数 なし
' //
' //#戻値 なし
' //
' //#解説
' //
' //#履歴 2017/09/21
' // Coded by Hogeta Hogeo
' //
' /////////////////////////////////////////////////////////////////////////////////////
???
使う人もいるでしょ。
俺も使う時あるし。
こんなのも使うな
' /////////////////////////////////////////////////////////////////////////////////////
' //#名称 Auto_Open
' //
' //#概要 ブックを開いたときの処理(Excelの特殊関数)
' //
' //#引数 なし
' //
' //#戻値 なし
' //
' //#解説
' //
' //#履歴 2017/09/21
' // Coded by Hogeta Hogeo
' //
' /////////////////////////////////////////////////////////////////////////////////////
286デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/21(木) 00:34:34.85ID:OcnLMsdka287デフォルトの名無しさん (ワッチョイ af8b-lQLN)
2017/09/21(木) 06:16:04.60ID:dREmj5Qv0 >>282
朝から笑わせてもらったw
なぜお前らはそこまで勘違い出来るのか?
勘違いこそが教えたがりクンになれる素養なのか?
大体分かってたけどw
まあお前らが勝手に勘違いしてるだけならいいが
他人に嘘を教えようとしたら盛大に告発させてもらうわw
朝から笑わせてもらったw
なぜお前らはそこまで勘違い出来るのか?
勘違いこそが教えたがりクンになれる素養なのか?
大体分かってたけどw
まあお前らが勝手に勘違いしてるだけならいいが
他人に嘘を教えようとしたら盛大に告発させてもらうわw
288デフォルトの名無しさん (ササクッテロレ Spa3-vm6H)
2017/09/21(木) 07:36:17.84ID:JiFdzG0np ここまで具体的な指摘なし
289デフォルトの名無しさん (ワッチョイ 466d-PvnN)
2017/09/21(木) 07:48:27.04ID:GdqtYoiF0 >>285
あぁ、そういう風に使うのか、ありがとう
あぁ、そういう風に使うのか、ありがとう
290デフォルトの名無しさん (アークセー Sxa3-7O1h)
2017/09/21(木) 08:27:55.66ID:Fp/Plhwox >>281
スゲー承認しました
スゲー承認しました
291デフォルトの名無しさん (アークセー Sxa3-7O1h)
2017/09/21(木) 08:28:32.33ID:Fp/Plhwox >>287
スゲー承認しました
スゲー承認しました
292デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/21(木) 17:33:45.86ID:w3PiJp4aa293デフォルトの名無しさん (スプッッ Sd4a-Ir9i)
2017/09/21(木) 17:40:03.03ID:3c3Fmrq2d >>276です
皆さんありがとうございます
質問なんですが
http://infith.com/system/excel/vba_form_find/
によると
RowSourceに"科目マスタ!A2:A" & wLastGyouを入れないといけなのでしょうか?
プロパティのRowSourceに値を入れようとしてもエラーが出ます
皆さんありがとうございます
質問なんですが
http://infith.com/system/excel/vba_form_find/
によると
RowSourceに"科目マスタ!A2:A" & wLastGyouを入れないといけなのでしょうか?
プロパティのRowSourceに値を入れようとしてもエラーが出ます
294デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/21(木) 18:42:41.24ID:w3PiJp4aa >>293
そもそも、どうしてRowSourceにこだわってんの?
君のやりたいことでは必要無いと思ってたんだが。
RowSourceってのは融通が効かないから自分は基本使わないんだが、エラーになってるとしたらRowSourceとAddItemが共存出来ると思ってるとかかな。
RowSourceはシートの指定範囲のデータをリストにするもので、そこに追加やそこから削除は出来ない。
指定範囲のデータだけでリストは完結することになる。
そこでそのリンク先でも絞り込みの前に.RowSource=""を入れてる。
そもそも、どうしてRowSourceにこだわってんの?
君のやりたいことでは必要無いと思ってたんだが。
RowSourceってのは融通が効かないから自分は基本使わないんだが、エラーになってるとしたらRowSourceとAddItemが共存出来ると思ってるとかかな。
RowSourceはシートの指定範囲のデータをリストにするもので、そこに追加やそこから削除は出来ない。
指定範囲のデータだけでリストは完結することになる。
そこでそのリンク先でも絞り込みの前に.RowSource=""を入れてる。
295デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/21(木) 18:48:44.67ID:w3PiJp4aa296デフォルトの名無しさん (ワッチョイ af8b-lQLN)
2017/09/21(木) 22:35:38.87ID:dREmj5Qv0 >>292
批判wwwwww
批評の土台にすら登ってないと何度言えばw
自分の無知無能に蓋をして見たいものしか見てないんだよお前らは
勇気を出して一度自分の無能と真剣に向きあってみ?
頭が悪くても少しは世界が変わるから…何も変わらんかもしれんけどなw
批判wwwwww
批評の土台にすら登ってないと何度言えばw
自分の無知無能に蓋をして見たいものしか見てないんだよお前らは
勇気を出して一度自分の無能と真剣に向きあってみ?
頭が悪くても少しは世界が変わるから…何も変わらんかもしれんけどなw
297デフォルトの名無しさん (ササクッテロレ Spa3-vm6H)
2017/09/21(木) 22:38:43.69ID:JiFdzG0np 依然として具体的な指摘なし
298デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/21(木) 23:08:08.58ID:u5EL98RNa299デフォルトの名無しさん (ワッチョイ af8b-lQLN)
2017/09/21(木) 23:45:26.82ID:dREmj5Qv0 >>298
技術的要素wwwwwww
とことん笑わせてくれるなお前w
相手にされてないのに必死にアピールして虚しくならないのかバカという人種はw
これがお前らの大好きな承認欲求ってやつだろw
他人に認められたかったらまず自分の無知無能を自覚しろよ
話はそこからだ、そうすれば少しは周りも認めてくれるんじゃね?
…あ、バカが居る…てなw
技術的要素wwwwwww
とことん笑わせてくれるなお前w
相手にされてないのに必死にアピールして虚しくならないのかバカという人種はw
これがお前らの大好きな承認欲求ってやつだろw
他人に認められたかったらまず自分の無知無能を自覚しろよ
話はそこからだ、そうすれば少しは周りも認めてくれるんじゃね?
…あ、バカが居る…てなw
300デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/21(木) 23:55:14.64ID:u5EL98RNa301デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/21(木) 23:57:08.45ID:u5EL98RNa 本当に、何言ってるか理解出来ないから、振った話には一切言及出来ない。
こういう所でレベルが透けるんだよなあ。
こういう所でレベルが透けるんだよなあ。
302デフォルトの名無しさん (ワッチョイ af8b-bXGz)
2017/09/22(金) 00:05:31.90ID:XNPiuLNV0 もうなりふり構ってられなくなったなw
いいよその調子w
いいよその調子w
303デフォルトの名無しさん (アークセー Sxa3-7O1h)
2017/09/22(金) 01:17:48.87ID:TDU45J/zx >>299
なんで相手してるんだ?
なんで相手してるんだ?
304デフォルトの名無しさん (ワッチョイ 06e4-XBbO)
2017/09/22(金) 02:57:45.48ID:zgKhpRaR0 久しぶりにこのスレ戻ってきたけどまた随分荒れてるね。
まぁどんな手法で作った方が良いかなんてそのときのシュチュエーションで決まるものだから
議論してもあまり意味がないと思うよ。
そんなことより変更に対して厳しく、追加に対しては寛容になるような作りにするような
もっと基本的なことを念頭におくようにした方がより効率的に改修出来たりするよ。
まぁどんな手法で作った方が良いかなんてそのときのシュチュエーションで決まるものだから
議論してもあまり意味がないと思うよ。
そんなことより変更に対して厳しく、追加に対しては寛容になるような作りにするような
もっと基本的なことを念頭におくようにした方がより効率的に改修出来たりするよ。
305デフォルトの名無しさん (ワッチョイ af8b-lQLN)
2017/09/22(金) 07:49:01.52ID:XNPiuLNV0 また教えたがりが一匹ふえたw
306デフォルトの名無しさん (ワッチョイ 0f73-Dazs)
2017/09/22(金) 08:36:54.40ID:q9/2ZYK50 質問スレに質問と回答以外の事を書き込むなよな
307デフォルトの名無しさん (スフッ Sdaa-NQgr)
2017/09/22(金) 10:26:04.56ID:BmGv97NWd308デフォルトの名無しさん (オッペケ Sra3-HalC)
2017/09/22(金) 10:44:51.56ID:FdbOU1iGr VBAに高階関数ってないんすかね?
309デフォルトの名無しさん (スップ Sd4a-6FY3)
2017/09/22(金) 11:45:21.15ID:JBjlrBKTd310デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/23(土) 05:57:25.45ID:3crN9LRXa311デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/23(土) 09:39:55.56ID:hX9NlXapa ルールで縛らないで良いなら質問と回答以外書き込むなと書くこともアリだろ。
アホなこと書いても良いが、その分そいつが批判されるのも仕方ないということ。
アホな初心者がかつて批判されたことを根にもって相手の力量も分からずに噛みついてるんだから批判されても仕方ない。
アホなこと書いても良いが、その分そいつが批判されるのも仕方ないということ。
アホな初心者がかつて批判されたことを根にもって相手の力量も分からずに噛みついてるんだから批判されても仕方ない。
312デフォルトの名無しさん (オッペケ Sra3-HalC)
2017/09/23(土) 09:50:48.00ID:3ppsxCRMr313デフォルトの名無しさん (ワッチョイ 0a06-hoCt)
2017/09/23(土) 11:22:54.85ID:ck0qiPja0 VBAにラムダ式を望むなよ
314デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/23(土) 12:43:51.76ID:s+vr+Saza315デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/23(土) 12:55:31.84ID:dWsmcDp10 >>312
filterってなに?
filterってなに?
316デフォルトの名無しさん (ドコグロ MMc2-gXon)
2017/09/23(土) 12:58:26.11ID:pHSma+nnM 2ch初心者か?
肩の力抜けよ
肩の力抜けよ
317デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/23(土) 13:44:03.04ID:dWsmcDp10318デフォルトの名無しさん (ワッチョイ 3b6f-HalC)
2017/09/23(土) 13:49:15.21ID:HcxyMvzb0 >>313
HaskellでNLPやってて、小回り利くなと感じた。エクセルの事務作業と相性いい。
>315
エクセルのフィルターとまさに同じ、
例えば[10,2,34,401]から偶数を抜きたければ、
filter (\x -> mod x 2 == 0) [10,2,34,401]などとやる。
桁が三桁のを抜くなら、
filter (\x -> length x == 3) [10,2,34,401]とか。
HaskellでNLPやってて、小回り利くなと感じた。エクセルの事務作業と相性いい。
>315
エクセルのフィルターとまさに同じ、
例えば[10,2,34,401]から偶数を抜きたければ、
filter (\x -> mod x 2 == 0) [10,2,34,401]などとやる。
桁が三桁のを抜くなら、
filter (\x -> length x == 3) [10,2,34,401]とか。
319デフォルトの名無しさん (ワッチョイ 3b6f-HalC)
2017/09/23(土) 13:50:46.59ID:HcxyMvzb0 >>317
まさにそれですね。
まさにそれですね。
320デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/23(土) 14:02:25.24ID:dWsmcDp10 Haskellは三日坊主で終わったとはいえヤバい
321デフォルトの名無しさん (ワッチョイ 466d-XBbO)
2017/09/23(土) 14:09:02.53ID:BetVnWHy0 EXCELはシートにSQLが使えるから場合によってはそっちの方が使えるのでは。
LINQやラムダ式でガッツリやりたいのであれば
もうEXCELの範疇を超えているので
.netでentityFreamworkとか使ってやった方がいいと思うよ。
LINQやラムダ式でガッツリやりたいのであれば
もうEXCELの範疇を超えているので
.netでentityFreamworkとか使ってやった方がいいと思うよ。
322デフォルトの名無しさん (ワッチョイ 3b6f-HalC)
2017/09/23(土) 15:07:07.52ID:HcxyMvzb0 >>321
ありがとう、調べてみます。
ありがとう、調べてみます。
323デフォルトの名無しさん (ワッチョイ 06bf-ufUr)
2017/09/23(土) 17:39:07.55ID:6qmI5T+w0 do while not eofと do until eofは同じですか?
324デフォルトの名無しさん (ワッチョイ 4ab3-UH40)
2017/09/23(土) 18:26:20.13ID:hvHU1vjm0325デフォルトの名無しさん (ワッチョイ 06bf-ufUr)
2017/09/23(土) 18:38:13.30ID:6qmI5T+w0326デフォルトの名無しさん (ワッチョイ 06e4-vS2A)
2017/09/23(土) 19:18:36.34ID:paUCbsLX0 >>324-325
特定の状況では結果が異なるから完全に同一ではないけどな
Sub test()
Dim eof As Variant
eof = Null
Do Until eof
MsgBox "Untilを実行した"
Exit Do
Loop
Do While Not eof
MsgBox "While実行した"
Exit Do
Loop
End Sub
eofがTrue/Falseしかないなら同じ動作だけど、そのどっちでもない場合は同じ動作するとは限らん
Null扱うなら覚えておかないとはまるぞ
特定の状況では結果が異なるから完全に同一ではないけどな
Sub test()
Dim eof As Variant
eof = Null
Do Until eof
MsgBox "Untilを実行した"
Exit Do
Loop
Do While Not eof
MsgBox "While実行した"
Exit Do
Loop
End Sub
eofがTrue/Falseしかないなら同じ動作だけど、そのどっちでもない場合は同じ動作するとは限らん
Null扱うなら覚えておかないとはまるぞ
327デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/23(土) 19:31:29.38ID:ljq3IKQ50 Notはビット反転だから真偽値以外だと挙動が変わるわな。
Nullは色んな判定を挟む前にFalseを返す仕組みのはずだから、また問題が違うような気もするけど。
Nullは色んな判定を挟む前にFalseを返す仕組みのはずだから、また問題が違うような気もするけど。
328デフォルトの名無しさん (ワッチョイ 06e4-vS2A)
2017/09/23(土) 19:56:35.16ID:paUCbsLX0329デフォルトの名無しさん (ワッチョイ 4ab3-UH40)
2017/09/23(土) 20:57:28.95ID:hvHU1vjm0 >引数 condition は偽 (False) であるとみなされます。
自分で答えを書いているように思うが。
自分で答えを書いているように思うが。
330デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/23(土) 21:10:26.95ID:ljq3IKQ50 俺が「Falseを返す」と表現したのが悪かったな。
「Nullが含まれる式は必ずFalseとして判定される」と書かなきゃいけなかった。
「Nullが含まれる式は必ずFalseとして判定される」と書かなきゃいけなかった。
331デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/23(土) 21:13:02.41ID:dWsmcDp10 関係ないけど Not 1 が False 扱いにならないのは地味に不便だ
332デフォルトの名無しさん (ワッチョイ 06e4-vS2A)
2017/09/23(土) 22:09:48.51ID:paUCbsLX0333デフォルトの名無しさん (ワッチョイ 466d-uAR+)
2017/09/23(土) 22:56:39.62ID:7cmO2hJI0 vbaとExcelで数値とbooleanの変換が変わるのは怖い
334デフォルトの名無しさん (ワッチョイ 238f-PvnN)
2017/09/24(日) 00:06:38.99ID:CZiBIXmW0 きっと〜、あなたは もどってくるだろぅをー
335デフォルトの名無しさん (ワッチョイ af8b-bXGz)
2017/09/24(日) 02:19:39.33ID:3BjqQEbI0 ハイ戻ってきましたぁ!
また調子こいた教えたがりがしゃしゃってんのか?
バカはどいつだ?
また調子こいた教えたがりがしゃしゃってんのか?
バカはどいつだ?
336デフォルトの名無しさん (イモイモ Se66-Dc1X)
2017/09/24(日) 03:07:22.68ID:2VO5tOtwe ∧_∧
( ´・ω・)
( つ旦O
と_)_)
( ´・ω・)
( つ旦O
と_)_)
337デフォルトの名無しさん (ワッチョイ 2b8f-z8ZY)
2017/09/24(日) 08:32:58.01ID:wIEwKcgM0 >>331
Not 1と書くシーンがわからんが、素直に(?)Not TrueとかFalse とか書けば?
Not 1と書くシーンがわからんが、素直に(?)Not TrueとかFalse とか書けば?
338デフォルトの名無しさん (ワッチョイ eb6f-Dc1X)
2017/09/24(日) 08:50:08.02ID:y7FzpsGf0 ドイツの技術は世界一ィィィ
339デフォルトの名無しさん (ワッチョイ 466d-PvnN)
2017/09/24(日) 08:51:55.94ID:sE41CGP30 Not Trueは新しいな
340デフォルトの名無しさん (ワッチョイ 466d-2rpO)
2017/09/24(日) 08:53:02.43ID:sE41CGP30 ツール→参照設定で全てを参照する方法はありますか?
341デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 09:43:55.42ID:SDtHFGLja >>314
ここで言われてる初心者ってのは殆どの場合、他の言語も初心者ってことだぞ。
技術的に初心者だから初心者と呼ばれてる訳じゃない。
自分の画面を見ることが出来ない相手にも伝わるように書くとか、条件を小出しにするとか、相手をロボットか何かと勘違いしてるような初心者以前の問題が有るから否定的な意味で初心者と言われてる。
それにVBAを片手間とか簡単に言うのもどうなんかね?
あまり使ったこと無い奴ほどそういうこと言ってるような気がするね。
内容が何ーつ無くて罵倒しか出来ない初心者君の真価が問われてる。
ここで言われてる初心者ってのは殆どの場合、他の言語も初心者ってことだぞ。
技術的に初心者だから初心者と呼ばれてる訳じゃない。
自分の画面を見ることが出来ない相手にも伝わるように書くとか、条件を小出しにするとか、相手をロボットか何かと勘違いしてるような初心者以前の問題が有るから否定的な意味で初心者と言われてる。
それにVBAを片手間とか簡単に言うのもどうなんかね?
あまり使ったこと無い奴ほどそういうこと言ってるような気がするね。
内容が何ーつ無くて罵倒しか出来ない初心者君の真価が問われてる。
342デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 09:51:58.93ID:gFeQddMX0343デフォルトの名無しさん (ワッチョイ 2b8f-z8ZY)
2017/09/24(日) 10:06:08.42ID:wIEwKcgM0 >>339
ワシにとって Not 1はNot true程度には奇抜や
ワシにとって Not 1はNot true程度には奇抜や
344デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 10:11:23.30ID:gFeQddMX0 Not 1 は普通に使うけど?
LSB だけ変更したい時とか
LSB だけ変更したい時とか
345デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 10:26:12.50ID:J5lzydll0 「Not 1」と直接書くわけじゃなくて0/1を返す関数の返り値に対してのことだろ
346デフォルトの名無しさん (スププ Sdaa-z8ZY)
2017/09/24(日) 10:29:39.61ID:D9ok3B4cd347デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 11:00:50.23ID:gFeQddMX0348デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 11:49:34.08ID:SDtHFGLja349デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 12:09:02.98ID:gFeQddMX0 >>348
スッカスカの内容あるとか言われてもなぁ w
スッカスカの内容あるとか言われてもなぁ w
350デフォルトの名無しさん (ワッチョイ 466d-PvnN)
2017/09/24(日) 12:51:48.98ID:sE41CGP30 >>349
君のレスには内容ないけど、Sa6b-XzByは内容のあるレスをし続けているぞ
君のレスには内容ないけど、Sa6b-XzByは内容のあるレスをし続けているぞ
351デフォルトの名無しさん (ドコグロ MMc2-gXon)
2017/09/24(日) 13:05:01.11ID:/081jZZtM352デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 13:52:50.28ID:SDtHFGLja353デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 15:19:23.40ID:gFeQddMX0 >>352
いったいお前は誰と戦ってるんだよ w
いったいお前は誰と戦ってるんだよ w
354デフォルトの名無しさん (ワッチョイ af8b-bXGz)
2017/09/24(日) 15:25:16.48ID:3BjqQEbI0 このバカよっぽど悔しかったんだなw
支離滅裂だけど悔しさだけは痛い程伝わるよ ID:SDtHFGLjaくん
だが俺にバカを嘲笑うのをやめろと言うのは土台無理な話だ
だってバカは面白いんだものw
これくらいはその小さな脳ミソでも理解出来るよね?おバカさんw
支離滅裂だけど悔しさだけは痛い程伝わるよ ID:SDtHFGLjaくん
だが俺にバカを嘲笑うのをやめろと言うのは土台無理な話だ
だってバカは面白いんだものw
これくらいはその小さな脳ミソでも理解出来るよね?おバカさんw
355デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/24(日) 16:43:54.18ID:vk2rgPVS0 この罵倒しかしないヤツはVBAコードの一つも読めないのに何年も前から張り付いている本当の意味での異常者で、
どうも現実の生活で誰にも構ってもらえないからネットで罵倒を繰り返してレスポンスをもらって喜んでいるみたいなので、
各員は餌を与えないでください。いつまでも無意味なレスがついて荒れるだけです。
対策として「晒したコードに対し具体的なコードをつけて指摘しているもの以外は相手にしない」っていうテンプレでも追加してほしい。
どうも現実の生活で誰にも構ってもらえないからネットで罵倒を繰り返してレスポンスをもらって喜んでいるみたいなので、
各員は餌を与えないでください。いつまでも無意味なレスがついて荒れるだけです。
対策として「晒したコードに対し具体的なコードをつけて指摘しているもの以外は相手にしない」っていうテンプレでも追加してほしい。
356デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 16:48:20.79ID:jWeMnfEta357デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 16:53:01.46ID:jWeMnfEta358デフォルトの名無しさん (ワッチョイ 466d-NfCk)
2017/09/24(日) 16:54:20.86ID:sE41CGP30359デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 16:59:29.20ID:J5lzydll0 そんなことより、
0以外の数値をTrue扱いしたいのに、
If Not x が IfNot (x)じゃなくて If (Not x) なのが非常によろしくない
0以外の数値をTrue扱いしたいのに、
If Not x が IfNot (x)じゃなくて If (Not x) なのが非常によろしくない
360デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 17:04:51.18ID:J5lzydll0361デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 17:05:32.05ID:jWeMnfEta >>358
コメントの代わりに
#If 0 Then
は昔よく使ってたなあ。
最近は全く使わなくなった。
Not 1もNot TrueもIf -1 Thenも使ったこと無いな。
こういうのはその人の趣味というか癖みたいな問題だわな。
どれが良いとか悪いとかの問題じゃない。
コメントの代わりに
#If 0 Then
は昔よく使ってたなあ。
最近は全く使わなくなった。
Not 1もNot TrueもIf -1 Thenも使ったこと無いな。
こういうのはその人の趣味というか癖みたいな問題だわな。
どれが良いとか悪いとかの問題じゃない。
362デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/24(日) 17:08:48.88ID:vk2rgPVS0 しかし言うほど
If Not [Integer] Then
という書き方をするだろうか?
If Not Book Is Nothing Then
みたいな書き方はするけど、数値でNot使う事自体あんまりない気がする。
If Not [Integer] Then
という書き方をするだろうか?
If Not Book Is Nothing Then
みたいな書き方はするけど、数値でNot使う事自体あんまりない気がする。
363デフォルトの名無しさん (ワッチョイ a71e-NQgr)
2017/09/24(日) 17:09:54.28ID:3B64fACL0 MS系のBASICはずっと昔から「0」と「0以外」で真偽を判定するから、論理式では1もNot 1もありえない
もちろん-1なんかも使わない
俺の知る限り、約40年前に発売されたN-BASICの時代からこの仕様は変わってない
もちろん-1なんかも使わない
俺の知る限り、約40年前に発売されたN-BASICの時代からこの仕様は変わってない
364デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 17:11:40.94ID:gFeQddMX0365デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 17:14:57.98ID:gFeQddMX0366デフォルトの名無しさん (ワッチョイ 466d-NfCk)
2017/09/24(日) 17:20:20.54ID:sE41CGP30367デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 17:29:04.13ID:gFeQddMX0 >>330
> 「Nullが含まれる式は必ずFalseとして判定される」と書かなきゃいけなかった。
ところがどっこい
If 2 Or Null Then 〜 Else 〜 End If
は True (と言うか整数の2)と評価されたりするんだな
0 Or Null は Null になるとか挙動が読めないけど
@Excel 2013
> 「Nullが含まれる式は必ずFalseとして判定される」と書かなきゃいけなかった。
ところがどっこい
If 2 Or Null Then 〜 Else 〜 End If
は True (と言うか整数の2)と評価されたりするんだな
0 Or Null は Null になるとか挙動が読めないけど
@Excel 2013
368デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 17:29:31.46ID:jWeMnfEta369デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 17:30:59.09ID:gFeQddMX0 >>366
True ならわかるけどFalseが0以外の言語ってあったっけ?
True ならわかるけどFalseが0以外の言語ってあったっけ?
370デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 17:34:26.89ID:gFeQddMX0371デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 17:38:18.30ID:jWeMnfEta372デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 18:38:38.48ID:yAXo7hpi0 >>358
だろうな。ワシも書いたの初めてや。そのレベルの奇抜さって事。
だろうな。ワシも書いたの初めてや。そのレベルの奇抜さって事。
373デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 18:50:18.13ID:J5lzydll0 isSomeStatusが整数を返す関数のとき
If isSomeStatus(x) Then 〜
を使ってて、つい
If Not isSomeStatus(x) Then 〜
と書いてしまうことはない?
If isSomeStatus(x) Then 〜
を使ってて、つい
If Not isSomeStatus(x) Then 〜
と書いてしまうことはない?
374デフォルトの名無しさん (ワッチョイ af8b-lQLN)
2017/09/24(日) 18:54:12.91ID:3BjqQEbI0375デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 20:10:34.74ID:gFeQddMX0 >>373
> isSomeStatusが整数を返す関数のとき
なら
> If isSomeStatus(x) Then 〜
なんて書かないで
If isSomeStatus(x) <> 0 Then 〜
って書く
> isSomeStatusが整数を返す関数のとき
なら
> If isSomeStatus(x) Then 〜
なんて書かないで
If isSomeStatus(x) <> 0 Then 〜
って書く
376デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 20:15:55.53ID:yAXo7hpi0377デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/24(日) 20:21:50.61ID:vk2rgPVS0 使ってるうちに関数の返値型は暗記するし、そもそも一度は確認するだろうから、
真偽値以外でNotをうっかり使うというケースはあんまりなさそう。
というかうっかりNot 整数をやっちゃったぜって事ならイミディエイトウィンドウで確認する癖を付けた方がいいと思う。
真偽値以外でNotをうっかり使うというケースはあんまりなさそう。
というかうっかりNot 整数をやっちゃったぜって事ならイミディエイトウィンドウで確認する癖を付けた方がいいと思う。
378デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 20:22:09.47ID:J5lzydll0 >>375-376
なるほど
なるほど
379デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 20:25:18.45ID:J5lzydll0 組み込みの Is〜 が As Boolean になっているけど
自分の Is〜 は As Long にしたくてそうしてるんだけど、返り値を受けた時の書き方を
統一的に扱えないのが悩みの種なんですよね...
自分の Is〜 は As Long にしたくてそうしてるんだけど、返り値を受けた時の書き方を
統一的に扱えないのが悩みの種なんですよね...
380デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 20:48:20.98ID:yAXo7hpi0 >>379
それは(失礼を承知で言えば、)ネーミングにセンスが無い。isほにゃららFunctionはBooleanに統一すべし。
それは(失礼を承知で言えば、)ネーミングにセンスが無い。isほにゃららFunctionはBooleanに統一すべし。
381デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 21:04:44.94ID:J5lzydll0382デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/24(日) 21:06:12.98ID:vk2rgPVS0 同じ関数名で宣言するとユーザー定義関数の方が優先されるはずだから、
いっそ組み込み系のIs〜を全て再定義してしまえばいいのではないだろうか。
いっそ組み込み系のIs〜を全て再定義してしまえばいいのではないだろうか。
383デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 21:12:51.54ID:J5lzydll0 もちろん「Isなんちゃら〜」の返り値を合計した後で -1 をかければいいんだけど、
Trueが-1であることに依存するのもなんかこう、しっくりこないんですよね。
Trueが-1であることに依存するのもなんかこう、しっくりこないんですよね。
384デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 21:15:05.28ID:yAXo7hpi0 >>381
うむ、気持ちはわからないでは無いがそれは駄目だ。関数名cntなんとかとかnumなんとかとか「〜の数を返す」ヤツらルールを決めて統一すべし。
うむ、気持ちはわからないでは無いがそれは駄目だ。関数名cntなんとかとかnumなんとかとか「〜の数を返す」ヤツらルールを決めて統一すべし。
385デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 21:18:21.48ID:yAXo7hpi0 >>383
-1をかける、とかそんな言語仕様に強く依存する(グロテスクな)コーディングはしないほうが良いと思わない?
-1をかける、とかそんな言語仕様に強く依存する(グロテスクな)コーディングはしないほうが良いと思わない?
386デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 21:18:39.00ID:J5lzydll0387デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 21:24:09.04ID:yAXo7hpi0388デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 21:26:50.23ID:J5lzydll0 いや、
大改造はわくわくする
大改造はわくわくする
389デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 22:16:54.54ID:SDtHFGLja >>374
小学生に罵倒されれば誰でも頭に来る。
内容が無ければ尚更だ。
それに、小学生はきちんと躾ける主義でね。
バカにはちゃんとバカと言うべきなんだ。
質問に関係無いことしか書かないバカが人に対してここに来るななどと言う資格があるわけ無いだろう。
そんなことも分からないから小学生と呼ばれるんだ。
小学生に罵倒されれば誰でも頭に来る。
内容が無ければ尚更だ。
それに、小学生はきちんと躾ける主義でね。
バカにはちゃんとバカと言うべきなんだ。
質問に関係無いことしか書かないバカが人に対してここに来るななどと言う資格があるわけ無いだろう。
そんなことも分からないから小学生と呼ばれるんだ。
390デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 22:20:23.66ID:SDtHFGLja391デフォルトの名無しさん (ワッチョイ af8b-Ncsu)
2017/09/24(日) 22:24:54.53ID:3BjqQEbI0392デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 22:29:18.40ID:SDtHFGLja 元の引数の値に合計を入れて返しちゃうのはさすがに変な気がするけど。
393デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 22:30:18.80ID:SDtHFGLja394デフォルトの名無しさん (ワッチョイ af8b-Ncsu)
2017/09/24(日) 22:39:03.86ID:3BjqQEbI0395デフォルトの名無しさん (ワッチョイ 3bb1-Dc1X)
2017/09/24(日) 22:52:38.60ID:z5Fx3/zG0 誰か助けてください。
今日一日かけて作ったマクロが、先程エクセルがクラッシュしてしまい自動修復が働き、マクロだけ消失してしまいました。
クラッシュ直後のxlsmファイルをZIPにして「vbaProject.bin」を取り出したりは出来たのですが、
新しいxlsmに取り込んでもやっぱり開くと修復で消えてしまうようで・・・
何とかしてソースコードを取り出すことはできないでしょうか・・。
今日一日かけて作ったマクロが、先程エクセルがクラッシュしてしまい自動修復が働き、マクロだけ消失してしまいました。
クラッシュ直後のxlsmファイルをZIPにして「vbaProject.bin」を取り出したりは出来たのですが、
新しいxlsmに取り込んでもやっぱり開くと修復で消えてしまうようで・・・
何とかしてソースコードを取り出すことはできないでしょうか・・。
396デフォルトの名無しさん (アークセー Sxa3-ZMJA)
2017/09/24(日) 23:42:55.80ID:ALrIElNwx 一日で作れるマクロなら大した分量じゃないだろうしもう一回同じコードを組めば良いんじゃね
397デフォルトの名無しさん (ワッチョイ eb6f-Dc1X)
2017/09/24(日) 23:52:01.97ID:y7FzpsGf0398デフォルトの名無しさん (ワッチョイ 3bb1-Dc1X)
2017/09/24(日) 23:53:04.05ID:z5Fx3/zG0399デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/25(月) 00:00:34.87ID:vsx3Rgi+0400デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/25(月) 00:01:40.54ID:AH/NDHtT0 >>398
確かにエクセルは保存をかけても終了するまで保存しないんだよな。たぶんXML形式にして保存する関係からだとは思うけど。
自動バックアップからなら修復の可能性はあるけど、マクロだけ消えたならそのファイル自体は元々マクロ書く前の状態なんじゃないかな。
確かにエクセルは保存をかけても終了するまで保存しないんだよな。たぶんXML形式にして保存する関係からだとは思うけど。
自動バックアップからなら修復の可能性はあるけど、マクロだけ消えたならそのファイル自体は元々マクロ書く前の状態なんじゃないかな。
401デフォルトの名無しさん (ワッチョイ 4ab3-UH40)
2017/09/25(月) 00:02:16.67ID:Ch3TwtIS0 あはは、俺なんかそんなのしょっちゅうだぜW
ノリノリで良さげなコードが書けてる時に限って突然落ちやがるWW
もうね、マメに保存する癖を付けないとどうにもならないよね
ノリノリで良さげなコードが書けてる時に限って突然落ちやがるWW
もうね、マメに保存する癖を付けないとどうにもならないよね
402デフォルトの名無しさん (ワッチョイ 06e4-vS2A)
2017/09/25(月) 00:05:47.41ID:PaZojpJN0 >>367
Orのヘルプに書いてある通り
True Or Null はTrue
False Or Null はNull
で、
CBool(2)はTrue
CBool(0)はFalse
なので、仕様通りの動作ではある
Orはどちらかが真なら真なので、片方が不定でも真だという理屈だな
ショートサーキットしないくせにな
どちらかが偽なら、もう片方に従うから、もう片方が不定なら不定
まあ、理屈として考えれば納得はできる
Orのヘルプに書いてある通り
True Or Null はTrue
False Or Null はNull
で、
CBool(2)はTrue
CBool(0)はFalse
なので、仕様通りの動作ではある
Orはどちらかが真なら真なので、片方が不定でも真だという理屈だな
ショートサーキットしないくせにな
どちらかが偽なら、もう片方に従うから、もう片方が不定なら不定
まあ、理屈として考えれば納得はできる
403デフォルトの名無しさん (ワッチョイ 3bb1-Dc1X)
2017/09/25(月) 00:07:49.88ID:kbDcK8g50 >>396
朝から書き続けてたから1000行以上ある。かなりつらい。
何度同じような書いてもクラッシュするので原因を調査していたのですが、判明したので報告します。
Windows10 / Excel 2016
1.一番最初のコーディング中にクラッシュした原因
※そもそも取得のために引数にした配列を直接書き換えようとするのが間違いか。
↓下記変数を関数で生成
Dim fl() as string
call GetFileList(fl)
-----
function GetFileList(ByRef fl() as string)
Redim fl(1 to 123,1 to 1)
end function
-----
↓この構文を入力してEnter押すと必ずエクセルがクラッシュする。
ReDim Preserve fl(, 1 To 2)
↓正しいコード。これならクラッシュしない。
ReDim Preserve fl(LBound(fl) To UBound(fl), 1 To 2)
次レスへ続く
朝から書き続けてたから1000行以上ある。かなりつらい。
何度同じような書いてもクラッシュするので原因を調査していたのですが、判明したので報告します。
Windows10 / Excel 2016
1.一番最初のコーディング中にクラッシュした原因
※そもそも取得のために引数にした配列を直接書き換えようとするのが間違いか。
↓下記変数を関数で生成
Dim fl() as string
call GetFileList(fl)
-----
function GetFileList(ByRef fl() as string)
Redim fl(1 to 123,1 to 1)
end function
-----
↓この構文を入力してEnter押すと必ずエクセルがクラッシュする。
ReDim Preserve fl(, 1 To 2)
↓正しいコード。これならクラッシュしない。
ReDim Preserve fl(LBound(fl) To UBound(fl), 1 To 2)
次レスへ続く
404デフォルトの名無しさん (ワッチョイ 3bb1-Dc1X)
2017/09/25(月) 00:12:44.30ID:kbDcK8g50 >>403
2.クラッシュした後にマクロが消失した理由
とあるモジュール(*.bas)を取り込むと、上書き保存は問題なくできるのだが次回ブックを開いた時必ず「vbaProject.bin」が消失することが判明した。
クラッシュしなくなるまでの手順
@新規エクセルブックに移行
Aインポートしたbasのコードだけをコピーして新規モジュールに貼り付け
B下記のような定数があったので、FileSystemObjectのクラスと競合しないよう別の名前に変更
Enum flGetMode
File = 1
Folder = 2
All = 3
End Enum
↓
Enum flGetMode
flFile = 1
flFolder = 2
flAll = 3
End Enum
>>399
そうだな・・・今度からエクセル落とす前にモジュールだけ取り出すことにするわ。
>>400
エクセル、マジ、怖い EMK
>>401
今回のはマメに保存するというより、ブックを別ファイルにバックアップしないと対処できないかな。
今度から毎時間スナップショット撮るようにするわ
2.クラッシュした後にマクロが消失した理由
とあるモジュール(*.bas)を取り込むと、上書き保存は問題なくできるのだが次回ブックを開いた時必ず「vbaProject.bin」が消失することが判明した。
クラッシュしなくなるまでの手順
@新規エクセルブックに移行
Aインポートしたbasのコードだけをコピーして新規モジュールに貼り付け
B下記のような定数があったので、FileSystemObjectのクラスと競合しないよう別の名前に変更
Enum flGetMode
File = 1
Folder = 2
All = 3
End Enum
↓
Enum flGetMode
flFile = 1
flFolder = 2
flAll = 3
End Enum
>>399
そうだな・・・今度からエクセル落とす前にモジュールだけ取り出すことにするわ。
>>400
エクセル、マジ、怖い EMK
>>401
今回のはマメに保存するというより、ブックを別ファイルにバックアップしないと対処できないかな。
今度から毎時間スナップショット撮るようにするわ
405デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 03:13:19.89ID:eYOvRkV+a406デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 03:21:24.47ID:kQfKGPg6a407デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 03:26:59.82ID:kQfKGPg6a408デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/25(月) 06:57:33.96ID:vsx3Rgi+0 ExcelがクラッシュするならWord VBAで書けばいいのに
(半分マジ)
(半分マジ)
409デフォルトの名無しさん (ワッチョイ 0a06-hoCt)
2017/09/25(月) 07:18:55.09ID:CDmpdlRb0 >>399
ファイルのエクスポートってのは知ってるけど「モジュールごと」ってのは具体的にどうするんです?
ファイルのエクスポートってのは知ってるけど「モジュールごと」ってのは具体的にどうするんです?
410デフォルトの名無しさん (ワッチョイ 466d-uAR+)
2017/09/25(月) 07:24:22.76ID:dVWzg8Zn0 スプレッドシートで開いてみるとか
ファイル壊れてたらダメ化
ファイル壊れてたらダメ化
411デフォルトの名無しさん (ワッチョイ 06e4-XBbO)
2017/09/25(月) 07:25:07.82ID:5kCjH3U30 >>341
はっきり言おう
VBA自体が間口が広いために初心者が扱い易い言語ではあるが
大きなシステムやWeb系には向いていないために
全体から見れば「VBAの上級者」というのは
所詮井の中の蛙に過ぎない。
自称VBA上級者よりVBAの上級者じゃなくても
JAVAや.Netの知識を多少なりとも持っていて
そっちも出来るという方が基本的に給料が高いというのはそのせい。
つまりここで初心者がどうのと煽っている奴も
所詮は初心者の域を超えていない。
初心者が初心者を煽ってるだけ。
もっとも俺も自分を初心者じゃないなんてとても
おこがましくて言えないけどね。
はっきり言おう
VBA自体が間口が広いために初心者が扱い易い言語ではあるが
大きなシステムやWeb系には向いていないために
全体から見れば「VBAの上級者」というのは
所詮井の中の蛙に過ぎない。
自称VBA上級者よりVBAの上級者じゃなくても
JAVAや.Netの知識を多少なりとも持っていて
そっちも出来るという方が基本的に給料が高いというのはそのせい。
つまりここで初心者がどうのと煽っている奴も
所詮は初心者の域を超えていない。
初心者が初心者を煽ってるだけ。
もっとも俺も自分を初心者じゃないなんてとても
おこがましくて言えないけどね。
412デフォルトの名無しさん (ワッチョイ a71e-NQgr)
2017/09/25(月) 07:25:18.87ID:8Tm148qB0 >>409
VBEのプロジェクトエクスプローラでモジュール名を右クリ
VBEのプロジェクトエクスプローラでモジュール名を右クリ
413デフォルトの名無しさん (スップ Sd4a-6FY3)
2017/09/25(月) 07:36:56.29ID:VZWzPiEFd >>409
コードのコピペとか右クリからエクスポート(E)...じゃなくて直接ドラッグ&ドロップするの
コードのコピペとか右クリからエクスポート(E)...じゃなくて直接ドラッグ&ドロップするの
414デフォルトの名無しさん (ワッチョイ 466d-RgoO)
2017/09/25(月) 07:48:23.85ID:dVWzg8Zn0 >>411
その話題はもういいよ
その話題はもういいよ
415デフォルトの名無しさん (オッペケ Sra3-Ncsu)
2017/09/25(月) 12:29:49.86ID:nP4bJmmCr416デフォルトの名無しさん (ワントンキン MMfa-GOPe)
2017/09/25(月) 12:51:20.05ID:b3e1p2YsM 403だけど、会社のEXCELでも試してみたらやっぱりクラッシュする
redim aaa(,1 to 2)
まぁコードとしては間違いだから滅多にこんな書き方しないんだけどさ
でも
redim aaa(,1)
なら、ただのエラー(赤字)になるだけでクラッシュしないから納得行かないわ
一応MSには送っておいた。
参考まで。
redim aaa(,1 to 2)
まぁコードとしては間違いだから滅多にこんな書き方しないんだけどさ
でも
redim aaa(,1)
なら、ただのエラー(赤字)になるだけでクラッシュしないから納得行かないわ
一応MSには送っておいた。
参考まで。
417デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 13:08:28.70ID:eYOvRkV+a >>411
JAVAや.netのできる上級者も多いと思うが。
というか、上級者は他の言語もできる奴が多いだろ。
主戦上がどこかというだけだし、そもそも主戦上だって他言語の人もいるだろ。
俺がどうあってもかなわないと思う人はVBA上でアセンブラ使ってるし。
実際、俺も大したレベルじゃないがCやJAVA、.netも書くしアセンブラも勉強中。
VBA使いだからといってレベルが低いわけじゃない。
JAVAや.netのできる上級者も多いと思うが。
というか、上級者は他の言語もできる奴が多いだろ。
主戦上がどこかというだけだし、そもそも主戦上だって他言語の人もいるだろ。
俺がどうあってもかなわないと思う人はVBA上でアセンブラ使ってるし。
実際、俺も大したレベルじゃないがCやJAVA、.netも書くしアセンブラも勉強中。
VBA使いだからといってレベルが低いわけじゃない。
418デフォルトの名無しさん (スップ Sd4a-6FY3)
2017/09/25(月) 14:27:01.66ID:VZWzPiEFd419デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 16:13:22.32ID:715ByDora >>418
正確にはマシン語だね。
VBAとアセンブラでググれば見つかる。
マシン語のコードを変数に格納してメモリ操作して実行させる。
VBAの制限のために普通じゃ出来ないことをしようとする場合や普通に書くとどうしてもスマートじゃない場合に使う。
個人的に使いたい場面が2つ有るけど技術的に自分のものに出来て無いので使ったことは無いが。
正確にはマシン語だね。
VBAとアセンブラでググれば見つかる。
マシン語のコードを変数に格納してメモリ操作して実行させる。
VBAの制限のために普通じゃ出来ないことをしようとする場合や普通に書くとどうしてもスマートじゃない場合に使う。
個人的に使いたい場面が2つ有るけど技術的に自分のものに出来て無いので使ったことは無いが。
420デフォルトの名無しさん (スップ Sd4a-6FY3)
2017/09/25(月) 20:21:50.79ID:VZWzPiEFd >>419
確かに、ぐぐったらすぐに出てきたw
確かに、ぐぐったらすぐに出てきたw
421デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/25(月) 20:57:17.82ID:AH/NDHtT0 俺もマシン語とアセンブラ言語を勉強したなぁ。
早見表片手にバイナリ読むくらいのところまではいけたけど、
実際にメモリに転写して実行するとか手間が多すぎてあきらめたわ。
マシン語もシミュレータでOS作りに挑戦してHello Worldで止まってる。
早見表片手にバイナリ読むくらいのところまではいけたけど、
実際にメモリに転写して実行するとか手間が多すぎてあきらめたわ。
マシン語もシミュレータでOS作りに挑戦してHello Worldで止まってる。
422デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/25(月) 21:10:50.83ID:um3WFj5Ia >>419
これは駄目だないろんな意味で
これは駄目だないろんな意味で
423デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 22:14:52.84ID:715ByDora >>421
VBA上でやる場合はアセンブラが主体じゃなくてVBAで出来ない部分だけに適用するわけだから、アセンブラ自体はそれほど複雑じゃないと思う。
自分の場合は別の言語でmemcmp使ったことがあって、それをVBAに移植する場合に使いたい。
ただ、そのプログラムをVBAで実現する意味が薄いように感じるのと別にmemcmp使わなくても代替あるかもしれないんで実際に組むかどうかは分からないんだけど。
VBA上でやる場合はアセンブラが主体じゃなくてVBAで出来ない部分だけに適用するわけだから、アセンブラ自体はそれほど複雑じゃないと思う。
自分の場合は別の言語でmemcmp使ったことがあって、それをVBAに移植する場合に使いたい。
ただ、そのプログラムをVBAで実現する意味が薄いように感じるのと別にmemcmp使わなくても代替あるかもしれないんで実際に組むかどうかは分からないんだけど。
424デフォルトの名無しさん (スプッッ Sd4a-6FY3)
2017/09/25(月) 22:22:34.05ID:eJeLm77Wd なんでそんなにしてまで?
425デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/25(月) 22:35:59.26ID:AH/NDHtT0 >>423-424
まぁそこまでするなら別の言語にした方がいいというか、そもそも発想が逆というか。
オフィス製品を拡張する上で「守られた」プログラミングが出来るのがVBAの特徴だし、
目的を絞っているから実用的なプログラムを短時間でくみ上げられるという長所があるのであって、
マシン語まで勉強してやるくらいなら、その手の目的で作られたC++言語辺りを頼るべきなんだよな。
もちろんそれが出来ない環境だから俺もマシン語を勉強するに至ったんだけど、
けっきょく型安全すら保証されない世界で何かを組み上げるってのは趣味の世界の話であってVBAの本質からずれてるしね。
ちなみに勉強中にC言語ですらマシン語で直接組むよりも非効率になる可能性が高いと知ったんで学ぶ意味はあったけど。
まぁそこまでするなら別の言語にした方がいいというか、そもそも発想が逆というか。
オフィス製品を拡張する上で「守られた」プログラミングが出来るのがVBAの特徴だし、
目的を絞っているから実用的なプログラムを短時間でくみ上げられるという長所があるのであって、
マシン語まで勉強してやるくらいなら、その手の目的で作られたC++言語辺りを頼るべきなんだよな。
もちろんそれが出来ない環境だから俺もマシン語を勉強するに至ったんだけど、
けっきょく型安全すら保証されない世界で何かを組み上げるってのは趣味の世界の話であってVBAの本質からずれてるしね。
ちなみに勉強中にC言語ですらマシン語で直接組むよりも非効率になる可能性が高いと知ったんで学ぶ意味はあったけど。
426デフォルトの名無しさん (スプッッ Sd4a-6FY3)
2017/09/25(月) 22:44:28.13ID:eJeLm77Wd 一体何の話をしているのか?
VBA補完というならC/C++で十二分だろうに
それで「実行環境がVBA」という気軽さは保てるんだし
VBA補完というならC/C++で十二分だろうに
それで「実行環境がVBA」という気軽さは保てるんだし
427デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 22:52:54.75ID:715ByDora >>424
自分はものにして無いので、そこまでしてない。
ものにしてる人にとってはそこまでしてなどと思ってないと思う。
別言語でdll作ってVBAから呼び出すことも出来るだろうけど、そこだけで完結しないのがスマートさに欠けるように感じるからかな。
自分はものにして無いので、そこまでしてない。
ものにしてる人にとってはそこまでしてなどと思ってないと思う。
別言語でdll作ってVBAから呼び出すことも出来るだろうけど、そこだけで完結しないのがスマートさに欠けるように感じるからかな。
428デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/25(月) 22:54:34.22ID:AH/NDHtT0 >>426
確かに話がとっちらかって分かりにくくなったが、つまりそういう話をしてる。
でもVBA以外の環境を持てない職場なので仕方なくVBAが補完できる範囲だけでやるしかない。
その補完範囲にマシン語を含めるのはVBAの長所を殺しているのでVBAが想定している範囲の中で最善策を練るべきだと。
ちなみに個人的経験では次善の策としてSQLを使ったら地獄を見た。
確かに話がとっちらかって分かりにくくなったが、つまりそういう話をしてる。
でもVBA以外の環境を持てない職場なので仕方なくVBAが補完できる範囲だけでやるしかない。
その補完範囲にマシン語を含めるのはVBAの長所を殺しているのでVBAが想定している範囲の中で最善策を練るべきだと。
ちなみに個人的経験では次善の策としてSQLを使ったら地獄を見た。
429デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/25(月) 23:12:01.96ID:FBvoBYTya >>426
正解。
@まず保守性が酷い。都度ハンドアセンブルするのかって話。
Aラベルが付けられないからブランチ命令などは変更があったとき常にアドレスの相対位置を
設定し直さなければならない。ジャンプ命令みたいな絶対アドレス指定の場合はどうすんだろ。
B生産性が皆無
C中間言語を介在していないのでアーキテキクチャが異なるCPUでは使えない。
どうしてもアセンブラで組みたければC++のインラインアセンブラで素直にdllファイル作れって話。
こんなものどうやって普通にVBA組んでるやつに引き継ぐつもりなんだろうな。
出来ない環境でなければ設計自体を見直すか諦めろと。
正解。
@まず保守性が酷い。都度ハンドアセンブルするのかって話。
Aラベルが付けられないからブランチ命令などは変更があったとき常にアドレスの相対位置を
設定し直さなければならない。ジャンプ命令みたいな絶対アドレス指定の場合はどうすんだろ。
B生産性が皆無
C中間言語を介在していないのでアーキテキクチャが異なるCPUでは使えない。
どうしてもアセンブラで組みたければC++のインラインアセンブラで素直にdllファイル作れって話。
こんなものどうやって普通にVBA組んでるやつに引き継ぐつもりなんだろうな。
出来ない環境でなければ設計自体を見直すか諦めろと。
430デフォルトの名無しさん (スプッッ Sd4a-6FY3)
2017/09/25(月) 23:14:24.47ID:eJeLm77Wd >>429
引き継ぎとかは別にして、まず楽しいのかと
引き継ぎとかは別にして、まず楽しいのかと
431デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/25(月) 23:23:42.83ID:vsx3Rgi+0 >>427
完結ってどういう意味?
「VBA アセンブラ」でググって出てくるページ見ると、既存のcdecl関数を呼び出すことを目標にしてるみたいだけど、
自分はどっちかっていうと「なるべく自分で作ったもので間に合わせたい」という気持ちの方が強いな。
完結ってどういう意味?
「VBA アセンブラ」でググって出てくるページ見ると、既存のcdecl関数を呼び出すことを目標にしてるみたいだけど、
自分はどっちかっていうと「なるべく自分で作ったもので間に合わせたい」という気持ちの方が強いな。
432デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 23:36:31.33ID:715ByDora433デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 23:39:50.62ID:715ByDora434デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/25(月) 23:40:01.82ID:FBvoBYTya435デフォルトの名無しさん (オッペケ Sra3-yPpY)
2017/09/26(火) 04:06:23.87ID:DLk9dqRTr VBAの環境なのにマシン語使ってやったぜー
ワイルドだろー
って自慢したいだけ
ワイルドだろー
って自慢したいだけ
436デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/26(火) 07:38:19.44ID:XImuzds2a どっちにしてもトリッキーすぎて
実用的ではないな
実用的ではないな
437デフォルトの名無しさん (オッペケ Sra3-Ncsu)
2017/09/26(火) 12:18:09.16ID:YucCMyKYr お前ら素直に感心する事も出来んのかw
惨めやのうwww
惨めやのうwww
438デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/26(火) 12:24:44.74ID:H2XQANIBa 関心する要素がない
439デフォルトの名無しさん (オッペケ Sra3-Ncsu)
2017/09/26(火) 12:27:34.92ID:YucCMyKYr そうゆうひねくれた心を持っとるからいつまでたってもバカなんやで
440デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/26(火) 12:28:28.01ID:H2XQANIBa ちなみにどこに感心すればいいの?
機械語の知識が殆ど無いこと?
VBA上でごく中途半端な機械語を走らせる方法をネットで見つけたこと?
機械語の知識が殆ど無いこと?
VBA上でごく中途半端な機械語を走らせる方法をネットで見つけたこと?
441デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/26(火) 16:11:30.66ID:PIh5pWG1a VBAだけじゃどうにもならない、別途dllとの込みで扱うのはスマートじゃない。
そういう場合に使える方法があるということ。
他にもこの方法を使えればプログラムがスマートになるのにという場面もある。
これはVBAの制限によるものだけれど。
もっとも殆どの場合、これを必要とするコードを書くような事態自体ない。
普通はVBAではこの機能は実現出来ませんと回答することになるだろう。
そういう場合に使える方法があるということ。
他にもこの方法を使えればプログラムがスマートになるのにという場面もある。
これはVBAの制限によるものだけれど。
もっとも殆どの場合、これを必要とするコードを書くような事態自体ない。
普通はVBAではこの機能は実現出来ませんと回答することになるだろう。
442デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/26(火) 16:25:14.72ID:PIh5pWG1a >>434
すまんね。
君がどういうレベルの話をしてるのか、いまいち掴めない。
実際、そういうことも分からないから勉強中なんでね。
アーキテクチャが違うCPUってのが何のことを言っていて、使えないCPUについて具体的にどうして使えないのか示して貰えるかな。
すまんね。
君がどういうレベルの話をしてるのか、いまいち掴めない。
実際、そういうことも分からないから勉強中なんでね。
アーキテクチャが違うCPUってのが何のことを言っていて、使えないCPUについて具体的にどうして使えないのか示して貰えるかな。
443デフォルトの名無しさん (スプッッ Sd4a-6FY3)
2017/09/26(火) 16:34:44.22ID:r3ztyMSNd >>441
dll大好きマンの俺としてはその意見に賛成する事態自体ないな
dll大好きマンの俺としてはその意見に賛成する事態自体ないな
444デフォルトの名無しさん (ワッチョイ 2b23-kYwA)
2017/09/26(火) 16:47:20.57ID:w3seKs+r0 今どきアセンブラじゃないと
ダメな場面なんてほとんどない
速度が欲しいならC/C++で実用上十分
ダメな場面なんてほとんどない
速度が欲しいならC/C++で実用上十分
445デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/26(火) 17:07:46.45ID:PIh5pWG1a446デフォルトの名無しさん (ワッチョイ 2b23-kYwA)
2017/09/26(火) 17:14:42.90ID:w3seKs+r0 VBAだけで実現できない機能があるならDLLでいい
今どきのWindowsでアセンブラなんてまず必要ない
今どきのWindowsでアセンブラなんてまず必要ない
447デフォルトの名無しさん (スプッッ Sd4a-6FY3)
2017/09/26(火) 17:49:18.96ID:r3ztyMSNd Visual Studio利用が前提ならdll作るのに大した苦労はいらないぜ。
Expressでもいいんだしな。
Expressでもいいんだしな。
448デフォルトの名無しさん (ワッチョイ 4ab3-UH40)
2017/09/26(火) 17:59:29.96ID:BLiEZOQr0 アドインを入れろというだけで嫌がられるのに・・・。DLLなんて言った日にゃ「何それ食えるの?おいしいの?」ってなもんで。
更にregsvr32で登録とか説明した途端「そんなメンドくさい事をやらずに出来ないの?」とかぬかされてムカついた今日此の頃
更にregsvr32で登録とか説明した途端「そんなメンドくさい事をやらずに出来ないの?」とかぬかされてムカついた今日此の頃
449デフォルトの名無しさん (ワッチョイ 2b23-kYwA)
2017/09/26(火) 18:41:21.08ID:w3seKs+r0 いやDLLが嫌がられてるからって
毎回アセンブラで書いてたら
「これだけのことにそんな時間掛かるの?」とか
文句が変わるだけだろ
毎回アセンブラで書いてたら
「これだけのことにそんな時間掛かるの?」とか
文句が変わるだけだろ
450デフォルトの名無しさん (ワッチョイ 4a11-IQsp)
2017/09/26(火) 18:51:12.32ID:fvF/8EVL0 dllの登録とかはグループポリシーとスタートアップスクリプトで処理すればいいよ
451デフォルトの名無しさん (スプッッ Sd4a-6FY3)
2017/09/26(火) 19:29:03.17ID:r3ztyMSNd >>450
絶対パスは?
絶対パスは?
452デフォルトの名無しさん (ワッチョイ eb6f-Dc1X)
2017/09/26(火) 19:33:40.39ID:PUkdjjHv0 >>448
ふざけてんなら教えてやんねぇから自分でやれ って言ってやれ
ふざけてんなら教えてやんねぇから自分でやれ って言ってやれ
453デフォルトの名無しさん (スプッッ Sd4a-6FY3)
2017/09/26(火) 19:48:34.37ID:r3ztyMSNd シートをSQLでアクセスしたあとどうも変なことが起こる。
あしたデータをDBに入れてからSQLでアクセスして同じ現象が起きたら自分のプログラムミスだろうけど、
起きなければODBC for Excelを疑ってしまいそうだ
あしたデータをDBに入れてからSQLでアクセスして同じ現象が起きたら自分のプログラムミスだろうけど、
起きなければODBC for Excelを疑ってしまいそうだ
454デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/26(火) 21:26:46.77ID:XImuzds2a まぁdllくらいは面倒くさがらず設定出来ないとな。
今後デプロイ作業とかやるようになったらそれどころじゃないしな。
今後デプロイ作業とかやるようになったらそれどころじゃないしな。
455デフォルトの名無しさん (ワッチョイ af8b-lQLN)
2017/09/26(火) 22:11:26.14ID:Crd6WL0Z0 結局自分の知識を言いたいだけのお前らw
ババアの井戸端会議より無法地帯だなw
ババアの井戸端会議より無法地帯だなw
456デフォルトの名無しさん (ワッチョイ 2b23-kYwA)
2017/09/27(水) 01:51:50.87ID:0UMyaADl0 BBA → 高い化粧品を使っている
VBA → アセンブラを使っている
結論 → どっちもムダ
VBA → アセンブラを使っている
結論 → どっちもムダ
457デフォルトの名無しさん (ワッチョイ 0f73-Dazs)
2017/09/27(水) 08:43:06.78ID:HoC7JNpT0 VBAに不足してるのは主にGUIの部分であって、仕様上実現できない機能なんて相当高度な、それこそVBAでやるべきではないような大がかりなものだろ。
458デフォルトの名無しさん (ワッチョイ 0f73-Dazs)
2017/09/27(水) 08:45:17.97ID:HoC7JNpT0459デフォルトの名無しさん (ワッチョイ 2b23-kYwA)
2017/09/27(水) 08:51:33.31ID:0UMyaADl0460デフォルトの名無しさん (ワッチョイ 0a06-hoCt)
2017/09/27(水) 09:32:39.24ID:xHL8iwO20 またソースも示さずエラーコードも示さずただエラーだ!エラーだ!って喚き散らすだけの人間が
461デフォルトの名無しさん (ワッチョイ eb6f-Dc1X)
2017/09/27(水) 09:53:24.11ID:rapuPXM40 |三|
/_____\
|ギコーマン|
|___醤油_|
,>:::(,,゚Д゚) <呼んだ?
|(ノ.::::::::: |つ
|:::::::::::::::::|
ヽ___/
U"U
/_____\
|ギコーマン|
|___醤油_|
,>:::(,,゚Д゚) <呼んだ?
|(ノ.::::::::: |つ
|:::::::::::::::::|
ヽ___/
U"U
462デフォルトの名無しさん (アークセー Sxa3-bPSX)
2017/09/27(水) 09:53:37.56ID:p6CZNfKJx >>460
偉いよね
偉いよね
463デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/27(水) 12:19:47.02ID:OxJDgjzEa >>457
もういい加減やめるけど、そのGUI部分で貧弱なMSForms使わずにCreateWindowExで組んでたりした。
んで、いろんな部品のクラス化とかを考えるわけ。
ところがどうしても制限でクラス内に置けないものがあるんでカプセル化が不十分なんだ。
それをアセンブラ使ってクラス内に置いてる人がいるもんですごいなあと。
アセンブラ部分だけdllにしても寧ろ中途半端。
各部品ごとdllにしないとね。
流石にそこまでの能力も無いし労力も割きたくない。
まあ、所詮VBAなんてダメ言語ってことかね。
もういい加減やめるけど、そのGUI部分で貧弱なMSForms使わずにCreateWindowExで組んでたりした。
んで、いろんな部品のクラス化とかを考えるわけ。
ところがどうしても制限でクラス内に置けないものがあるんでカプセル化が不十分なんだ。
それをアセンブラ使ってクラス内に置いてる人がいるもんですごいなあと。
アセンブラ部分だけdllにしても寧ろ中途半端。
各部品ごとdllにしないとね。
流石にそこまでの能力も無いし労力も割きたくない。
まあ、所詮VBAなんてダメ言語ってことかね。
464デフォルトの名無しさん (スプッッ Sd4a-6FY3)
2017/09/27(水) 13:00:28.04ID:/eBNIii1d >>458
すまない
エラーが色々あってそう単純じゃなくてついね。
例えば配列になるはずの変数Aを扱っててエラーが出たので内容を見ると
TypeName(A) = Empty かつ IsEmpty(A) = Trueなのに
Debug.Print A とやると
「Visual Basicでサポートされていないオートメーションが変数で使用されています」とか
調査中
すまない
エラーが色々あってそう単純じゃなくてついね。
例えば配列になるはずの変数Aを扱っててエラーが出たので内容を見ると
TypeName(A) = Empty かつ IsEmpty(A) = Trueなのに
Debug.Print A とやると
「Visual Basicでサポートされていないオートメーションが変数で使用されています」とか
調査中
465デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/27(水) 13:16:32.50ID:PSADxl6o0 俺の場合はもっと根本的な部分を高速化する事が狙いでマシン語を使おうと思っていたな。
If文一つ、ループ処理一つ取っても汎用化の関係で無駄な処理が挟まる事になるんで、
極々単純かつ処理時間に占める割合が大きい計算なんかをマシン語で書ければ処理速度がだいぶ違う。
C++言語がインラインアセンブラを備えているように、どうしてもマシン語かそれに近しいものじゃないと実現出来ない事がある。
If文一つ、ループ処理一つ取っても汎用化の関係で無駄な処理が挟まる事になるんで、
極々単純かつ処理時間に占める割合が大きい計算なんかをマシン語で書ければ処理速度がだいぶ違う。
C++言語がインラインアセンブラを備えているように、どうしてもマシン語かそれに近しいものじゃないと実現出来ない事がある。
466デフォルトの名無しさん (ベーイモ MM02-o32k)
2017/09/27(水) 17:03:57.20ID:+G+JcjrGM はじめまして。
Excel2013を使っています。
色振分けについて
https://kokodane.com/2013_waza_064.htm
関数はちゃんと反映するけど処理が重い、、、。
VBAにしたけどエラーになる、、、
関数
=MOD(INT(SUMPRODUCT(1/COUNTIF($C$9:$C9,$C$9:$C9))),2)
VBA
i = Int(WorksheetFunction.SumProduct(1 / WorksheetFunction.CountIf(Range("C9:C" & j & ""), Range("C9:C" & j & "")))) Mod 2
「CountIf(Range("C9:C" & j & ""), Range("C9:C" & j & "")」のところでエラー発生…。
何か間違っているのでしょうか・・・。
Excel2013を使っています。
色振分けについて
https://kokodane.com/2013_waza_064.htm
関数はちゃんと反映するけど処理が重い、、、。
VBAにしたけどエラーになる、、、
関数
=MOD(INT(SUMPRODUCT(1/COUNTIF($C$9:$C9,$C$9:$C9))),2)
VBA
i = Int(WorksheetFunction.SumProduct(1 / WorksheetFunction.CountIf(Range("C9:C" & j & ""), Range("C9:C" & j & "")))) Mod 2
「CountIf(Range("C9:C" & j & ""), Range("C9:C" & j & "")」のところでエラー発生…。
何か間違っているのでしょうか・・・。
467デフォルトの名無しさん (ワントンキン MMfa-GOPe)
2017/09/27(水) 18:10:37.79ID:pdVv0yF3M468デフォルトの名無しさん (ワッチョイ 4a11-IQsp)
2017/09/27(水) 18:27:20.02ID:60RbULmH0469デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/27(水) 18:33:40.97ID:PSADxl6o0 >>466
Sub foo(ColorColumn As Range, ColorNum As Long)
Dim r As Range
Dim cols As Boolean
Dim c As Collection: Set c = New Collection
col = ColorColumn.Value
For i = LBound(col, 1) To UBound(col, 1)
If x <> col(i, 1) Then
x = col(i, 1)
If cols Then cols = False Else cols = True
End If
If cols Then
If r Is Nothing Then
Set r = ColorColumn(i, 1)
Else
Set r = Union(r, ColorColumn(i, 1))
End If
End If
Next
r.Interior.Color = ColorNum
End Sub
エラーについては具体的なコードがないから分からないけど、
そのページの様な色分けやるならこんなコードとかの方がいいと思う。
Sub foo(ColorColumn As Range, ColorNum As Long)
Dim r As Range
Dim cols As Boolean
Dim c As Collection: Set c = New Collection
col = ColorColumn.Value
For i = LBound(col, 1) To UBound(col, 1)
If x <> col(i, 1) Then
x = col(i, 1)
If cols Then cols = False Else cols = True
End If
If cols Then
If r Is Nothing Then
Set r = ColorColumn(i, 1)
Else
Set r = Union(r, ColorColumn(i, 1))
End If
End If
Next
r.Interior.Color = ColorNum
End Sub
エラーについては具体的なコードがないから分からないけど、
そのページの様な色分けやるならこんなコードとかの方がいいと思う。
470デフォルトの名無しさん (アウアウカー Sa6b-uQ9e)
2017/09/27(水) 20:58:26.69ID:aEqZdwF3a >>466
jと""が気になった
jと""が気になった
471デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/27(水) 21:01:26.56ID:WtGXLehDa アセンブラやマシン語のことを神格化してる人がいるけれど
このスレにだって昔使ってた人もいるだろうし
ある意味覚えることが少ないからObject指向言語や関数型言語より簡単かも知れない。
でも昨今仕事上その知識が必要になることはまず無い。
いつまでも無用の長物にしがみついていないでその分別の勉強に力を配分した方が賢いとは思う。
このスレにだって昔使ってた人もいるだろうし
ある意味覚えることが少ないからObject指向言語や関数型言語より簡単かも知れない。
でも昨今仕事上その知識が必要になることはまず無い。
いつまでも無用の長物にしがみついていないでその分別の勉強に力を配分した方が賢いとは思う。
472デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/27(水) 21:01:48.90ID:ZXhzFeMta473デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/27(水) 21:07:50.10ID:ZXhzFeMta >>471
神格化なんてしてねーよ。
XBAじゃ出来ないから仕方なくだ。
出来るならやってる。
じゃ、C#やVB.netでライブラリ作るとしても、結局中途半端になるということ。
VBAでオブジェクト指向なんてやんなきゃ良かった。
神格化なんてしてねーよ。
XBAじゃ出来ないから仕方なくだ。
出来るならやってる。
じゃ、C#やVB.netでライブラリ作るとしても、結局中途半端になるということ。
VBAでオブジェクト指向なんてやんなきゃ良かった。
474デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/27(水) 21:22:44.64ID:WtGXLehDa475デフォルトの名無しさん (ワッチョイ 4a11-IQsp)
2017/09/27(水) 21:34:59.84ID:60RbULmH0 そのCOUNTIF使ったやり方はデータがN行増えれば
計算量がNの2乗倍増えるんだからどうやっても遅いよ
行が増えても1行あたりの計算量が増えないようにしておけば
そこまで遅くはならない
[例]
B | C | D
-----------------
| 0 |
コーヒー | 1 | 1
コーヒー | 1 | 1
コーヒー | 1 | 1
お茶 | 2 | 0
お茶 | 2 | 0
紅茶 | 3 | 1
C列は =IF((IF(B3=B2, 0,1))=1, C2+1, C2)
D列は =MOD(C3, 2)
計算量がNの2乗倍増えるんだからどうやっても遅いよ
行が増えても1行あたりの計算量が増えないようにしておけば
そこまで遅くはならない
[例]
B | C | D
-----------------
| 0 |
コーヒー | 1 | 1
コーヒー | 1 | 1
コーヒー | 1 | 1
お茶 | 2 | 0
お茶 | 2 | 0
紅茶 | 3 | 1
C列は =IF((IF(B3=B2, 0,1))=1, C2+1, C2)
D列は =MOD(C3, 2)
476デフォルトの名無しさん (ワッチョイ 238f-PvnN)
2017/09/27(水) 22:00:35.20ID:L69K1Ov+0477デフォルトの名無しさん (ワッチョイ af8b-lQLN)
2017/09/27(水) 22:10:23.63ID:9IoMVu120 お前ら何があっても絶対に>>474の様にはなるなよ
お前らには.Netでエクセルをいじるくらいなら肥溜めに突っこんだ手でちんこいじった方がなんぼかましだという事を知ってほしい
お前らには.Netでエクセルをいじるくらいなら肥溜めに突っこんだ手でちんこいじった方がなんぼかましだという事を知ってほしい
478デフォルトの名無しさん (アウアウエー Sa82-0s0S)
2017/09/27(水) 22:42:42.85ID:XaTneppSa Dim co As ChartObject
With co.Chart.SeriesCollection.NewSeries
.Name = "テスト"
.XValues = tmpArray1 'X軸
.Values = tmpArray2 'Y軸
End With
With co.Chart
' 線形近似式の取得
.SeriesCollection(1).Trendlines.Add Type:=xlLinear
.SeriesCollection(1).Trendlines(1).DisplayEquation = True'☆☆☆
.SeriesCollection(1).Trendlines(1).Select
.Refresh
getAlfa = Replace(SeriesCollection(1).Trendlines(1).DataLabel.Text, " ", "") '★★★
End with
for文の中でこれを利用して100個ほどグラフを作っているところです。
線形近似式を作るまでなら出来たのですが、
近似式を取得しようとすると、★★★のところで
「プロシージャの呼び出し、または引数が不正です」となります。
ステップインでやるとエラー無く通るので、☆☆☆の反映が遅いのか・・?
と、よく分からなくなっております。ご助言頂けますと幸いです。
With co.Chart.SeriesCollection.NewSeries
.Name = "テスト"
.XValues = tmpArray1 'X軸
.Values = tmpArray2 'Y軸
End With
With co.Chart
' 線形近似式の取得
.SeriesCollection(1).Trendlines.Add Type:=xlLinear
.SeriesCollection(1).Trendlines(1).DisplayEquation = True'☆☆☆
.SeriesCollection(1).Trendlines(1).Select
.Refresh
getAlfa = Replace(SeriesCollection(1).Trendlines(1).DataLabel.Text, " ", "") '★★★
End with
for文の中でこれを利用して100個ほどグラフを作っているところです。
線形近似式を作るまでなら出来たのですが、
近似式を取得しようとすると、★★★のところで
「プロシージャの呼び出し、または引数が不正です」となります。
ステップインでやるとエラー無く通るので、☆☆☆の反映が遅いのか・・?
と、よく分からなくなっております。ご助言頂けますと幸いです。
479デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/27(水) 23:13:25.41ID:WtGXLehDa >>477
理由は?
理由は?
480デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/27(水) 23:23:42.05ID:PSADxl6o0 COMをVBA以外から触るのってくっそ面倒なんだっけか。
確かに一度そういう記事を見たときに引数省略できないわ明示的に解放しないとメモリリークするわで、
下手に外部から弄るよりVBAだけの方が良さそうとは思ったな。
確かに一度そういう記事を見たときに引数省略できないわ明示的に解放しないとメモリリークするわで、
下手に外部から弄るよりVBAだけの方が良さそうとは思ったな。
481デフォルトの名無しさん (アウアウカー Sad1-MUvn)
2017/09/28(木) 07:45:23.83ID:6Dj75AXHa >>480
それはCOMからEXCELを操作しようとするから。
npoi辺りを使えば問題ない。
https://qiita.com/midori44/items/acab9106e6dad9653e73
それはCOMからEXCELを操作しようとするから。
npoi辺りを使えば問題ない。
https://qiita.com/midori44/items/acab9106e6dad9653e73
482デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/09/28(木) 18:09:24.72ID:v+KWuCPna このスレ読むとVBAerの苦悩を感じてしまうな
483デフォルトの名無しさん (ワッチョイ 4d8b-6Ovz)
2017/09/28(木) 20:48:58.21ID:IZ7vMKly0 ところでさあ、お前らの中で「ボクはVBAerじゃない!」ってのが唯一の心の拠り所の人っている?…あ、いたwwww
484デフォルトの名無しさん (ワッチョイ 1b6d-+DT2)
2017/09/28(木) 20:54:21.56ID:gXNMpsXl0 >>482
20年も経つし、いい加減かなりめんどくさい上、元々の設計からして奇々怪々
20年も経つし、いい加減かなりめんどくさい上、元々の設計からして奇々怪々
485デフォルトの名無しさん (ワッチョイ ed3d-asy+)
2017/09/28(木) 21:05:52.30ID:buJERvd40 古いブックのデータを、新しいブックに移すだけで容量が変わる仕様は酷いよな。
486デフォルトの名無しさん (ワッチョイ b58c-7x71)
2017/09/28(木) 21:14:44.53ID:0/cKan+O0 うちの会社の情報システム部の人達、VBAばかり使ってるんだけど、これってシステム屋さんとしてどうなの?
変な質問でごめんね〜
変な質問でごめんね〜
487デフォルトの名無しさん (ワッチョイ 1b6d-+DT2)
2017/09/28(木) 21:20:12.89ID:gXNMpsXl0 >>486
別にどうでもいい
早く作れて保守が容易で堅牢ならそれでいい
ただ、先日こういう凶悪なバグが発生した
https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_access-mso_win10/access2016/f7dc70ee-e228-473e-a92e-17992a3b16b3?auth=1
別にどうでもいい
早く作れて保守が容易で堅牢ならそれでいい
ただ、先日こういう凶悪なバグが発生した
https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_access-mso_win10/access2016/f7dc70ee-e228-473e-a92e-17992a3b16b3?auth=1
488デフォルトの名無しさん (ワッチョイ ed3d-asy+)
2017/09/28(木) 21:22:10.71ID:buJERvd40 >>486
ある言語が使えて他の言語が使えないなんてのはあり得ないから、
特別に何らかの言語を使えと言われてるのにVBAに固執してるとかでない限りは特に問題ないと思うけど。
もちろん別の言語使うとなれば移行期間と、それに掛かるコストの問題は発生するけど、
この移行で発生するコストに収支が見合わないなら如何なる言語であれ移行する方がおかしいし。
ある言語が使えて他の言語が使えないなんてのはあり得ないから、
特別に何らかの言語を使えと言われてるのにVBAに固執してるとかでない限りは特に問題ないと思うけど。
もちろん別の言語使うとなれば移行期間と、それに掛かるコストの問題は発生するけど、
この移行で発生するコストに収支が見合わないなら如何なる言語であれ移行する方がおかしいし。
489デフォルトの名無しさん (ワッチョイ 3d1e-xzc4)
2017/09/28(木) 21:29:04.93ID:hQxGv/ed0490デフォルトの名無しさん (アウアウカー Sad1-MUvn)
2017/09/28(木) 22:02:49.49ID:WRYfTPcca バイブとか電動こけしなら
このスレの住人はそこまで使ってないよ
このスレの住人はそこまで使ってないよ
491デフォルトの名無しさん (ワッチョイ 4d8b-55BJ)
2017/09/28(木) 22:07:34.72ID:IZ7vMKly0 使ってるくせに(ニヤニヤ
何気取っちゃってんのw
何気取っちゃってんのw
492デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/09/28(木) 22:24:44.49ID:v+KWuCPna >>484
そろそろ何とかしてほしいわね
そろそろ何とかしてほしいわね
493デフォルトの名無しさん (ワッチョイ 856f-IQJU)
2017/09/28(木) 23:10:52.31ID:RaSb9ROh0 思い切ってF#に変えてほしいな
C#といいMSは言語はいいものつくるのになんでいまだにVB・・・
C#といいMSは言語はいいものつくるのになんでいまだにVB・・・
494デフォルトの名無しさん (ドコグロ MMc1-KCdQ)
2017/09/29(金) 07:18:36.82ID:blTWaqTGM C# でもいいし PowerShell と言う手もあるしな
495デフォルトの名無しさん (ワッチョイ c579-awJS)
2017/09/29(金) 07:42:22.91ID:7sErYghb0 PawarShell
496デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/09/29(金) 08:05:24.92ID:AVwn3+7qa 次のエクセルでは.Netモードと旧VBAモードと混在させておいて、次のエクセルで切ればいい
497デフォルトの名無しさん (ワッチョイ 7597-mWOX)
2017/09/29(金) 08:23:21.48ID:+zN4mxkZ0 しばらくはVBAとjavascriptの併存だな
498デフォルトの名無しさん (スプッッ Sd03-ZUCg)
2017/09/29(金) 08:58:12.82ID:Dzyak/bKd 切ることはできない
499デフォルトの名無しさん (ワッチョイ 456f-Txnz)
2017/09/29(金) 10:47:27.85ID:xN5JBlC50 新仕様つくって古いの全部すてればいいんじゃね
500デフォルトの名無しさん (ワントンキン MMa3-/LS6)
2017/09/29(金) 10:54:15.88ID:C0tsoTl7M501デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/09/29(金) 11:13:56.54ID:AVwn3+7qa >>497
javascripでいくってことはいずれはweb化するんかね
javascripでいくってことはいずれはweb化するんかね
502デフォルトの名無しさん (ワッチョイ 2306-asy+)
2017/09/29(金) 11:24:31.88ID:BKm/kWdC0503デフォルトの名無しさん (ワッチョイ 2306-asy+)
2017/09/29(金) 11:25:38.86ID:BKm/kWdC0 訂正
Excelはヲタプログラマの遊び道具ではないんだよ
Excelはヲタプログラマの遊び道具ではないんだよ
504デフォルトの名無しさん (スプッッ Sd03-ZUCg)
2017/09/29(金) 11:37:17.11ID:Dzyak/bKd プログラマが文句をいうのと一般ユーザーが文句をいうのとじゃ大いに違う
505デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/09/29(金) 11:46:58.39ID:LnDObw+pa 拡張子で切り替えるとかはするかも。
でも、現行のVBAで出来ないことなんて殆ど無いわけで、新仕様作ってもそれで新しいことが出来る奴なんて殆ど居ないだろう。
いまだに4.0時代のマクロシート動かしてるところだって有るんだぜ。
そんな簡単に切り捨てられるわけがない。
個人的にはマクロシートは切り捨てて欲しいが。
でも、現行のVBAで出来ないことなんて殆ど無いわけで、新仕様作ってもそれで新しいことが出来る奴なんて殆ど居ないだろう。
いまだに4.0時代のマクロシート動かしてるところだって有るんだぜ。
そんな簡単に切り捨てられるわけがない。
個人的にはマクロシートは切り捨てて欲しいが。
506デフォルトの名無しさん (ワッチョイ ed3d-asy+)
2017/09/29(金) 12:11:55.51ID:es7HpHgn0 ちょっと前にWindows 3.1からようやく移行した空港の話があったしな。
>>500
昨今はクラウドが流行ってて常に更新するのが流行ってるけど、
仕事で使うなら、やっぱりサポート切れて更新しなくなったヤツの方がいいな。
>>500
昨今はクラウドが流行ってて常に更新するのが流行ってるけど、
仕事で使うなら、やっぱりサポート切れて更新しなくなったヤツの方がいいな。
507デフォルトの名無しさん (スプッッ Sd03-ZUCg)
2017/09/29(金) 12:16:54.98ID:Dzyak/bKd VBAってMS的にお荷物なの?
508デフォルトの名無しさん (ワッチョイ 456f-Txnz)
2017/09/29(金) 12:58:03.09ID:xN5JBlC50 古いの使ってる自慢は寒いな
509デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/09/29(金) 13:35:54.03ID:HP040cNEa まあ期間システムにoffice使ってるような糞企業は滅びたらいいよ
510デフォルトの名無しさん (ワントンキン MMa3-/LS6)
2017/09/29(金) 18:01:15.73ID:C0tsoTl7M511デフォルトの名無しさん (ワッチョイ 3d1e-xzc4)
2017/09/29(金) 18:08:46.69ID:55l6TVRn0 期間システムか
短期リースなのかな?
短期リースなのかな?
512デフォルトの名無しさん (アウアウカー Sad1-MUvn)
2017/09/29(金) 18:30:11.39ID:YJ/I0Rcga513デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/09/29(金) 18:54:46.16ID:LnDObw+pa 適材適所を知らない奴はコンピューターを使うべきではない。
514デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/09/29(金) 19:28:12.26ID:2gPjU4Zja てか、現状のVBAをjavascriptに置き換えぐらいなら自動で出来るんじゃね?
format関係ぐらいは独自で組み込むんだろうしさ
format関係ぐらいは独自で組み込むんだろうしさ
515デフォルトの名無しさん (ワッチョイ 3d1e-xzc4)
2017/09/29(金) 21:13:57.76ID:55l6TVRn0516デフォルトの名無しさん (ワッチョイ ed3d-asy+)
2017/09/29(金) 21:16:31.80ID:es7HpHgn0 全人類だと半分以上はコンピュータ使える環境に居なさそう。
517デフォルトの名無しさん (ワッチョイ 1b6d-sekt)
2017/09/29(金) 21:24:18.98ID:O8EcVrBV0 アフリカなどの話だろうけど、逆。端末が無いと話にならない
現金を銀行まで出し入れしにいくよりも、ネット決済が主流になりつつある
現金を銀行まで出し入れしにいくよりも、ネット決済が主流になりつつある
518デフォルトの名無しさん (ワッチョイ 456f-Txnz)
2017/09/29(金) 22:37:04.88ID:xN5JBlC50519デフォルトの名無しさん (ワッチョイ a3af-lm4R)
2017/09/29(金) 22:49:07.04ID:UEkEvXtR0 この画像がシート2にあって、シート1のA1 1.6 (板厚)
B1 1250 (幅)
C1 2850 (長さ)
が打たれてコマンドボタン1を押したらシート2を検索して結果をシート1の
A3 1.6
B3 1800
C3 3100
と幅と長さが収まる最低限の板を抽出するマクロを組みたいのですが、FINDで板厚を検索してから幅、長さの条件のやり方が分かりません。長さが幅よりも小さくなることもあったりしてどうしたらいいか...教えて下さい。
https://i.imgur.com/h3o3xph.jpg
B1 1250 (幅)
C1 2850 (長さ)
が打たれてコマンドボタン1を押したらシート2を検索して結果をシート1の
A3 1.6
B3 1800
C3 3100
と幅と長さが収まる最低限の板を抽出するマクロを組みたいのですが、FINDで板厚を検索してから幅、長さの条件のやり方が分かりません。長さが幅よりも小さくなることもあったりしてどうしたらいいか...教えて下さい。
https://i.imgur.com/h3o3xph.jpg
520デフォルトの名無しさん (ワッチョイ 1b6d-sekt)
2017/09/29(金) 22:51:53.27ID:O8EcVrBV0 >>519
最低限って何が最低限なの?面積?それとも縦か横の長さ?
最低限って何が最低限なの?面積?それとも縦か横の長さ?
521デフォルトの名無しさん (ワッチョイ 1b6d-sekt)
2017/09/29(金) 22:52:10.70ID:O8EcVrBV0 >>518
申し訳ない、その芸人つまらないんだよねぇ
申し訳ない、その芸人つまらないんだよねぇ
522デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/09/30(土) 09:40:29.40ID:JKOApPN+a >>519
まず、日本語が変。
「この画像がシート2にあって」とか「が打たれて」とか。
FINDで板厚を検索するところまでできるならその後はー行ずつ幅と長さが両方共指定の値より大きくなるまでループすれば良いだけだろ。
何が分からんの?
まず、日本語が変。
「この画像がシート2にあって」とか「が打たれて」とか。
FINDで板厚を検索するところまでできるならその後はー行ずつ幅と長さが両方共指定の値より大きくなるまでループすれば良いだけだろ。
何が分からんの?
523デフォルトの名無しさん (ワッチョイ a3af-lm4R)
2017/09/30(土) 09:41:22.54ID:cWHb4Ejy0 >>520
幅と長さです。最低限というのは一番近い寸法のことです。
幅と長さです。最低限というのは一番近い寸法のことです。
524デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/09/30(土) 09:43:38.89ID:JKOApPN+a ああ、幅と長さが逆転することもあるわけか。
ロジック的には最初から幅と長さのラべルを無視してしていする方も各行の値も大きい方と小さい方で比較すれば良い。
ロジック的には最初から幅と長さのラべルを無視してしていする方も各行の値も大きい方と小さい方で比較すれば良い。
525デフォルトの名無しさん (ワッチョイ a3af-lm4R)
2017/09/30(土) 10:04:04.01ID:cWHb4Ejy0 >>524
元の幅と長さを比較して、大きい数字が幅なら幅の列を大きくなるまでループして大きくなったらその隣の長さのセル。長さが大きかったら長さの列をループって事ですか?
元の幅と長さを比較して、大きい数字が幅なら幅の列を大きくなるまでループして大きくなったらその隣の長さのセル。長さが大きかったら長さの列をループって事ですか?
526デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/09/30(土) 10:35:29.83ID:JKOApPN+a いんや、幅とか長さとか考えるからおかしくなる。
大きい方と大きい方、小さい方と小さい方を比較する。
大きい方と大きい方、小さい方と小さい方を比較する。
527デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/09/30(土) 10:43:02.05ID:JKOApPN+a 比較は同時にするでしょ。
各行の大きい方がシート1の大きい方より大きくて且つ各行の小さい方がシート1の小さい方より大きいのが求める値。
シート2は最低限順に並んでる前提。
幅と長さが逆転することを考慮すれば最低限とは何かの定義が必要になると思うけど、その順番に並んでる前提。
並んでいるとは限らないなら、定義を決めることから始めないと無理。
各行の大きい方がシート1の大きい方より大きくて且つ各行の小さい方がシート1の小さい方より大きいのが求める値。
シート2は最低限順に並んでる前提。
幅と長さが逆転することを考慮すれば最低限とは何かの定義が必要になると思うけど、その順番に並んでる前提。
並んでいるとは限らないなら、定義を決めることから始めないと無理。
528デフォルトの名無しさん (ワッチョイ 9b6f-Txnz)
2017/09/30(土) 13:05:00.67ID:yw9Iy9kh0 鋼材屋の問題か こういうのは紙資料を人間の目で見た方が百倍速いんだけど
どうしてもやりたい やりたくてたまらない しかも楽に ってなら
Aの板厚入れた段階で板厚グループにジャンプ
Bの幅入れたらそれ以上の範囲を色分け 同様にCの長さ以上を色分け するだけでよくね
BとCが両方含まれる範囲のうち最小を見るだけで答えは出る
と、以上の発想でそれをVBAで組み込みばおk
長さと幅が逆転してても幅がオーバーした時点でチェック・メッセージ出せばいいんじゃね
どうしてもやりたい やりたくてたまらない しかも楽に ってなら
Aの板厚入れた段階で板厚グループにジャンプ
Bの幅入れたらそれ以上の範囲を色分け 同様にCの長さ以上を色分け するだけでよくね
BとCが両方含まれる範囲のうち最小を見るだけで答えは出る
と、以上の発想でそれをVBAで組み込みばおk
長さと幅が逆転してても幅がオーバーした時点でチェック・メッセージ出せばいいんじゃね
529デフォルトの名無しさん (スップ Sd43-lm4R)
2017/09/30(土) 13:06:04.51ID:fESVPuSfd シート2は順に並べる予定です。どんなコードになるんですかね?さわりだけでもお願いします。
530デフォルトの名無しさん (ワッチョイ 1b6d-YZzk)
2017/09/30(土) 14:05:15.02ID:GPI9f4Dn0 >>519
vbaスレなの忘れてたわ
数式で完成させたから後は適当にやってくれ
コツは必ず縦長として考える事(横長でもいいけど)
https://dotup.org/uploda/dotup.org1351421.rar.html
vbaスレなの忘れてたわ
数式で完成させたから後は適当にやってくれ
コツは必ず縦長として考える事(横長でもいいけど)
https://dotup.org/uploda/dotup.org1351421.rar.html
531デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/09/30(土) 14:15:20.63ID:JKOApPN+a532デフォルトの名無しさん (ワッチョイ 4d8b-6Ovz)
2017/09/30(土) 21:59:05.80ID:1jTnlOmW0 サヴァン症候群のやつが紛れこんでるな
533デフォルトの名無しさん (ワッチョイ 1511-haX9)
2017/09/30(土) 22:34:04.27ID:wxoKQfA20 VBAによるIE操作で土曜日潰しました。。
ビットコインの自動売買をVBAでやろうと思っていますが肝心の「買い」のボタンが押せません...プログラミング系の掲示板で聞いても挫折されてしまい、大ピンチです..万が一わかる方いらっしゃいましたらぜひ教えてください....
ビットフライヤーですがアカウントは無料で一瞬で作れます。口座開設しなければどう転んでも下手に取引が実行されることはありません。
↓↓ コードです
ビットコインの自動売買をVBAでやろうと思っていますが肝心の「買い」のボタンが押せません...プログラミング系の掲示板で聞いても挫折されてしまい、大ピンチです..万が一わかる方いらっしゃいましたらぜひ教えてください....
ビットフライヤーですがアカウントは無料で一瞬で作れます。口座開設しなければどう転んでも下手に取引が実行されることはありません。
↓↓ コードです
534デフォルトの名無しさん (ワッチョイ 1b6d-Heai)
2017/09/30(土) 22:35:25.87ID:GPI9f4Dn0535デフォルトの名無しさん (ワッチョイ b58c-7x71)
2017/09/30(土) 22:42:44.44ID:rkDSNjFp0 >>533
何か有名なコピペ?
何か有名なコピペ?
536デフォルトの名無しさん (ワッチョイ 23aa-Txnz)
2017/09/30(土) 22:49:04.96ID:i1VkQTK10 挫折されてしまい
537デフォルトの名無しさん (ササクッテロラ Spe1-K4J0)
2017/09/30(土) 22:50:02.92ID:LQYU2gZ2p 533です
>>534
そっちでは本名に近いID使っちゃってるので勘弁してください
要はビットフライヤーの売り買いのボタンなんですがどうやら、価格数量を手入力しないと入力が認識されず売り買いのボタンも押せない感じでもう私には手に負えません…
>>534
そっちでは本名に近いID使っちゃってるので勘弁してください
要はビットフライヤーの売り買いのボタンなんですがどうやら、価格数量を手入力しないと入力が認識されず売り買いのボタンも押せない感じでもう私には手に負えません…
538デフォルトの名無しさん (ワッチョイ ed3d-asy+)
2017/09/30(土) 22:56:17.57ID:xJtoY5tg0 ビットフライヤーにメタトレーダー対応の要望でも出した方が早いんじゃないの。
539デフォルトの名無しさん (ササクッテロラ Spe1-K4J0)
2017/09/30(土) 22:58:24.56ID:LQYU2gZ2p やっぱここでもわかんないわな…
540デフォルトの名無しさん (ワッチョイ 1b6d-+DT2)
2017/09/30(土) 23:25:44.90ID:GPI9f4Dn0 そもそもサイトURLも貼らずに分からないんですねとか言われても困る
ビットフライヤーって何よ
ビットフライヤーって何よ
541デフォルトの名無しさん (ワッチョイ 1b6d-+DT2)
2017/09/30(土) 23:26:07.97ID:GPI9f4Dn0 あと、指値注文って出来ないの?
542デフォルトの名無しさん (ササクッテロラ Spe1-K4J0)
2017/09/30(土) 23:43:07.96ID:LQYU2gZ2p 指値注文できますよ
その指値価格を、手入力しないとダメな感じがします
urlなんかngワードに引っかかってるみたいで…ビットフライヤーでググって先頭のページですすんません
その指値価格を、手入力しないとダメな感じがします
urlなんかngワードに引っかかってるみたいで…ビットフライヤーでググって先頭のページですすんません
543デフォルトの名無しさん (ワッチョイ 1b6d-+DT2)
2017/09/30(土) 23:53:06.19ID:GPI9f4Dn0 指値価格をマクロで登録するの???
なんかよーわからん。それに、そんなNG入ってるサイト見たくないわ
どうしてもやりたいなら、画像解析+キーボードマクロなどの手もあるぞ
それか儲かるってわかってるならさっさと外注すればいいと思う
クラウドワークに投げれば5マンぐらいでできるだろう
なんかよーわからん。それに、そんなNG入ってるサイト見たくないわ
どうしてもやりたいなら、画像解析+キーボードマクロなどの手もあるぞ
それか儲かるってわかってるならさっさと外注すればいいと思う
クラウドワークに投げれば5マンぐらいでできるだろう
544デフォルトの名無しさん (ワッチョイ cb8b-xzc4)
2017/10/01(日) 00:11:53.31ID:3e3sQ7PN0 >>542
IE操作はVBAでやらん方がええぞ
Win10/IE11になってから昔ながらの方法が次々と使えんくなって、みんな右往左往してる
対処法もあるけど動作が遅くて、コンマ秒の差で大損するようなトレーディングには事実上使えん
Win7でやるなら話は別だが
今は自動運転ならchromeのが簡単
入力もクリックもブラウザ組み込みのスクリプトでたいてい可能
IE操作はVBAでやらん方がええぞ
Win10/IE11になってから昔ながらの方法が次々と使えんくなって、みんな右往左往してる
対処法もあるけど動作が遅くて、コンマ秒の差で大損するようなトレーディングには事実上使えん
Win7でやるなら話は別だが
今は自動運転ならchromeのが簡単
入力もクリックもブラウザ組み込みのスクリプトでたいてい可能
545デフォルトの名無しさん (ワッチョイ 1b6d-JSys)
2017/10/01(日) 00:15:57.84ID:K7rLeuVl0 あぁそうかやchromeの開発ツールでjsぶっこめば終わりじゃん
vbaでアホみたいなこと覚えるより、jsイチから覚えたほうが楽だし有意義だな
vbaでアホみたいなこと覚えるより、jsイチから覚えたほうが楽だし有意義だな
546デフォルトの名無しさん (オッペケ Sre1-R4yE)
2017/10/01(日) 02:13:12.92ID:nppNViK/r vbaよりjsいちがいいよな
547デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/10/01(日) 13:38:34.30ID:PxgxVv4ea548デフォルトの名無しさん (ワッチョイ a3b3-Ddq2)
2017/10/01(日) 18:29:42.75ID:1isdaW610 あえて無理を承知でVBAでやるのがVBAerの心意気だろがw
VBAの貧弱な仕様に疲れてしばらくC#とPYTHONを勉強していたがそういう言語で作ったアプリを
渡しても誰も使わねえのよ。もう、日本企業では エクセル操作=業務という定義が確立していて他に許せるのは
一太郎ワードアウトルックぐらいなんだよ。窓際社員の作ったPYTHONアプリなんか信用できないんだってよWW
泣けてくるぜ・・・
VBAの貧弱な仕様に疲れてしばらくC#とPYTHONを勉強していたがそういう言語で作ったアプリを
渡しても誰も使わねえのよ。もう、日本企業では エクセル操作=業務という定義が確立していて他に許せるのは
一太郎ワードアウトルックぐらいなんだよ。窓際社員の作ったPYTHONアプリなんか信用できないんだってよWW
泣けてくるぜ・・・
549デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/10/01(日) 19:05:43.78ID:yUwdbVfTa550デフォルトの名無しさん (ワッチョイ 1b6d-sekt)
2017/10/01(日) 19:15:03.79ID:K7rLeuVl0 >>548
.NETとかのほうがいいんじゃないか
.NETとかのほうがいいんじゃないか
551デフォルトの名無しさん (ワッチョイ a3b3-Ddq2)
2017/10/01(日) 19:19:07.34ID:1isdaW610 >>549
スマホとタブレットの普及でPCわからないのがデフォになっちゃったからなぁ。今年4月に入社したT大出のヤツが「マクロ教えて下さい」と
言ってきたんだが内心「どんだけハイレベルな質問されるんだろ」とガクブルしてたらシート関数ですらSUMしか知らないとかそんなレベルだったんで驚いた。
講義でC言語やったそうだけど「さっぱりわからなかった」そうで。こりゃ日本やべえよ
スマホとタブレットの普及でPCわからないのがデフォになっちゃったからなぁ。今年4月に入社したT大出のヤツが「マクロ教えて下さい」と
言ってきたんだが内心「どんだけハイレベルな質問されるんだろ」とガクブルしてたらシート関数ですらSUMしか知らないとかそんなレベルだったんで驚いた。
講義でC言語やったそうだけど「さっぱりわからなかった」そうで。こりゃ日本やべえよ
552デフォルトの名無しさん (ワッチョイ 1b6d-sekt)
2017/10/01(日) 19:21:46.47ID:K7rLeuVl0 Cやコボルよりもvbaの方が100倍役に立つよな
553デフォルトの名無しさん (ワッチョイ a3b3-Ddq2)
2017/10/01(日) 19:27:45.32ID:1isdaW610 >>550
だってね、PYTHONってのはもう、dotnetやってて「こんなのがあったらいいのに」と考えるモノが全部そろってるんだよ。
俺のやってる仕事はGISなんかも使うんだが、こういうのはもうPYTHONの独壇場で、殆どコード書く必要が無いぐらい出来あいのが
充実してるのよ。EXCELに特化したライブラリもある。全体に動作がモッサリなのが難点なのと、文字コードで頭が禿げそうになる、PYTHON3系なら大丈夫かもだが。
だってね、PYTHONってのはもう、dotnetやってて「こんなのがあったらいいのに」と考えるモノが全部そろってるんだよ。
俺のやってる仕事はGISなんかも使うんだが、こういうのはもうPYTHONの独壇場で、殆どコード書く必要が無いぐらい出来あいのが
充実してるのよ。EXCELに特化したライブラリもある。全体に動作がモッサリなのが難点なのと、文字コードで頭が禿げそうになる、PYTHON3系なら大丈夫かもだが。
554デフォルトの名無しさん (ワッチョイ 1b6d-sekt)
2017/10/01(日) 19:30:23.99ID:K7rLeuVl0555デフォルトの名無しさん (ワッチョイ b58f-IQJU)
2017/10/01(日) 19:33:20.65ID:vVN95Kjf0556デフォルトの名無しさん (ワッチョイ a3b3-Ddq2)
2017/10/01(日) 19:39:46.20ID:1isdaW610 >>555
機械学習なんかで注目されているpythonがイマイチ普及しない理由はコレって言われているぐらいだからね。
機械学習なんかで注目されているpythonがイマイチ普及しない理由はコレって言われているぐらいだからね。
557デフォルトの名無しさん (ワッチョイ 4d8b-6Ovz)
2017/10/01(日) 20:07:01.84ID:l4AEDu2B0 元からハゲのくせに何ちょっと見栄はってんだよw
558デフォルトの名無しさん (ワッチョイ b58f-IQJU)
2017/10/01(日) 20:08:57.83ID:vVN95Kjf0 >>557
いや、あのフレーズを言おうと思ったんだけど。失礼だからw
いや、あのフレーズを言おうと思ったんだけど。失礼だからw
559デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/10/01(日) 20:24:19.84ID:GsAXo2mba >>553
GISって言ったら昔の話だがGoogle Geocoding API使ってVBAで住所→緯度経度取得は簡単に出来たな。
Yahooも出来たと思う。
xml扱えれば誰でもできる。
VBAでの簡単ってのが他言語に比較して不明だが。
ただ、それやって良いかどうかが分からん。
Webに埋め込んだりするのは良いんだろうけど、自分が情報取得する為に使って良いんだろうか。
GISって言ったら昔の話だがGoogle Geocoding API使ってVBAで住所→緯度経度取得は簡単に出来たな。
Yahooも出来たと思う。
xml扱えれば誰でもできる。
VBAでの簡単ってのが他言語に比較して不明だが。
ただ、それやって良いかどうかが分からん。
Webに埋め込んだりするのは良いんだろうけど、自分が情報取得する為に使って良いんだろうか。
560デフォルトの名無しさん (ワッチョイ 1b6d-SjeH)
2017/10/01(日) 20:56:53.42ID:K7rLeuVl0561デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/10/01(日) 21:26:28.19ID:GsAXo2mba >>560
うん、それは知ってた。
けど、それはそれを利用したwebサイトに訪れる人数を意味してると思ってた。
Google Mapとの併用に限り認められるからVBAでの情報収集には認められないんじゃないかな。
うん、それは知ってた。
けど、それはそれを利用したwebサイトに訪れる人数を意味してると思ってた。
Google Mapとの併用に限り認められるからVBAでの情報収集には認められないんじゃないかな。
562デフォルトの名無しさん (ブーイモ MMd9-LMkv)
2017/10/02(月) 04:20:33.43ID:kfrAYa2SM VBA初心者です。
質問させてください。
複数ファイルに同じ文言を自動入力させたいと思いVBAで組み始めました。
ファイルを探し、開くとこまでは出来たのですが、最終行+1が上手く取得できません。
アップロードした画像ファイル(これはネットで拾ったイメージです)のような状態で最終行を取得すると、"261"行目が取得されてしまいます。
取得したいのは"258"行目なのです
どなたかコード毎サンプルを頂けないでしょうか?
よろしくお願いいたします。
https://i.imgur.com/GNoEnCb.jpg
質問させてください。
複数ファイルに同じ文言を自動入力させたいと思いVBAで組み始めました。
ファイルを探し、開くとこまでは出来たのですが、最終行+1が上手く取得できません。
アップロードした画像ファイル(これはネットで拾ったイメージです)のような状態で最終行を取得すると、"261"行目が取得されてしまいます。
取得したいのは"258"行目なのです
どなたかコード毎サンプルを頂けないでしょうか?
よろしくお願いいたします。
https://i.imgur.com/GNoEnCb.jpg
563デフォルトの名無しさん (ワッチョイ 1be9-IQJU)
2017/10/02(月) 07:03:12.10ID:REp4OUHM0564デフォルトの名無しさん (アークセー Sxe1-Behf)
2017/10/02(月) 07:32:45.73ID:YgMVA043x >>562
データの入ったセル範囲を取得しようとしてUsedRangeを使ったら書式設定されてる空白セルまで含まれた範囲を取得してしまったってとこかな
データの入ったセル範囲を取得しようとしてUsedRangeを使ったら書式設定されてる空白セルまで含まれた範囲を取得してしまったってとこかな
565デフォルトの名無しさん (ワッチョイ cbc7-LMkv)
2017/10/02(月) 08:16:05.11ID:vqsqdnCg0566デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/10/02(月) 08:22:24.91ID:hd0o7pZ3a567デフォルトの名無しさん (ワッチョイ 0db5-1R2y)
2017/10/02(月) 08:40:49.45ID:HOU1vMaL0 >>566
質問スレで質問したら怒られたでござるw
質問スレで質問したら怒られたでござるw
568デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/10/02(月) 10:03:34.20ID:DxKMMk9ba そりゃ2次方程式の解き方聞いてる最中に"+"の記号って何ですかとか加算って何ですかと言われても困るだろう。
そこが分からなくて何で2次方程式なんだってことになる。
そこが分からなくて何で2次方程式なんだってことになる。
569デフォルトの名無しさん (ワッチョイ 3df7-xzc4)
2017/10/02(月) 10:07:24.98ID:MUILmKSw0 いや別にRangeとか基礎から聞いてもええんやが
質問のレベルにかかわらず、答える人がいるかどうかは別問題
質問のレベルにかかわらず、答える人がいるかどうかは別問題
570デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/10/02(月) 10:12:19.65ID:hd0o7pZ3a571デフォルトの名無しさん (スププ Sd43-7x71)
2017/10/02(月) 10:30:59.51ID:ylcTB1y5d572デフォルトの名無しさん (ワッチョイ 8573-hrmW)
2017/10/02(月) 10:54:33.73ID:DId0lIUx0573デフォルトの名無しさん (アウアウカー Sad1-3Z7M)
2017/10/02(月) 11:03:26.25ID:DxKMMk9ba574デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/10/02(月) 11:53:58.34ID:hd0o7pZ3a 元のコードがないと何事も推測にしかならん
無意味
無意味
575デフォルトの名無しさん (オイコラミネオ MM2b-pY8a)
2017/10/02(月) 18:10:19.22ID:HNUJs0p8M VBAでIf〜Thenの後を空行にすると次のElseIfが評価されないということは有るのでしょうか?
具体的には、
If var = 正常値 Then
ElseIf var = 異常値1 Then
(異常値の処理)
ElseIf var = 異常値2 Then
...
End If
のようなコードです。ElseIfがいくつも続くので最初に正常値にマッチしたらすぐに抜けるようにしたいのです。
最初のIfの後にブレークポイントを設定してもすり抜けているようです…
よろしくお願いします。
具体的には、
If var = 正常値 Then
ElseIf var = 異常値1 Then
(異常値の処理)
ElseIf var = 異常値2 Then
...
End If
のようなコードです。ElseIfがいくつも続くので最初に正常値にマッチしたらすぐに抜けるようにしたいのです。
最初のIfの後にブレークポイントを設定してもすり抜けているようです…
よろしくお願いします。
576デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/10/02(月) 18:12:48.89ID:hd0o7pZ3a577デフォルトの名無しさん (オイコラミネオ MM2b-pY8a)
2017/10/02(月) 18:17:23.60ID:HNUJs0p8M578デフォルトの名無しさん (アウアウオー Sa93-5sR+)
2017/10/02(月) 18:49:28.05ID:hd0o7pZ3a >>577
前後と処理の内容と何を比較してんのかわからんと答えようがない
前後と処理の内容と何を比較してんのかわからんと答えようがない
579デフォルトの名無しさん (ワッチョイ edb9-asy+)
2017/10/02(月) 19:25:33.87ID:DhQKhKMI0 >>575
これSelect文使うべきじゃないの。
これSelect文使うべきじゃないの。
580デフォルトの名無しさん (ドコグロ MM93-KCdQ)
2017/10/02(月) 20:56:43.55ID:bjzv4P4lM >>575
「正常値」と「異常値1」が定数か変数で同じ値とか
「正常値」と「異常値1」が定数か変数で同じ値とか
581デフォルトの名無しさん (ワッチョイ 1b9f-IQJU)
2017/10/02(月) 21:21:19.44ID:IbhHl2kC0 >>577
変数が期待通りになっていないんだと思う。
ステップ実行していけば変数がどう変化しているかすぐわかるんだけど
まだデバッグを使いこなせないビギナーさんなら
msgbox var
をいたるところにちりばめて実行して
メッセージボックスで変数の変化をみるという方法があるよ
自分もデバッグ?なにそれ?なころはそうやってた
変数が期待通りになっていないんだと思う。
ステップ実行していけば変数がどう変化しているかすぐわかるんだけど
まだデバッグを使いこなせないビギナーさんなら
msgbox var
をいたるところにちりばめて実行して
メッセージボックスで変数の変化をみるという方法があるよ
自分もデバッグ?なにそれ?なころはそうやってた
582デフォルトの名無しさん (ワッチョイ 3df7-xzc4)
2017/10/02(月) 22:08:19.69ID:MUILmKSw0583デフォルトの名無しさん (ワッチョイ 6a96-BYga)
2017/10/05(木) 18:21:05.77ID:gtEpGXfw0 win10 64bitでExcel2016使ってるんだけど
最近やたらに、「メモリ不足〜64bit版に〜」的なポップアップ出てフリーズするんだけど
なんかアプデで仕様でも変更したんかな
最近やたらに、「メモリ不足〜64bit版に〜」的なポップアップ出てフリーズするんだけど
なんかアプデで仕様でも変更したんかな
584デフォルトの名無しさん (ワッチョイ 4103-r61h)
2017/10/05(木) 23:19:02.08ID:VoC8r++Z0 どんな理由でフリーズする仕様にしなきゃならんのだ
いくらmsさんとは言え濡れ衣にも程がある
いくらmsさんとは言え濡れ衣にも程がある
585デフォルトの名無しさん (ワッチョイ 0565-UWdl)
2017/10/06(金) 00:13:17.19ID:VzJME0sV0586デフォルトの名無しさん (ワッチョイ 7680-HC+h)
2017/10/06(金) 01:43:54.00ID:tqIbkLAn0 Windows Defender で、フルスキャンしてウイルスチェックしろ
クイックスキャンでは見つからないので、フルスキャンしろ
クイックスキャンでは見つからないので、フルスキャンしろ
587デフォルトの名無しさん (ワッチョイ 7680-HC+h)
2017/10/06(金) 01:46:36.74ID:tqIbkLAn0 マクロが無限ループしているとか、バグってるのかも?
588デフォルトの名無しさん (ワッチョイ 958a-XSap)
2017/10/07(土) 21:24:36.96ID:zjjumFnz0 鮪うまいにゃー
589デフォルトの名無しさん (ワッチョイ 7afe-saRv)
2017/10/10(火) 03:19:47.77ID:Sh5NAJQR0 とあるcsvファイル(測定器の出力でかなり細かい数値データ)があるのですが
この数値をExcelで一部変更して保存すると全体的に数値が勝手に丸まったりしてしまいます…
(変更していない数値も全て)
色々調べたのですがこのあたりは仕様?みたいなのですがなんとかならないものなのでしょうか
この数値をExcelで一部変更して保存すると全体的に数値が勝手に丸まったりしてしまいます…
(変更していない数値も全て)
色々調べたのですがこのあたりは仕様?みたいなのですがなんとかならないものなのでしょうか
590デフォルトの名無しさん (アウアウオー Sac2-gIGu)
2017/10/10(火) 08:13:32.86ID:hYsWd5kHa591デフォルトの名無しさん (ワッチョイ 61b5-ejJa)
2017/10/10(火) 08:32:44.79ID:VWeCWDa40592デフォルトの名無しさん (ワッチョイ b1d5-XSap)
2017/10/10(火) 11:08:33.85ID:4/mxA4vP0593デフォルトの名無しさん (ワッチョイ 7afe-saRv)
2017/10/10(火) 12:05:43.76ID:Sh5NAJQR0 >>590-592
どうもありがとう、なんとか自己解決しました
ここで聞いたのは、一応一連の処理をVBAでやっていたので…
Excelでは仕様としてcsv保存するにしても細かい数値は勝手に丸めてしまうようでした
1.00001、1.00002…と並んでいる数字もExcel上から上書き保存するとただの1になってしまいます
これはインポートしても同じ事でした
結果として修正するときは数字として扱い、保存する前に全て文字列とすることで解決しました
しかしこれでも数字の丸めを止めさせられるだけで、各所それなりに変更されてしまいます
例えば、1.00000はどうやっても1になってしまいます
あるときには便利な仕様なのかもしれませんが、やっぱり余計と思える方が大きいですね…
どうもお邪魔しました
どうもありがとう、なんとか自己解決しました
ここで聞いたのは、一応一連の処理をVBAでやっていたので…
Excelでは仕様としてcsv保存するにしても細かい数値は勝手に丸めてしまうようでした
1.00001、1.00002…と並んでいる数字もExcel上から上書き保存するとただの1になってしまいます
これはインポートしても同じ事でした
結果として修正するときは数字として扱い、保存する前に全て文字列とすることで解決しました
しかしこれでも数字の丸めを止めさせられるだけで、各所それなりに変更されてしまいます
例えば、1.00000はどうやっても1になってしまいます
あるときには便利な仕様なのかもしれませんが、やっぱり余計と思える方が大きいですね…
どうもお邪魔しました
594デフォルトの名無しさん (ワッチョイ 61b5-ejJa)
2017/10/10(火) 12:13:17.55ID:VWeCWDa40 全然解ってなくて草
595デフォルトの名無しさん (ドコグロ MMc2-Nz6W)
2017/10/10(火) 12:41:07.46ID:zHyIV0/3M >>593
Excel 2013 の話だが
> 1.00001、1.00002…と並んでいる数字もExcel上から上書き保存するとただの1になってしまいます
再現しない
> 例えば、1.00000はどうやっても1になってしまいます
Excelで書式を設定して上書きすればいいだけ
当然csvには書式は格納されないので書式の設定は毎回必要
Excel 2013 の話だが
> 1.00001、1.00002…と並んでいる数字もExcel上から上書き保存するとただの1になってしまいます
再現しない
> 例えば、1.00000はどうやっても1になってしまいます
Excelで書式を設定して上書きすればいいだけ
当然csvには書式は格納されないので書式の設定は毎回必要
596デフォルトの名無しさん (ワッチョイ b1d5-XSap)
2017/10/10(火) 14:46:41.79ID:4/mxA4vP0 >>593
<csvをExcelで開き、1.00001 と表示されていた場合>
csv Excelで開く csv保存
実データ: 1.00001 → 1.00001 → 1.00001 ←丸められていない
見え方1: 1.00001 → 1.00001 → 1.00001
(Excel2007で開いたときはこのパターンで全桁表示され、丸められることはなかった)
<csvをExcelで開き、1 と表示されていた場合>
csv Excelで開く csv保存
実データ: 1.00001 → 1.00001 → 1 ←丸められた
見え方2: 1.00001 → 1 → 1
(Excel上では正確な値を保持していたが、csv保存時に丸められた)
Excelでcsv保存する場合、見えている通りにcsvに書き出されるから
正しい桁数に書式設定(桁数指定)する必要がある
(Excelのbook形式で保存するなら、丸められることなく正確な値を保存できる)
<csvをExcelで開き、1.00001 と表示されていた場合>
csv Excelで開く csv保存
実データ: 1.00001 → 1.00001 → 1.00001 ←丸められていない
見え方1: 1.00001 → 1.00001 → 1.00001
(Excel2007で開いたときはこのパターンで全桁表示され、丸められることはなかった)
<csvをExcelで開き、1 と表示されていた場合>
csv Excelで開く csv保存
実データ: 1.00001 → 1.00001 → 1 ←丸められた
見え方2: 1.00001 → 1 → 1
(Excel上では正確な値を保持していたが、csv保存時に丸められた)
Excelでcsv保存する場合、見えている通りにcsvに書き出されるから
正しい桁数に書式設定(桁数指定)する必要がある
(Excelのbook形式で保存するなら、丸められることなく正確な値を保存できる)
597デフォルトの名無しさん (ワッチョイ 7afe-saRv)
2017/10/10(火) 15:46:51.35ID:Sh5NAJQR0 >>595-596
どうもありがとう
CSVを普通にExcelで開いた時点での表示形式は指数になってます
この時点ではある意味見た目上も全桁数表示されてるのですが
csv保存するときに自動的に普通の数値に変換して更に丸めてしまうみたいです
よくわからないのは0.00001は丸められないけど1.000001は1に丸められます
Excelのバージョンは2016です
いずれにしろ表示形式を変えることで対処するしかなさそうですね
とりあえず文字列にしてしまえば全て保存できるようで何よりです
確かにxlms形式なら全て保存できるみたいなのですが
測定器がcsvで吐き出すことを前提に色々と組んでしまっているので…
どうもありがとう
CSVを普通にExcelで開いた時点での表示形式は指数になってます
この時点ではある意味見た目上も全桁数表示されてるのですが
csv保存するときに自動的に普通の数値に変換して更に丸めてしまうみたいです
よくわからないのは0.00001は丸められないけど1.000001は1に丸められます
Excelのバージョンは2016です
いずれにしろ表示形式を変えることで対処するしかなさそうですね
とりあえず文字列にしてしまえば全て保存できるようで何よりです
確かにxlms形式なら全て保存できるみたいなのですが
測定器がcsvで吐き出すことを前提に色々と組んでしまっているので…
598デフォルトの名無しさん (アウアウオー Sac2-gIGu)
2017/10/10(火) 16:00:05.93ID:hYsWd5kHa599デフォルトの名無しさん (アウアウカー Sa4d-2hpO)
2017/10/10(火) 16:00:40.01ID:7WxooWaTa600デフォルトの名無しさん (アウアウカー Sa4d-2hpO)
2017/10/10(火) 16:05:11.32ID:7WxooWaTa601デフォルトの名無しさん (アークセー Sx75-CSH4)
2017/10/10(火) 16:10:44.15ID:f04ktCAUx Outlookで指定したメールのtoアドレスとccアドレスをエクセルに書き込みたいのですが、itam.TOとCCにすると名前が書き込まれてしまいました。そこでTOをやめてitam.SenderEmailAddressにしたらアドレスが入ったのですがCCは見つけられませんでした。
分かる方、お言えてもらえませんか?
分かる方、お言えてもらえませんか?
602デフォルトの名無しさん (ワントンキン MMea-U77G)
2017/10/10(火) 18:21:14.88ID:1oxHy7+aM >>601
outlook.RecipientsクラスのpropertyAccessorから、getproperty使って取り出してるけど、今はソースを提示できない。
どっかの日本語サイトから見つけたんで、頑張って探して‥
outlook.RecipientsクラスのpropertyAccessorから、getproperty使って取り出してるけど、今はソースを提示できない。
どっかの日本語サイトから見つけたんで、頑張って探して‥
603デフォルトの名無しさん (ワッチョイ 1aa4-Ko7M)
2017/10/10(火) 19:18:52.42ID:Gdc/ZOOr0 会社で「顧客名簿のDBから吐き出したCSVをエクセルで編集して又システムに
戻したいんだけど遅いくて困ってる」と言われて「エクセルじゃなく専用エディタでやれよ」
と言ったら「勝手にフリーソフトをインストールできない」と言う。つまり、泣き付けばマクロで作ってくれると思ったんだろうな。
冗談じゃねえと思ったが興味本位でネット漁って作ってやったよ。礼の一言もなんも無しだが、何も言ってこないから普通に使えてるんかな。
CSVをエクセルに食わせるのはQueryTableが一番?速いみたいね。データ型も指定できるし。保存は保存するディレクトリにブックをコピーして
書き出すとまあまあ速かった。と言ってもせいぜい30000件程度(会社規模が知れるw)だからあんま参考にならないかもだが。
戻したいんだけど遅いくて困ってる」と言われて「エクセルじゃなく専用エディタでやれよ」
と言ったら「勝手にフリーソフトをインストールできない」と言う。つまり、泣き付けばマクロで作ってくれると思ったんだろうな。
冗談じゃねえと思ったが興味本位でネット漁って作ってやったよ。礼の一言もなんも無しだが、何も言ってこないから普通に使えてるんかな。
CSVをエクセルに食わせるのはQueryTableが一番?速いみたいね。データ型も指定できるし。保存は保存するディレクトリにブックをコピーして
書き出すとまあまあ速かった。と言ってもせいぜい30000件程度(会社規模が知れるw)だからあんま参考にならないかもだが。
604デフォルトの名無しさん (ワッチョイ aee9-wbjw)
2017/10/10(火) 19:25:55.56ID:3LTSijN20 >>603
すっげえええええええええええええ!!!!!!!!!!!!!111
すっげえええええええええええええ!!!!!!!!!!!!!111
605デフォルトの名無しさん (ドコグロ MMc2-Nz6W)
2017/10/10(火) 19:45:55.99ID:zHyIV0/3M >>597
> CSVを普通にExcelで開いた時点での表示形式は指数になってます
なら初めからそう書いてくれ
> この時点ではある意味見た目上も全桁数表示されてるのですが
本当になってる?
Excel 2013 だから動作が違うのかも知れんが 1.23456789E+00 を読み込むと 1.23E+00 になる
> csv保存するときに自動的に普通の数値に変換して更に丸めてしまうみたいです
指数表示は全桁読み込んでるけど表示上の有効桁を3桁に決め打ちしているように見える
なのでそのまま保存すると3桁分に丸められてしまう
> よくわからないのは0.00001は丸められないけど1.000001は1に丸められます
それ指数表示でどうなってるかを見ればわかると思うが...
って言うか指数表示の意味わかってないのか?
> CSVを普通にExcelで開いた時点での表示形式は指数になってます
なら初めからそう書いてくれ
> この時点ではある意味見た目上も全桁数表示されてるのですが
本当になってる?
Excel 2013 だから動作が違うのかも知れんが 1.23456789E+00 を読み込むと 1.23E+00 になる
> csv保存するときに自動的に普通の数値に変換して更に丸めてしまうみたいです
指数表示は全桁読み込んでるけど表示上の有効桁を3桁に決め打ちしているように見える
なのでそのまま保存すると3桁分に丸められてしまう
> よくわからないのは0.00001は丸められないけど1.000001は1に丸められます
それ指数表示でどうなってるかを見ればわかると思うが...
って言うか指数表示の意味わかってないのか?
606デフォルトの名無しさん (アークセー Sx75-CSH4)
2017/10/10(火) 19:55:17.15ID:f04ktCAUx >>602
ありがとう!がんばってみる。
ありがとう!がんばってみる。
607デフォルトの名無しさん (アークセー Sx75-CSH4)
2017/10/10(火) 19:55:39.26ID:f04ktCAUx >>602
ありがとう!がんばってみる。
ありがとう!がんばってみる。
608デフォルトの名無しさん (ワッチョイ 559f-ejJa)
2017/10/10(火) 20:17:36.56ID:VnbRlrtb0 >>604
え?どの辺が?
え?どの辺が?
609デフォルトの名無しさん (ワッチョイ 958a-XSap)
2017/10/10(火) 21:23:16.18ID:t2xxwznZ0 >>603
自分の担当の仕事やんないでマクロせこせこ組んでるのってどうなのかな
自分の担当の仕事やんないでマクロせこせこ組んでるのってどうなのかな
610デフォルトの名無しさん (ワッチョイ 7d60-25LY)
2017/10/11(水) 00:24:10.90ID:8tv9PUwe0 >>603
まさに神
まさに神
611デフォルトの名無しさん (ワッチョイ 459e-G6mq)
2017/10/11(水) 00:33:25.96ID:KAFzS1A50 >>603
ブックに保存のあとDB更新はどうするの?
ブックに保存のあとDB更新はどうするの?
612デフォルトの名無しさん (ワッチョイ 958a-XSap)
2017/10/11(水) 18:37:53.22ID:L5RL6WNG0 >>603
勝手にフリーソフトインストールできないのに、勝手に作ったマクロいれていいのか?
勝手にフリーソフトインストールできないのに、勝手に作ったマクロいれていいのか?
613デフォルトの名無しさん (ワッチョイ 958a-XSap)
2017/10/11(水) 18:41:22.40ID:L5RL6WNG0 >>612
逆に金もらえばフリーソフトじゃないから入れてもいいのかな
逆に金もらえばフリーソフトじゃないから入れてもいいのかな
614デフォルトの名無しさん (ドコグロ MMc2-Nz6W)
2017/10/11(水) 20:42:55.70ID:Zr2u7FH4M >>612
上から見たら単なるExcelファイルだから
上から見たら単なるExcelファイルだから
615デフォルトの名無しさん (アウアウカー Sa4d-rJAP)
2017/10/11(水) 21:35:40.57ID:Ahl7d1lra 単なるexcelファイルに見えるフリーソフトならいれてもいいのか
616デフォルトの名無しさん (ワッチョイ aee9-1Imn)
2017/10/11(水) 21:40:05.73ID:lJAOhUBd0 上に聞けばいい
617デフォルトの名無しさん (ワッチョイ daeb-GMdf)
2017/10/11(水) 21:45:50.25ID:0mVU1QGV0 >>612
業務で作ったソフトは会社のもの
業務で作ったソフトは会社のもの
618デフォルトの名無しさん (ワッチョイ 559f-ejJa)
2017/10/11(水) 21:53:34.37ID:/oOufQ5f0 >>615
お前が決める事じゃないし、合理的な回答とか求めてないし
お前が決める事じゃないし、合理的な回答とか求めてないし
619デフォルトの名無しさん (ワッチョイ d1e3-HnJS)
2017/10/12(木) 03:28:06.76ID:bkFDlrr00 企業だと、Excelは書類扱いやな
マクロも同じ(Excelを加工するExcelファイルという扱い)
「Excelマクロ禁止」って書いてない企業ならまぁ合法かもな(VBSはええんやで)
マクロも同じ(Excelを加工するExcelファイルという扱い)
「Excelマクロ禁止」って書いてない企業ならまぁ合法かもな(VBSはええんやで)
620デフォルトの名無しさん (スッップ Sd33-MKW1)
2017/10/12(木) 08:00:49.64ID:eI9n71dPd Excelマクロ禁止ならWordマクロを使えばいいのに
621デフォルトの名無しさん (アウアウオー Sa63-Ubfa)
2017/10/12(木) 08:08:08.79ID:IaLGP3ZLa マクロダメな企業って何ゆえなんだろ
622デフォルトの名無しさん (ワッチョイ 7be9-PY8A)
2017/10/12(木) 08:09:22.27ID:V4FXvHlK0 下手に素人が自動化してデータを触るとデータが消えるかもしれない!
きちんと目視で確認すること!
きちんと目視で確認すること!
623デフォルトの名無しさん (ワッチョイ 71b5-mxX+)
2017/10/12(木) 08:36:02.53ID:+534zcJo0 電卓で計算した結果を入力するのが正しい、と思い込んでる老害が幅を効かせてるんでしょ
624デフォルトの名無しさん (ササクッテロラ Sp45-0DCf)
2017/10/12(木) 11:01:32.26ID:+B3woImAp625デフォルトの名無しさん (ブーイモ MMcb-y8KI)
2017/10/12(木) 12:22:01.01ID:7g4EHxnpM マクロを使うのはずるいんだもん!
626デフォルトの名無しさん (スプッッ Sd73-MKW1)
2017/10/12(木) 12:44:11.82ID:Aeas92Wzd 作るのはずるくない
627デフォルトの名無しさん (ササクッテロロ Sp45-97Ee)
2017/10/12(木) 12:56:55.18ID:+aWFVLPap フリーソフトを禁止している理由として
著作権とかライセンス関係の理由なのか
ウイルスとかセキュリティ関係の理由なのか
それ以外か
複合的な理由かによるんじゃね
会社で作ったのなら著作権は問題ないだろう
ウイルスは問題無いけどセキュリティホール的な問題がある場合もありうるかなぁ
著作権とかライセンス関係の理由なのか
ウイルスとかセキュリティ関係の理由なのか
それ以外か
複合的な理由かによるんじゃね
会社で作ったのなら著作権は問題ないだろう
ウイルスは問題無いけどセキュリティホール的な問題がある場合もありうるかなぁ
628デフォルトの名無しさん (スプッッ Sd73-MKW1)
2017/10/12(木) 15:03:41.75ID:Aeas92Wzd ソースコードそのものは外部のものを導入しても構わない、という会社が大多数だろうから、オープンソースを探せばよい
629デフォルトの名無しさん (ワッチョイ 53fe-Zccp)
2017/10/12(木) 15:46:25.11ID:+VeyGWZM0 うちのお客の社員用PCでは拡張子exeのファイルは起動できない
そしてインストール権限を認めてないのでインストーラーを起動できない
この辺が必要な場合は上司を介して情報システム部に許可をとる必要がある
まぁOfficeと社内用ツール以外は使うなよって感じ
ちなみにVBAには特に制限とかかかってない様子
そしてインストール権限を認めてないのでインストーラーを起動できない
この辺が必要な場合は上司を介して情報システム部に許可をとる必要がある
まぁOfficeと社内用ツール以外は使うなよって感じ
ちなみにVBAには特に制限とかかかってない様子
630デフォルトの名無しさん (オイコラミネオ MM8b-2LZo)
2017/10/12(木) 17:41:48.83ID:b/XoeLt7M CSVの行頭と,の後に'を挿入してから開いたらいいのでは?
文字列化して良ければの話だけど
文字列化して良ければの話だけど
631デフォルトの名無しさん (ワッチョイ 09b3-97Ee)
2017/10/12(木) 18:04:04.30ID:I2SSXy8u0632デフォルトの名無しさん (ワッチョイ 998a-BSx0)
2017/10/12(木) 18:23:12.96ID:Sln3lYHR0 C++で自作したフリーソフトなら入れていいのか?
エクセルマクロで実行ファイルを書き換えるのはありなのか?
エクセルマクロで実行ファイルを書き換えるのはありなのか?
633デフォルトの名無しさん (ワッチョイ 9933-BSx0)
2017/10/12(木) 18:38:31.99ID:i7nZkF8G0 はいはい、おやつは300円までね
バナナはお弁当箱に入っていたらお昼ご飯だけど
別に持ってたらおやつとみなすわよ
バナナはお弁当箱に入っていたらお昼ご飯だけど
別に持ってたらおやつとみなすわよ
634デフォルトの名無しさん (ワッチョイ 13eb-97Ee)
2017/10/12(木) 19:09:55.75ID:LSdt7/hd0 >>632
会社で作ったのなら言語に依らずフリーソフトにはならないんじゃね?
自宅とかで作ったのなら従業員かどうか関係なく一般のソフトと同じ扱いだと思う
実行ファイルを書き換えた結果
会社に損害を与えたら懲戒処分とか損害賠償とかの可能性もあるんじゃね?
悪意の程度とかいろいろ関係しそう
会社で作ったのなら言語に依らずフリーソフトにはならないんじゃね?
自宅とかで作ったのなら従業員かどうか関係なく一般のソフトと同じ扱いだと思う
実行ファイルを書き換えた結果
会社に損害を与えたら懲戒処分とか損害賠償とかの可能性もあるんじゃね?
悪意の程度とかいろいろ関係しそう
635デフォルトの名無しさん (ワッチョイ 998a-BSx0)
2017/10/12(木) 19:29:54.79ID:Sln3lYHR0636デフォルトの名無しさん (ワッチョイ 01f7-AvbY)
2017/10/12(木) 19:52:02.88ID:jk5hMeLi0 そういう時に必要な要件は、責任の所在を明確に出来るかどうか
マクロでトラブルが起きると、作ったやつが悪いか使ったやつが悪いか、みたいな面倒な話になって、ヘタすると業務が止まって
マクロで得られた時間の短縮という恩恵以上の損失が出る可能性があるというか、禁止してる所は過去に苦い経験が
あることがほとんど
例外を認めるのもこれまた面倒だから一律禁止にしてる所も多い
会社がある程度の規模になると、本当に小回りがきかなくなるんだよ
Windowsの壁紙の変更すら認められない、みたいな職場も見てきたから
マクロでトラブルが起きると、作ったやつが悪いか使ったやつが悪いか、みたいな面倒な話になって、ヘタすると業務が止まって
マクロで得られた時間の短縮という恩恵以上の損失が出る可能性があるというか、禁止してる所は過去に苦い経験が
あることがほとんど
例外を認めるのもこれまた面倒だから一律禁止にしてる所も多い
会社がある程度の規模になると、本当に小回りがきかなくなるんだよ
Windowsの壁紙の変更すら認められない、みたいな職場も見てきたから
637デフォルトの名無しさん (ワッチョイ 13eb-97Ee)
2017/10/12(木) 20:37:36.71ID:LSdt7/hd0 >>635
実行ファイルを書き換えてはダメとは書いてないんだが
結果とか必要性とかいろいろ関係しそうと言う意味
別の手段で実現できることをわざわざその手段を使う必要があるかとか、結果の程度とか
会社に損害を与えたら懲戒処分になる可能性があるのはどんな業務でも同じ
実行ファイルを書き換えてはダメとは書いてないんだが
結果とか必要性とかいろいろ関係しそうと言う意味
別の手段で実現できることをわざわざその手段を使う必要があるかとか、結果の程度とか
会社に損害を与えたら懲戒処分になる可能性があるのはどんな業務でも同じ
638デフォルトの名無しさん (アウアウカー Sad5-EduE)
2017/10/12(木) 21:03:23.99ID:nSOq2nGha ウィルスも簡単に作れるけどね。
昔、客に納めた文書が誤検出されたことがあって、問題になりかけた。
今ならあんなマクロは納めないな。
昔、客に納めた文書が誤検出されたことがあって、問題になりかけた。
今ならあんなマクロは納めないな。
639デフォルトの名無しさん (アウアウカー Sad5-EduE)
2017/10/12(木) 21:09:46.58ID:nSOq2nGha そもそも、VBA込みの仕事が殆どじゃないの?
フリーソフトは許可が必要だろうけどVBAについては最初から込みの話であって、駄目なら最初からそういう指示がある筈だ。
フリーソフトは駄目だからVBAで同じ機能を実現すれば良い。
どうしても必要だけどVBAで作るのが難しいなら上司を説得するか有料のソフト買って貰うしかない。
フリーソフトは許可が必要だろうけどVBAについては最初から込みの話であって、駄目なら最初からそういう指示がある筈だ。
フリーソフトは駄目だからVBAで同じ機能を実現すれば良い。
どうしても必要だけどVBAで作るのが難しいなら上司を説得するか有料のソフト買って貰うしかない。
640デフォルトの名無しさん (ワッチョイ 09b3-Ubfa)
2017/10/12(木) 21:24:11.45ID:xm9Gd8D00 HTMLやjavascriptをメモ帳で組むのは辛いからテキストエディターぐらい入れさせてほしいわねえ
ブラクラならHTAで簡単に作れるんじゃね
ブラクラならHTAで簡単に作れるんじゃね
641デフォルトの名無しさん (ワッチョイ 13b9-b/Cf)
2017/10/13(金) 01:03:16.23ID:bhKH08Ce0 VBAでテトリスとかロックマンが作れるなんで知らなかったわ
というか感動した。
それを実装するのに特別な環境が必要だと思ってたけど、VBAだけで実現できるところがすごい
というか感動した。
それを実装するのに特別な環境が必要だと思ってたけど、VBAだけで実現できるところがすごい
642デフォルトの名無しさん (スプッッ Sd73-MKW1)
2017/10/13(金) 08:26:56.51ID:CVhYo9e6d exeを起動できないPCって何ができるの?
643デフォルトの名無しさん (アークセー Sx45-b3d+)
2017/10/13(金) 08:51:28.87ID:IDiztT7rx >>642
コピペ
コピペ
644デフォルトの名無しさん (ワッチョイ 01f7-AvbY)
2017/10/13(金) 09:01:14.80ID:6i/UJdMU0 最大限好意的に解釈すれば、exeを直接起動するのは禁止って意味ではあるまいか
Excelを起動したい時はxlsファイルをダブルクリックするしかない、みたいな
Excelを起動したい時はxlsファイルをダブルクリックするしかない、みたいな
645デフォルトの名無しさん (スプッッ Sd73-MKW1)
2017/10/13(金) 10:43:30.84ID:CVhYo9e6d >>643
つまりネット上のサンプルプログラムのコピペはOK、と
つまりネット上のサンプルプログラムのコピペはOK、と
646デフォルトの名無しさん (スフッ Sd33-AvbY)
2017/10/13(金) 11:27:19.75ID:EVTVJC8ad ガチガチの環境だとネットも許可されたURLしかアクセスできないんだよな
647デフォルトの名無しさん (スプッッ Sd73-MKW1)
2017/10/13(金) 11:44:54.65ID:CVhYo9e6d 開発環境の話かな?
通常のオフィス環境で特定サイトのみOKてことないよね
NGなサイトがあるのはわかるけど。
通常のオフィス環境で特定サイトのみOKてことないよね
NGなサイトがあるのはわかるけど。
648デフォルトの名無しさん (ワッチョイ 11b9-89ZN)
2017/10/13(金) 12:13:04.97ID:fnGHp6s50 本来は未認可のプログラム関連全面禁止のところVBAが抜け道的に使われているだけって場合が多いだろうから、
他のプログラムを使ってはならないのは何故かっていう疑問に合理的な回答は無いだろうなぁ。
他のプログラムを使ってはならないのは何故かっていう疑問に合理的な回答は無いだろうなぁ。
649デフォルトの名無しさん (ササクッテロラ Sp45-97Ee)
2017/10/13(金) 12:26:29.21ID:h1mGc1nrp650デフォルトの名無しさん (スプッッ Sd63-AvbY)
2017/10/13(金) 12:48:20.61ID:rxTt3wqUd 俺の知ってる会社でネット完全遮断のとこあるよ
とあるジャンルで世界トップのメーカーだからセキュリティがめっちゃ厳しい
建物に入る前に所持品チェックがあるしスマホやケータイは持ち込み禁止
ネット上のデータや情報が欲しい時は専門の部署に内容やURLを連絡して結果を知らせてもらうシステム
すごく効率が悪いと思うけど、それぐらいしないと機密が守れないそうだ
とあるジャンルで世界トップのメーカーだからセキュリティがめっちゃ厳しい
建物に入る前に所持品チェックがあるしスマホやケータイは持ち込み禁止
ネット上のデータや情報が欲しい時は専門の部署に内容やURLを連絡して結果を知らせてもらうシステム
すごく効率が悪いと思うけど、それぐらいしないと機密が守れないそうだ
651デフォルトの名無しさん (ワッチョイ 11b9-89ZN)
2017/10/13(金) 12:49:48.49ID:fnGHp6s50 >>649
VBAはオフィス製品を拡張するのが本来の役割だから、その範囲なら認可されていると言える。
表計算ソフトで(標準的に備わっていない)データベース処理させたり、データベースソフトで波形分析させたりといった、
そういう用途は厳密にはアウトなはずなんだけどVBA使う人間のほとんどがそういう本来用途から逸脱した使い方をするので、
この辺りの線引きが他のプログラムと曖昧になるから混乱するのではないだろうか。
VBAはオフィス製品を拡張するのが本来の役割だから、その範囲なら認可されていると言える。
表計算ソフトで(標準的に備わっていない)データベース処理させたり、データベースソフトで波形分析させたりといった、
そういう用途は厳密にはアウトなはずなんだけどVBA使う人間のほとんどがそういう本来用途から逸脱した使い方をするので、
この辺りの線引きが他のプログラムと曖昧になるから混乱するのではないだろうか。
652デフォルトの名無しさん (ササクッテロラ Sp45-97Ee)
2017/10/13(金) 12:57:07.42ID:h1mGc1nrp653デフォルトの名無しさん (ワッチョイ 11b9-89ZN)
2017/10/13(金) 13:05:46.99ID:fnGHp6s50 >>652
本来用途的な使い方をする場合はVBA利用する必要が無いくらいには機能が揃ってるっていうのと、
このスレで他のプログラムが使えない事に対する明確な回答が出ない辺りからの推測だけど。
だいたいこのスレでも「お前が詳しいのはVBAであってエクセルではない」という戒めの言葉がたまに出るくらいだし。
本来用途的な使い方をする場合はVBA利用する必要が無いくらいには機能が揃ってるっていうのと、
このスレで他のプログラムが使えない事に対する明確な回答が出ない辺りからの推測だけど。
だいたいこのスレでも「お前が詳しいのはVBAであってエクセルではない」という戒めの言葉がたまに出るくらいだし。
654デフォルトの名無しさん (ブーイモ MM5d-JOEC)
2017/10/13(金) 14:31:58.61ID:imvGJ6egM このスレでもIE操作とか何故にVBA?ってのがあるしね
655デフォルトの名無しさん (アウアウカー Sad5-EduE)
2017/10/13(金) 15:27:59.93ID:qTuikjwpa 本来用途?
随分おかしなこというんだな。
何をやろうがそれが本来用途だろ。
アウトかどうかなんて結局は責任の問題だ。
セル操作でさえ会社に損害を与えることができるし、嫌だったらVBAを使うの辞めろ。
フリーソフトが問題なのは責任を問えないからだ。
VBAで問題が起きた時に、作った奴や部署が責任を取ることになるのはどんなVBAでも同じこと。
だから良く知りもせずに結果だけをコピペする奴は迷惑なんだ。
仕組みを理解すれば何をやっててもセルの操作と同じだ。
部署として作った奴を信用するかしないかの問題。
或いは部署として危険なコードか安全なコードかと判断できるかどうか。
随分おかしなこというんだな。
何をやろうがそれが本来用途だろ。
アウトかどうかなんて結局は責任の問題だ。
セル操作でさえ会社に損害を与えることができるし、嫌だったらVBAを使うの辞めろ。
フリーソフトが問題なのは責任を問えないからだ。
VBAで問題が起きた時に、作った奴や部署が責任を取ることになるのはどんなVBAでも同じこと。
だから良く知りもせずに結果だけをコピペする奴は迷惑なんだ。
仕組みを理解すれば何をやっててもセルの操作と同じだ。
部署として作った奴を信用するかしないかの問題。
或いは部署として危険なコードか安全なコードかと判断できるかどうか。
656デフォルトの名無しさん (ワッチョイ 9933-BSx0)
2017/10/13(金) 15:39:50.72ID:Lgor6t1j0 >>654
おれもVBAでIE操作してクロールとかやってるけど、
趣味程度にプログラムをやってるだけなのでプログラム環境がVBAだけなんだよね
あと、取ってきたデータをそのままExcelに入れ、フィルタやソートを使ってデータ編集できる点も便利だよ
おれもVBAでIE操作してクロールとかやってるけど、
趣味程度にプログラムをやってるだけなのでプログラム環境がVBAだけなんだよね
あと、取ってきたデータをそのままExcelに入れ、フィルタやソートを使ってデータ編集できる点も便利だよ
657デフォルトの名無しさん (スプッッ Sd73-MKW1)
2017/10/13(金) 16:39:03.02ID:CVhYo9e6d658デフォルトの名無しさん (ワッチョイ 13d2-HnJS)
2017/10/13(金) 16:53:46.60ID:mP5bG6AS0 ExelVBAで、テキストファイルの書き出しをスレッドで行いたいですが、どうにかすれば
可能なものでしょうか?
Yes/Noだけでもいいので教えてください。
可能なものでしょうか?
Yes/Noだけでもいいので教えてください。
659デフォルトの名無しさん (スプッッ Sd63-AvbY)
2017/10/13(金) 17:41:44.34ID:BvGB7kuQd Yes
660デフォルトの名無しさん (ワッチョイ 13d2-HnJS)
2017/10/13(金) 17:44:35.45ID:mP5bG6AS0 >>659
Vielen Dank!!
Vielen Dank!!
661デフォルトの名無しさん (ワッチョイ fb9d-vACK)
2017/10/13(金) 17:47:28.70ID:6GjwVIDm0 VBAにスレッドを扱う機能そのものはないけどな
662デフォルトの名無しさん (JP 0Hd3-cm6R)
2017/10/13(金) 18:25:28.31ID:fpikNhWdH mainThreadだと思えば腹もたたぬわ!
663デフォルトの名無しさん (アウアウオー Sa63-Ubfa)
2017/10/13(金) 18:58:06.78ID:/S7SJaNDa >>654
ブラウザ操作だとどの言語が適してるんかね
ブラウザ操作だとどの言語が適してるんかね
664デフォルトの名無しさん (ワッチョイ 13eb-97Ee)
2017/10/13(金) 19:23:32.28ID:BvXBfgEq0 ブラウザからデータを取ってきた後の処理がエクセルだと簡単だからVBA使うんじゃね
またはその逆
またはその逆
665デフォルトの名無しさん (スプッッ Sd73-MKW1)
2017/10/13(金) 19:27:32.12ID:CVhYo9e6d なんてわざわざブラウザ操作を挟むのかねえ
666デフォルトの名無しさん (ワッチョイ 13eb-97Ee)
2017/10/13(金) 20:04:09.22ID:BvXBfgEq0 >>665
動的コンテンツとかもあるからとかかな
動的コンテンツとかもあるからとかかな
667デフォルトの名無しさん (ワッチョイ 3396-z1uI)
2017/10/13(金) 20:05:44.35ID:7qyJlnS60 ブラウザからデータ抜き出すには何が一番適してるん?
668デフォルトの名無しさん (ワッチョイ 13eb-97Ee)
2017/10/13(金) 20:11:42.14ID:BvXBfgEq0669デフォルトの名無しさん (アウアウオー Sa63-Ubfa)
2017/10/13(金) 20:24:56.96ID:/S7SJaNDa670デフォルトの名無しさん (ワッチョイ 7be9-bASz)
2017/10/13(金) 20:50:35.51ID:rFlnU12Q0 >>665
htnmという概念を知らないのかもしれない
htnmという概念を知らないのかもしれない
671デフォルトの名無しさん (ワッチョイ 998a-BSx0)
2017/10/14(土) 01:01:33.45ID:rdmEgd6Z0 >>667
インターネットエクスプローラーってやつ
インターネットエクスプローラーってやつ
672デフォルトの名無しさん (アウアウカー Sad5-EduE)
2017/10/14(土) 15:22:42.26ID:+KU804tRa >>661
スレッドを扱うことはできる。
不安定ですぐ落ちるだけ。
セルを触った途端に落ちると記憶している。
気をつければそこそこ安定してできることもあると思ってる。
Msgboxのボタンを押すようなことなら落ちないと思うけどプロセスでも同じことはできるからメリットを感じない。
>>667
InternetExplorer.Applicationは遅いと思う。
MSXML2.XMLhttpとかhtmlfileの方が速い。
ただし情報取得以外にクリックするとか操作するならInternetExplorer.Applicationを使うことになるかな。
Seleniumとか外部のオブジェクトは使わないんだよね。
スレッドを扱うことはできる。
不安定ですぐ落ちるだけ。
セルを触った途端に落ちると記憶している。
気をつければそこそこ安定してできることもあると思ってる。
Msgboxのボタンを押すようなことなら落ちないと思うけどプロセスでも同じことはできるからメリットを感じない。
>>667
InternetExplorer.Applicationは遅いと思う。
MSXML2.XMLhttpとかhtmlfileの方が速い。
ただし情報取得以外にクリックするとか操作するならInternetExplorer.Applicationを使うことになるかな。
Seleniumとか外部のオブジェクトは使わないんだよね。
673デフォルトの名無しさん (ササクッテロル Sp45-MeUd)
2017/10/14(土) 16:29:13.95ID:EZ8Tpyvpp >>672
selenium使うならvbaは選択しないと思う
データ処理し易いからエクセル→VBA
クリックしたり操作しながら動的データを取るからブラウザ操作
python sqliteとか使う手もあるけど
実現したい事はどの手段でも実現できる
selenium使うならvbaは選択しないと思う
データ処理し易いからエクセル→VBA
クリックしたり操作しながら動的データを取るからブラウザ操作
python sqliteとか使う手もあるけど
実現したい事はどの手段でも実現できる
674デフォルトの名無しさん (ワッチョイ 131e-89ZN)
2017/10/14(土) 21:22:12.43ID:/BK34hqS0 ちょっと教えてください。ワークブックに含まれているマクロを起動時に実行する時
ThisWorkbookのWorkbook_Open()
あるいは標準モジュールでもauto_open
のどちらでも出来るような気がするんですけど、全く同じと考えていい?それとも何か違いがあるの?
ThisWorkbookのWorkbook_Open()
あるいは標準モジュールでもauto_open
のどちらでも出来るような気がするんですけど、全く同じと考えていい?それとも何か違いがあるの?
675デフォルトの名無しさん (ワッチョイ 7be9-bASz)
2017/10/14(土) 21:23:25.61ID:no3ERhsP0676デフォルトの名無しさん (アウアウオー Sa63-Ubfa)
2017/10/14(土) 21:30:06.90ID:ZE/6L260a auto_open知らんかったわ
677デフォルトの名無しさん (ワッチョイ 131e-89ZN)
2017/10/14(土) 21:30:35.09ID:/BK34hqS0678デフォルトの名無しさん (ワッチョイ 939b-8plx)
2017/10/15(日) 21:08:10.21ID:6B+BNBuo0 ユーザーフォームに線を書く場合ってラベルを弄くる他にないですか?折れ線を書きたいのですが。
679デフォルトの名無しさん (ワッチョイ 7be9-KQ1N)
2017/10/15(日) 21:40:02.13ID:vDC+hW3+0 図の挿入は?
グラフなら以下の方法もあるみたい
http://www.max.hi-ho.ne.jp/happy/YNxv9d92.html
APIとかで頑張れば折れ線ぐらいなら掛けるけど、めんどくさそう
グラフなら以下の方法もあるみたい
http://www.max.hi-ho.ne.jp/happy/YNxv9d92.html
APIとかで頑張れば折れ線ぐらいなら掛けるけど、めんどくさそう
680デフォルトの名無しさん (ワッチョイ fb8a-BSx0)
2017/10/15(日) 21:42:05.94ID:00064jpY0 測量系のサイトで測量した数値をExcelで図化するような
ものがあるはず そんなキーワードでググってみ
ものすんごいことしてるから CADかよ みたいな
ものがあるはず そんなキーワードでググってみ
ものすんごいことしてるから CADかよ みたいな
681デフォルトの名無しさん (アウアウカー Sad5-EduE)
2017/10/15(日) 22:13:27.13ID:Z02OjAp6a682デフォルトの名無しさん (ワッチョイ 939b-8plx)
2017/10/15(日) 22:24:31.38ID:6B+BNBuo0 書く線はこの程度のようなもので、表示して数値変更出来て、数値の合計算出するだけなんだけど
https://i.imgur.com/NxhLNnG.jpg
https://i.imgur.com/NxhLNnG.jpg
683デフォルトの名無しさん (アウアウオー Sa63-Ubfa)
2017/10/15(日) 22:33:23.70ID:SP8+PvVZa >>682
折れ線は固定じゃないんだよね?
折れ線は固定じゃないんだよね?
684デフォルトの名無しさん (ワッチョイ fb9d-vACK)
2017/10/15(日) 22:41:19.36ID:+EgtYg1c0 EXCEL方眼紙に罫線で良い気がする
685デフォルトの名無しさん (ワッチョイ 7be9-W7hv)
2017/10/15(日) 22:44:27.97ID:vDC+hW3+0686デフォルトの名無しさん (ワッチョイ 939b-8plx)
2017/10/15(日) 23:01:22.46ID:6B+BNBuo0 >>683
折れ線は固定です。
折れ線は固定です。
687デフォルトの名無しさん (アウアウオー Sa63-Ubfa)
2017/10/15(日) 23:29:49.75ID:SP8+PvVZa >>686
固定なら画像はって上にラベルでええやん
固定なら画像はって上にラベルでええやん
688デフォルトの名無しさん (スプッッ Sd73-8plx)
2017/10/17(火) 18:54:28.25ID:x5EvbHpMd APIでフォームに線を書くまで行けました。
フォームに形状入力してFINDで検索して該当した行を右に空になるまで線を書き続けるコードにしました。
最初の一桁の数字は方向。4が左、6
が右という風に指示してます。
開始原点指定して、
線をLINETOで書いてて書いたらその近くにテキストボックスをADDで追加したいんですが、LINETOで指定した原点位置とテキストボックスのトップ、レフトで指定した位置がちょっとズレるのはなんかあるんですか?
https://i.imgur.com/FVhURv8.jpg
フォームに形状入力してFINDで検索して該当した行を右に空になるまで線を書き続けるコードにしました。
最初の一桁の数字は方向。4が左、6
が右という風に指示してます。
開始原点指定して、
線をLINETOで書いてて書いたらその近くにテキストボックスをADDで追加したいんですが、LINETOで指定した原点位置とテキストボックスのトップ、レフトで指定した位置がちょっとズレるのはなんかあるんですか?
https://i.imgur.com/FVhURv8.jpg
689デフォルトの名無しさん (ワッチョイ 199f-mxX+)
2017/10/17(火) 20:25:29.97ID:vT3liOjV0 秒単位で記録されてる1日分で数万件の動作ログから、時系列かつ動作種類別の棒グラフ的な物を作りたいんだけど、、、
仮に横棒にするとして一時間単位に別ても3600セルも必要になるわけだけど、こういうのってどうするのが良いの?
仮に横棒にするとして一時間単位に別ても3600セルも必要になるわけだけど、こういうのってどうするのが良いの?
690デフォルトの名無しさん (ワッチョイ 13eb-MeUd)
2017/10/17(火) 21:06:12.48ID:T7W1uv5q0 >>689
ピボット
ピボット
691デフォルトの名無しさん (アークセー Sx45-b3d+)
2017/10/17(火) 21:13:49.91ID:uTk+MSLEx692デフォルトの名無しさん (ワッチョイ 998a-BSx0)
2017/10/18(水) 09:24:47.13ID:3iUoHYPK0 >>689
あきらめる
あきらめる
693デフォルトの名無しさん (ワッチョイ 71b5-mxX+)
2017/10/18(水) 11:50:45.99ID:FuAFn2xc0694デフォルトの名無しさん (ワッチョイ fb8a-BSx0)
2017/10/18(水) 12:13:09.98ID:f7VGWmsn0 横棒グラフ的 じゃなくて横棒グラフそのものを作りゃいい
何故セルをグラフとして使うのかの理由が判らんと何ともいえないが
毎秒すべてのデータが必ず必要とも思えんが、間隔変えれば概略にできるし
特異点を知りたい とかなら数値を基準に求めるものだろうし、その部分の
前後をピックアップして表示するようにして なるべく判りやすいものに
するのがグラフ化の目的なんでは
何故セルをグラフとして使うのかの理由が判らんと何ともいえないが
毎秒すべてのデータが必ず必要とも思えんが、間隔変えれば概略にできるし
特異点を知りたい とかなら数値を基準に求めるものだろうし、その部分の
前後をピックアップして表示するようにして なるべく判りやすいものに
するのがグラフ化の目的なんでは
695デフォルトの名無しさん (アウアウオー Sa63-Ubfa)
2017/10/18(水) 13:44:45.35ID:pBm/jvOsa データ吐き出して普通にグラフ作ればいいんじゃないの
何に悩んでるのかよくわからん
何に悩んでるのかよくわからん
696デフォルトの名無しさん (アウアウカー Sad5-EduE)
2017/10/18(水) 14:36:19.68ID:ra0RBv56a697デフォルトの名無しさん (ワッチョイ ddb3-aYWJ)
2017/10/19(木) 21:49:18.11ID:7IrXkeDg0 ビットコインの公開APIから値段を取る方法ってありませんかね
パワークエリ使ってたんですがプロトコル障害で使えなくなってしまい....
パワークエリ使ってたんですがプロトコル障害で使えなくなってしまい....
698デフォルトの名無しさん (ワッチョイ 3a19-7unl)
2017/10/20(金) 07:03:05.09ID:3rm9dGiJ0 フォルダ内にあるファイルのすべてを対象に、
ファイル名の最後を「_ou.mp4」に変更するマクロを作ってください。お願いします。
例)〇〇.mp4 → 〇〇_ou.mp4
ファイル名の最後を「_ou.mp4」に変更するマクロを作ってください。お願いします。
例)〇〇.mp4 → 〇〇_ou.mp4
699デフォルトの名無しさん (ワッチョイ 3a19-7unl)
2017/10/20(金) 07:06:51.11ID:3rm9dGiJ0 【追加】
ただし、すでに「_ou.mp4」に変更されたファイルは、何もしないこと。
悪い例) 〇〇_ou.mp4 → 〇〇_ou_ou.mp4 こうならないように。
ただし、すでに「_ou.mp4」に変更されたファイルは、何もしないこと。
悪い例) 〇〇_ou.mp4 → 〇〇_ou_ou.mp4 こうならないように。
700デフォルトの名無しさん (ワッチョイ 7aeb-KyXl)
2017/10/20(金) 07:36:34.81ID:wf1d5/480 >>697
公開APIのプロトコル障害なら公開APIでは取れないって事じゃないの?
公開APIのプロトコル障害なら公開APIでは取れないって事じゃないの?
701デフォルトの名無しさん (ワッチョイ 7aeb-KyXl)
2017/10/20(金) 07:37:08.93ID:wf1d5/480 >>698
ココナラで買え
ココナラで買え
702デフォルトの名無しさん (ワッチョイ c1b9-U5aN)
2017/10/20(金) 07:43:57.15ID:Al7I9KCp0 >>698
作ってみたら五分くらいで出来たわ。
作ってみたら五分くらいで出来たわ。
703デフォルトの名無しさん (ワッチョイ 71b5-wwSs)
2017/10/20(金) 08:52:14.89ID:7WZYjezK0 その程度は自分で調べようよ
704デフォルトの名無しさん (ワッチョイ d680-gbX+)
2017/10/20(金) 09:16:48.80ID:h7aVEIq70 ls | Where-Object { $_ -like "*.mp4" -and $_ -notlike "*_ou.mp4" } | Rename-Item -WhatIf -NewName { $_ -replace '\.mp4$','_ou.mp4' }
PowerShell で書いたので、そのフォルダへ移動してから実行して。
-WhatIf が付いているので、本当には実行せずに、結果だけを見れる。
本当に実行する際は、-WhatIf を削除して実行して
-like は一致するもので、-notlike は一致しないもの。
正規表現の \.mp4$ で、. に \ を付けているのは、
. の特殊な意味をなくして、普通の文字として扱うため(エスケープ)
x.mp4 → x_ou.mp4
ただし、x.mp4, x_ou.mp4 が、同じフォルダ内にある場合は、
変換できずにエラーになるかも
PowerShell で書いたので、そのフォルダへ移動してから実行して。
-WhatIf が付いているので、本当には実行せずに、結果だけを見れる。
本当に実行する際は、-WhatIf を削除して実行して
-like は一致するもので、-notlike は一致しないもの。
正規表現の \.mp4$ で、. に \ を付けているのは、
. の特殊な意味をなくして、普通の文字として扱うため(エスケープ)
x.mp4 → x_ou.mp4
ただし、x.mp4, x_ou.mp4 が、同じフォルダ内にある場合は、
変換できずにエラーになるかも
705デフォルトの名無しさん (オッペケ Sr85-2MXH)
2017/10/20(金) 12:21:32.47ID:GcA5ZrMsr パワーシェル面倒くさw
706デフォルトの名無しさん (ワッチョイ bab3-I3yq)
2017/10/20(金) 12:35:46.95ID:yLtxI7rs0 >>704
正規表現使えるんだからWhere-Objectいらんでしょ
正規表現使えるんだからWhere-Objectいらんでしょ
707デフォルトの名無しさん (ドコグロ MMb5-RYXs)
2017/10/20(金) 12:50:10.77ID:RDZrWMpbM708デフォルトの名無しさん (アウアウオー Sae2-7O3d)
2017/10/20(金) 13:06:50.73ID:gM7OZlf+a >>699
filesystemobjectのインスタンス取得
フォルダ取得
フォルダ内のファイルを精査
mp4のみ抽出
拡張子取得
拡張子を除いて指定の文字列を追加した文字列を取得
ファイル名変更
これでわかれ
filesystemobjectのインスタンス取得
フォルダ取得
フォルダ内のファイルを精査
mp4のみ抽出
拡張子取得
拡張子を除いて指定の文字列を追加した文字列を取得
ファイル名変更
これでわかれ
709デフォルトの名無しさん (アウアウカー Sadd-v+BU)
2017/10/20(金) 22:34:12.97ID:kBDqzUF8a dir関数とNameステートメントでループが一番簡単じゃね?
サブフォルダ考えなくて良いんだしさ。
サブフォルダ考えなくて良いんだしさ。
710デフォルトの名無しさん (ワッチョイ cee7-bcII)
2017/10/21(土) 00:29:32.54ID:YcOLTnbA0 explorerのアドレス欄にcmd入れて
ren *.mp4 *_ou.mp4
とかじゃなかったっけ
ren *.mp4 *_ou.mp4
とかじゃなかったっけ
711デフォルトの名無しさん (ワッチョイ cee7-bcII)
2017/10/21(土) 01:08:37.57ID:YcOLTnbA0 制約があったか じゃ3行で
ren *_ou.mp4 *._oump4
ren *.mp4 *_ou.mp4
ren *._oump4 *_ou.mp4
ren *_ou.mp4 *._oump4
ren *.mp4 *_ou.mp4
ren *._oump4 *_ou.mp4
712デフォルトの名無しさん (アウアウカー Sadd-2iY5)
2017/10/21(土) 14:00:51.60ID:zr63QsaMa 質問失礼します
あるフォルダ内に数千件のファイルが格納されていて、そのフォルダに新規ファイルが入ってきたときにそのファイルを抽出(ファイル名を取得)したいのですが一番高速に処理を行うにはどうしたらいいでしょうか
あるフォルダ内に数千件のファイルが格納されていて、そのフォルダに新規ファイルが入ってきたときにそのファイルを抽出(ファイル名を取得)したいのですが一番高速に処理を行うにはどうしたらいいでしょうか
713デフォルトの名無しさん (ワッチョイ 4d9e-bcII)
2017/10/21(土) 14:26:45.14ID:g0QdWsyQ0 ある範囲からある範囲を引くメソッドとかあります?
714デフォルトの名無しさん (ワッチョイ 8ee9-KIsa)
2017/10/21(土) 14:28:29.39ID:Lw+b7FQG0 何を引くのか
715デフォルトの名無しさん (ワッチョイ c1b9-U5aN)
2017/10/21(土) 14:42:36.65ID:1S4flzcv0716デフォルトの名無しさん (アークセー Sx85-GOG1)
2017/10/21(土) 15:42:56.99ID:Rc5tdsj/x >>713
ある
ある
717デフォルトの名無しさん (アウアウオー Sae2-7O3d)
2017/10/21(土) 16:05:57.28ID:A/wcpvZBa >>712
高速がどうとかよりまず新規にファイルが入ってきたことをどう検知するつもりなんだ
高速がどうとかよりまず新規にファイルが入ってきたことをどう検知するつもりなんだ
718デフォルトの名無しさん (ワッチョイ 7ab3-RYXs)
2017/10/21(土) 16:31:14.14ID:fkuXV6f/0 >>712
使ったことないけどこの辺を見ればいいんじゃね?
https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa365261(v=vs.85).aspx
使ったことないけどこの辺を見ればいいんじゃね?
https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa365261(v=vs.85).aspx
719デフォルトの名無しさん (ワッチョイ bab3-DBD/)
2017/10/21(土) 16:34:56.72ID:ZBz0JWdz0720デフォルトの名無しさん (ワッチョイ a59f-wwSs)
2017/10/21(土) 16:44:02.49ID:PDN1DZ7z0 範囲指定同士をハイホンで繋ぐだけでしょ?違うの?
721デフォルトの名無しさん (オッペケ Sr85-37LT)
2017/10/21(土) 16:56:56.02ID:Uf1MTp5vr 白雪姫?
722デフォルトの名無しさん (スププ Sd9a-Gne2)
2017/10/21(土) 17:09:30.41ID:OMKOgYJkd ハイホーハイホー
723デフォルトの名無しさん (ワッチョイ 7aeb-KyXl)
2017/10/21(土) 19:08:51.19ID:Py32WHo50724デフォルトの名無しさん (ワッチョイ 4d9e-bcII)
2017/10/21(土) 19:18:24.44ID:g0QdWsyQ0 >>716
是非教えてほしいです
是非教えてほしいです
725デフォルトの名無しさん (ワッチョイ e58a-0GSP)
2017/10/21(土) 20:25:27.79ID:GpNG7wtI0 >>712
業務で行き詰ったらまず上司に相談したら?
業務で行き詰ったらまず上司に相談したら?
726デフォルトの名無しさん (ワッチョイ bab3-DBD/)
2017/10/21(土) 21:48:50.23ID:ZBz0JWdz0727デフォルトの名無しさん (ワッチョイ bab3-DBD/)
2017/10/21(土) 22:03:01.22ID:ZBz0JWdz0 >>720
それよく分からないから教えて。
例えば
Set minuend = Union(Range("C3", "D5"), Range("D4", "E6"))
Set subtrahend = Range("A2", "A4").EntireRow
Set expected = Union(Range("C5", "D5"), Range("D5", "E6"))
の場合に
minuend - subtrahend = expected になるようにしたいんだけど
それよく分からないから教えて。
例えば
Set minuend = Union(Range("C3", "D5"), Range("D4", "E6"))
Set subtrahend = Range("A2", "A4").EntireRow
Set expected = Union(Range("C5", "D5"), Range("D5", "E6"))
の場合に
minuend - subtrahend = expected になるようにしたいんだけど
728デフォルトの名無しさん (ワッチョイ fa1e-U5aN)
2017/10/21(土) 22:42:22.44ID:WjgPnmAb0 >>726
またまたソフトのインストールが制限されて〜なんて言い出す悪寒
またまたソフトのインストールが制限されて〜なんて言い出す悪寒
729デフォルトの名無しさん (ワッチョイ 3dea-REa2)
2017/10/21(土) 23:00:04.56ID:MeuVmzom0 勝手にインストールできないなら許可貰えば済む話なのにな
業務上必要なら許可降りるだろ
業務上必要なら許可降りるだろ
730デフォルトの名無しさん (ワッチョイ f9f7-lW13)
2017/10/22(日) 00:01:17.12ID:ASqT9k9u0 「前の担当者は手作業でこなしていました。あなたにもできるでしょ?電卓は許可します」
731デフォルトの名無しさん (ワッチョイ e58a-0GSP)
2017/10/22(日) 00:24:23.73ID:ZA2xPhwp0 それ作って給料もらっているんだったら自力でやれば?
732デフォルトの名無しさん (ワッチョイ ddb3-0MKJ)
2017/10/22(日) 01:10:16.60ID:ZsHOZNag0 それ作って給料もらってる人がこの板にいるわけない。
せいぜいマ板がいいところ。
せいぜいマ板がいいところ。
733デフォルトの名無しさん (ワッチョイ 9ae3-5n8Z)
2017/10/22(日) 01:15:09.08ID:3ymZg3xq0 >>712
ロバストコピーでフォルダのコピー
その際に何を新たにコピーしたのかをログに書き出すオプションを設定しておく
そのログを読みこんで後はお好きに処理
勝手に上書きされたり、勝手に消されてもバックアップ取れてて一石二鳥
ロバストコピーでフォルダのコピー
その際に何を新たにコピーしたのかをログに書き出すオプションを設定しておく
そのログを読みこんで後はお好きに処理
勝手に上書きされたり、勝手に消されてもバックアップ取れてて一石二鳥
734デフォルトの名無しさん (ワッチョイ bab3-DBD/)
2017/10/22(日) 02:50:21.11ID:rLFHcAK90735名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ ddb3-7O3d)
2017/10/22(日) 09:58:34.69ID:9vQ4rkSY0 vbaでやるよりはタスク組んでバッチ的に処理する案件の予感
736名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ f9f7-lW13)
2017/10/22(日) 10:06:24.11ID:ASqT9k9u0 日記
今まで動いてたマクロがエラーで止まった
テキストファイルの内容を調べてリネームするだけの簡単な物なのに、調べたらファイル名にユニコードが入ってた
10年ぐらい前に作った物なので、今さら対応するのめんどくさいなあ。これも時代か
どうせ台風でヒマだからちょっとやってみるか
今まで動いてたマクロがエラーで止まった
テキストファイルの内容を調べてリネームするだけの簡単な物なのに、調べたらファイル名にユニコードが入ってた
10年ぐらい前に作った物なので、今さら対応するのめんどくさいなあ。これも時代か
どうせ台風でヒマだからちょっとやってみるか
737名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ e58a-/wYC)
2017/10/22(日) 18:49:27.12ID:ZA2xPhwp0 台風なくてもヒマなくせに
738名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ baa4-V3Kl)
2017/10/22(日) 19:16:04.56ID:bE/NxZx30 >>737
自己紹介ですか加齢臭ジジイさん
自己紹介ですか加齢臭ジジイさん
739デフォルトの名無しさん (ワッチョイ e58a-/wYC)
2017/10/22(日) 20:08:28.86ID:ZA2xPhwp0 >>738
加齢臭対策に消臭剤置いてるから平気
加齢臭対策に消臭剤置いてるから平気
740デフォルトの名無しさん (ワッチョイ 5103-2MXH)
2017/10/22(日) 22:49:10.62ID:Nb0y5KGU0 突然のヒマシジイvs加齢臭ジジイ対決w
741デフォルトの名無しさん (スップ Sd9a-2TS2)
2017/10/23(月) 18:08:04.19ID:iGj4ThY4d フォルダに複数のシートが入っていて、それぞれ○○.xls(○は名字)のファイルがあって、それの○○(○は名字)のシートのみを繰り返し検索、抽出を繰り返すにはどうしたらいいですか?
指定シートのみ繰り返し検索の仕方をご教授お願いします。
file = Dir(path & "*.xls")
Do While file <> ""
Set book = Workbooks.Open(path & file)
For Each sheet In book.Worksheets
Set f = sheet.Cells.Find(kwd,LookIn:=xlValues, lookat:=xlWhole)
If Not f Is Nothing Then
firstAddress = f.Address
rowtar=f.row
列の転記開始。
指定シートのみ繰り返し検索の仕方をご教授お願いします。
file = Dir(path & "*.xls")
Do While file <> ""
Set book = Workbooks.Open(path & file)
For Each sheet In book.Worksheets
Set f = sheet.Cells.Find(kwd,LookIn:=xlValues, lookat:=xlWhole)
If Not f Is Nothing Then
firstAddress = f.Address
rowtar=f.row
列の転記開始。
742デフォルトの名無しさん (ワッチョイ fa1e-U5aN)
2017/10/23(月) 19:29:34.06ID:hFeDPnm20 自分で勝手に名前を定義すんのやめれ。
それはシートじゃなくブックだろ
file = Dir(path & "○○(○*.xls")
で○○(○が先頭にあるファイル(この場合はブック)が取り出せるだろ?
ワイルドカードの意味判ってる?
それはシートじゃなくブックだろ
file = Dir(path & "○○(○*.xls")
で○○(○が先頭にあるファイル(この場合はブック)が取り出せるだろ?
ワイルドカードの意味判ってる?
743デフォルトの名無しさん (スプッッ Sd7a-6gne)
2017/10/23(月) 19:32:17.16ID:wgR6kE8Td 確かにブックのことをシートと呼ぶ人は結構いるイメージ
744デフォルトの名無しさん (ワッチョイ 7aeb-aYWJ)
2017/10/23(月) 19:36:45.84ID:dkpshLIu0745デフォルトの名無しさん (アウアウカー Sadd-v+BU)
2017/10/23(月) 22:12:49.61ID:zesBlYdJa >>712
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200602/06020015.txt
他にもReadDirectoryChangesWを使った外人のサンプルは動いた。
けど、スレッド作ってるから危険なコードだね。
分かってる人が使う分には良いのかも知れないけどスレッド作らない方法を模索した方が良いんじゃないかなあ。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200602/06020015.txt
他にもReadDirectoryChangesWを使った外人のサンプルは動いた。
けど、スレッド作ってるから危険なコードだね。
分かってる人が使う分には良いのかも知れないけどスレッド作らない方法を模索した方が良いんじゃないかなあ。
746デフォルトの名無しさん (スフッ Sd9a-w7AN)
2017/10/23(月) 22:32:40.42ID:FJmDe6QEd747デフォルトの名無しさん (ワッチョイ d680-gbX+)
2017/10/24(火) 03:37:52.60ID:DfsEXCLh0 そのフォルダを、watch・見張る事は、できないのか?
そのフォルダに変化が起きたら、知らせる機能
そのフォルダに変化が起きたら、知らせる機能
748デフォルトの名無しさん (ワッチョイ e58a-/wYC)
2017/10/24(火) 03:59:56.10ID:I+Ci2byo0 >>747
個人のPCならフリーソフトでも探した方が早いと思う
個人のPCならフリーソフトでも探した方が早いと思う
749デフォルトの名無しさん (ササクッテロラ Sp85-ZLNH)
2017/10/24(火) 07:51:07.93ID:IEYUp2Hxp750デフォルトの名無しさん (ワッチョイ a59f-wwSs)
2017/10/24(火) 07:56:53.59ID:tcbOLwSB0 >>748
早いか遅いかじゃなくて、VBAでやる方法が知りたいんだろ
早いか遅いかじゃなくて、VBAでやる方法が知りたいんだろ
751デフォルトの名無しさん (ワッチョイ 7aeb-KyXl)
2017/10/24(火) 07:57:40.89ID:PJuVne9A0 >>747
タスクスケジューラで定期的に調べるコードを動かす
タスクスケジューラで定期的に調べるコードを動かす
752デフォルトの名無しさん (アウアウオー Sae2-7O3d)
2017/10/24(火) 08:03:29.43ID:s8DNo2tea753デフォルトの名無しさん (ワッチョイ f9f7-lW13)
2017/10/24(火) 08:05:07.52ID:rZrDUnVP0 >>712は条件が不明すぎる上、質問者はいなくなってしまった
これ以上続けてもしょうがない
これ以上続けてもしょうがない
754デフォルトの名無しさん (スッップ Sd9a-9NUR)
2017/10/24(火) 08:51:30.78ID:wGosvaz7d アンケート入力してもらった内容を別シートのA1セルから下に書き込んでいく仕様です。そして、それが共有ファイルだとします。
共有の場合、同時にA1セルに書き込む可能性があります。
既に書き込みされていた場合、一つ下のセルに書き込むようにしてエラーを回避したいです。
どうしたら良いでしょうか
共有の場合、同時にA1セルに書き込む可能性があります。
既に書き込みされていた場合、一つ下のセルに書き込むようにしてエラーを回避したいです。
どうしたら良いでしょうか
755デフォルトの名無しさん (アウアウオー Sae2-7O3d)
2017/10/24(火) 10:17:55.24ID:mH/THH+ia756デフォルトの名無しさん (ワッチョイ d681-0MKJ)
2017/10/24(火) 12:00:22.20ID:uQQcXNnv0 VBAのオートフィルタの構文について
構文例以下のコードになっているのですが、課題としては文字列の抽出で
オートフィルターを使用して、「商品名」が「パソコン(ノート)」のデータを抽出するコードを記述しなさい。
となっているのですが記述方法がわかりません。
教えてください。
C3からが商品名のオートフィルタになっています。
Dim TargetCompany As String
Dim StartDay AS Date
Dim EndDay AS Date
TargetCompany = "○○株式会社"
Starday = #10/1/2014#
Endday = #10/31/2014#
With ThisWorkbook.Worksheets("受注データ")
.Range("B9").AutoFilter Field:=1,Criterial:">=" & Clng(StartDay)_
,Operator:=xlAnd,Criteria2:="<=" & Lng(EndDay)
.Range("B9".)AutoFilter Field:=2, Criteria1:=TargetCompany
End With
構文例以下のコードになっているのですが、課題としては文字列の抽出で
オートフィルターを使用して、「商品名」が「パソコン(ノート)」のデータを抽出するコードを記述しなさい。
となっているのですが記述方法がわかりません。
教えてください。
C3からが商品名のオートフィルタになっています。
Dim TargetCompany As String
Dim StartDay AS Date
Dim EndDay AS Date
TargetCompany = "○○株式会社"
Starday = #10/1/2014#
Endday = #10/31/2014#
With ThisWorkbook.Worksheets("受注データ")
.Range("B9").AutoFilter Field:=1,Criterial:">=" & Clng(StartDay)_
,Operator:=xlAnd,Criteria2:="<=" & Lng(EndDay)
.Range("B9".)AutoFilter Field:=2, Criteria1:=TargetCompany
End With
757デフォルトの名無しさん (ササクッテロロ Sp85-KyXl)
2017/10/24(火) 12:21:39.09ID:SXPDSp16p >>754
webアプリにする
webアプリにする
758デフォルトの名無しさん (ササクッテロロ Sp85-KyXl)
2017/10/24(火) 12:26:01.19ID:SXPDSp16p759デフォルトの名無しさん (ササクッテロロ Sp85-KyXl)
2017/10/24(火) 12:29:03.80ID:SXPDSp16p >>756
マクロの記録でオートフィルタの記録をとって見比べる
マクロの記録でオートフィルタの記録をとって見比べる
760デフォルトの名無しさん (ドコグロ MM99-RYXs)
2017/10/24(火) 12:44:07.31ID:4VNEc1KXM761デフォルトの名無しさん (アウアウオー Sae2-7O3d)
2017/10/24(火) 13:12:35.37ID:mH/THH+ia >>760
C♯とかだとイベント検知できたような気がするけど
C♯とかだとイベント検知できたような気がするけど
762デフォルトの名無しさん (ワッチョイ ddb3-hp5j)
2017/10/24(火) 14:18:38.15ID:wq0WCN150 c#とか使わなくてもvbsでフォルダ監視するファイル作って実行させとけばいけるんじゃない?
c#かvb.net使っていいならFileSystemWatcher使えば希望通りのことが出来ると思います。
c#かvb.net使っていいならFileSystemWatcher使えば希望通りのことが出来ると思います。
763デフォルトの名無しさん (ワッチョイ 71b5-wwSs)
2017/10/24(火) 15:13:31.99ID:+GLe08ON0764デフォルトの名無しさん (アウアウカー Sadd-v+BU)
2017/10/24(火) 15:15:31.49ID:RrgGTSJsa765デフォルトの名無しさん (アウアウオー Sae2-7O3d)
2017/10/24(火) 15:50:11.86ID:mH/THH+ia >>763
今までのやり取りである程度推測できないならスキルが足りてないだけでしょ
今までのやり取りである程度推測できないならスキルが足りてないだけでしょ
766デフォルトの名無しさん (ワッチョイ bab3-DBD/)
2017/10/24(火) 16:08:30.01ID:cjHIRFnx0 フォルダをウォッチする機能を
Excelに持たせようとすること自体がセンス悪い
Excelに持たせようとすること自体がセンス悪い
767デフォルトの名無しさん (ワッチョイ f9cc-AYzn)
2017/10/24(火) 16:13:02.09ID:dMhREPrI0 Book1 Sheetあ Sheetい Sheetう Sheetえ
Book1 の Sheetう の中にボタンを作って、そのボタンを押すとエクセルの任意のブックを参照して
参照したブックのSheet1の内容をすべてコピーして、Book1の Sheetあ のA1を起点に張り付けたいです。
ご教授お願いします
Book1 の Sheetう の中にボタンを作って、そのボタンを押すとエクセルの任意のブックを参照して
参照したブックのSheet1の内容をすべてコピーして、Book1の Sheetあ のA1を起点に張り付けたいです。
ご教授お願いします
768デフォルトの名無しさん (ササクッテロラ Sp85-ZLNH)
2017/10/24(火) 16:15:19.30ID:IEYUp2Hxp 永久ループに適当にスリープ咬ませて、シートに列挙したファイル名と付き合わせるくらいかな?
高速かどうかはわからないけど
高速かどうかはわからないけど
769デフォルトの名無しさん (アウアウエー Sa22-l25D)
2017/10/24(火) 16:22:17.63ID:B2D33UKaa770デフォルトの名無しさん (ワッチョイ f9cc-AYzn)
2017/10/24(火) 16:28:26.33ID:dMhREPrI0771デフォルトの名無しさん (アウアウエー Sa22-l25D)
2017/10/24(火) 17:46:03.13ID:B2D33UKaa それ自体は難しくないと思います。
あとは、コピー元のブックがあるフォルダが決まってるかとかで多少変わってくるかと。
例えば常にカレントフォルダにあるとか、コピー先のブックと同じとか。
あとは、コピー元のブックがあるフォルダが決まってるかとかで多少変わってくるかと。
例えば常にカレントフォルダにあるとか、コピー先のブックと同じとか。
772デフォルトの名無しさん (ドコグロ MM99-RYXs)
2017/10/24(火) 20:30:24.34ID:4VNEc1KXM >>761
そりゃC#使えるならSystem.IO.FileSystemWatcherクラスを使えばいい
でもここはVBAスレだし
https://msdn.microsoft.com/ja-jp/library/system.io.filesystemwatcher(v=vs.110).aspx
そりゃC#使えるならSystem.IO.FileSystemWatcherクラスを使えばいい
でもここはVBAスレだし
https://msdn.microsoft.com/ja-jp/library/system.io.filesystemwatcher(v=vs.110).aspx
773デフォルトの名無しさん (ワッチョイ ddb3-hp5j)
2017/10/24(火) 21:16:13.10ID:wq0WCN150 >>763
vbs
myFLD1 = "C:\監視フォルダ"
myFLD2 = "C:\コピー先"
myLimit = 3 '3分間監視する
Msgbox "監視スタート"
myTime = DateAdd("n", myLimit, Now)
myMEM = ""
With CreateObject("Scripting.FileSystemObject")
For Each myF In .GetFolder(myFLD1).Files
If InStr(1, myMEM, myF.Name & vbTab) = 0 Then
myMEM = myMEM & myF.Name & vbTab
End If
Next
Do
For Each myF In .GetFolder(myFLD1).Files
If InStr(1, myMEM, myF.Name & vbTab) = 0 Then
myMEM = myMEM & myF.Name & vbTab
.CopyFile myF.Path, myFLD2 & "\"
End If
Next
WScript.Sleep 500
If myTime < Now Then Exit Do
Loop
End With
Msgbox "END"
vbs
myFLD1 = "C:\監視フォルダ"
myFLD2 = "C:\コピー先"
myLimit = 3 '3分間監視する
Msgbox "監視スタート"
myTime = DateAdd("n", myLimit, Now)
myMEM = ""
With CreateObject("Scripting.FileSystemObject")
For Each myF In .GetFolder(myFLD1).Files
If InStr(1, myMEM, myF.Name & vbTab) = 0 Then
myMEM = myMEM & myF.Name & vbTab
End If
Next
Do
For Each myF In .GetFolder(myFLD1).Files
If InStr(1, myMEM, myF.Name & vbTab) = 0 Then
myMEM = myMEM & myF.Name & vbTab
.CopyFile myF.Path, myFLD2 & "\"
End If
Next
WScript.Sleep 500
If myTime < Now Then Exit Do
Loop
End With
Msgbox "END"
774デフォルトの名無しさん (ワッチョイ ddb3-hp5j)
2017/10/24(火) 21:20:32.78ID:wq0WCN150775デフォルトの名無しさん (ワッチョイ d680-gbX+)
2017/10/24(火) 23:00:43.39ID:DfsEXCLh0 タスクランナーのGulp, Grunt, Jenkins とかを使えば?
毎秒フォルダ・ファイルを、watch して、タスクを実行する。
タスクでエラーが起きると、watchを解除する
タスクランナー → アプリ
自分でプログラミングすると、逆になる。
アプリ → タスク
エラー処理も、難しい
毎秒フォルダ・ファイルを、watch して、タスクを実行する。
タスクでエラーが起きると、watchを解除する
タスクランナー → アプリ
自分でプログラミングすると、逆になる。
アプリ → タスク
エラー処理も、難しい
776デフォルトの名無しさん (ワッチョイ 7aeb-KyXl)
2017/10/24(火) 23:04:46.31ID:PJuVne9A0 タスクスケジューラでいいように思うけど
777デフォルトの名無しさん (ワッチョイ e58a-/wYC)
2017/10/25(水) 02:23:47.05ID:Pns1W9gd0 さっさと諦めればいいのに
778デフォルトの名無しさん (ワッチョイ c5eb-0GSP)
2017/10/25(水) 02:31:56.07ID:wjy6ng+H0 盛り上がってるんだから、話題に入れないお前が諦めりゃいいんだよ
779デフォルトの名無しさん (アウアウオー Sae2-7O3d)
2017/10/25(水) 08:15:57.43ID:K0iADaTOa780デフォルトの名無しさん (ワッチョイ d681-0MKJ)
2017/10/25(水) 16:02:07.00ID:4LLWyKan0 VBAのステータスバーの表示方法について
課題でステータスバーを表示しなさいとなっているのですが割り算の問題?
なのかうまくひょうじできません。
基本は
Application.StatusBar = String(i, "■") & String(10- i, "□")
上記のコードでいいと思うのですが、
ステータスバーに進捗を表す"■"を表示する。表示する"■"の数は変数iの値を100で割った値とする
この、"■"の数は変数iの値を100で割った値とするの部分がうまくいきません。
やってみたのは下記のコードです
Application.StatusBar = String(Int(i / 100), "■") & String(Int(i / 100), "□")
ちなみに、Forの繰り返しは1から500です。
課題でステータスバーを表示しなさいとなっているのですが割り算の問題?
なのかうまくひょうじできません。
基本は
Application.StatusBar = String(i, "■") & String(10- i, "□")
上記のコードでいいと思うのですが、
ステータスバーに進捗を表す"■"を表示する。表示する"■"の数は変数iの値を100で割った値とする
この、"■"の数は変数iの値を100で割った値とするの部分がうまくいきません。
やってみたのは下記のコードです
Application.StatusBar = String(Int(i / 100), "■") & String(Int(i / 100), "□")
ちなみに、Forの繰り返しは1から500です。
781デフォルトの名無しさん (ワッチョイ 3a0e-HarP)
2017/10/25(水) 16:21:09.87ID:Qf3oRisb0 ちょっとお知恵を拝借したいと
Excel 2010で作業をしているのですが、
大量にあるシートにある非表示セルをとある事情で全て削除したいのです。
ただし、
・どの行・列が非表示になっているかはシート毎に異なる(むしろ、消したい行・列を非表示にして、マクロで消すことが考えられる)
・場合によってはSpecialcells(xlCellTypeLastCell)で拾えるセルより下/右の行/列が非表示になっている可能性がある
(使用されているセルはAD250までだが、非表示セルがAF列や300行に設定されていると上手くいかない。
または、AA:ADが非表示だとZ列が拾われてしまう。)
・どれくらい下/右まで使用されているかは必ずしも分からない(さすがに、1000行は使わないと思うが、断言できない)
という問題があります。
数十から百程度のシートがあるので、10000行500列のような数を処理するのは時間がかかるため、
できる限りチェックは最小圏で済ませたいのですが、いい方法はありませんでしょうか。
Excel 2010で作業をしているのですが、
大量にあるシートにある非表示セルをとある事情で全て削除したいのです。
ただし、
・どの行・列が非表示になっているかはシート毎に異なる(むしろ、消したい行・列を非表示にして、マクロで消すことが考えられる)
・場合によってはSpecialcells(xlCellTypeLastCell)で拾えるセルより下/右の行/列が非表示になっている可能性がある
(使用されているセルはAD250までだが、非表示セルがAF列や300行に設定されていると上手くいかない。
または、AA:ADが非表示だとZ列が拾われてしまう。)
・どれくらい下/右まで使用されているかは必ずしも分からない(さすがに、1000行は使わないと思うが、断言できない)
という問題があります。
数十から百程度のシートがあるので、10000行500列のような数を処理するのは時間がかかるため、
できる限りチェックは最小圏で済ませたいのですが、いい方法はありませんでしょうか。
782デフォルトの名無しさん (ワッチョイ 7af2-aYWJ)
2017/10/25(水) 16:54:42.17ID:FTD//1X/0 >>781
ブックをzipとして解凍して出てきたxml
(\Book\xl\worksheets\sheet1.xml とか)
の中身みると
<col min="16374" max="16374" width="0" hidden="1" customWidth="1"/>
みたいな感じでどの行、列が非表示なのか書いてあるからそれを拾うとかどうよ
ブックをzipとして解凍して出てきたxml
(\Book\xl\worksheets\sheet1.xml とか)
の中身みると
<col min="16374" max="16374" width="0" hidden="1" customWidth="1"/>
みたいな感じでどの行、列が非表示なのか書いてあるからそれを拾うとかどうよ
783デフォルトの名無しさん (ワッチョイ bab3-DBD/)
2017/10/25(水) 16:59:56.89ID:0GYD+24d0784デフォルトの名無しさん (ワッチョイ bab3-DBD/)
2017/10/25(水) 17:08:25.65ID:0GYD+24d0 >>781
ドキュメント検査の中に非表示の行・列を削除する機能がある
VBAなら
If Columns(ColumnNumber).Hidden = True Then Columns(ColumnNumber).EntireColumn.Delete
If Rows(RowNumber).Hidden = True Then Rows(RowNumber).EntireRow.Delete
をそれぞれ列数・行数分
ドキュメント検査の中に非表示の行・列を削除する機能がある
VBAなら
If Columns(ColumnNumber).Hidden = True Then Columns(ColumnNumber).EntireColumn.Delete
If Rows(RowNumber).Hidden = True Then Rows(RowNumber).EntireRow.Delete
をそれぞれ列数・行数分
785デフォルトの名無しさん (ワッチョイ 3a0e-HarP)
2017/10/25(水) 17:24:35.66ID:Qf3oRisb0 >>782
xmlにそんな記載があるんですか。
確かにそれなら出来そうですが、それを解釈させるマクロを書くのは面倒くさそうな感じですね
それに、拡張子をzipに変えるとxmlが取り出せるというのを知らない人は多そう
(自分が使うために作るんですが、欲しいと言ってる人にあげる予定なので、難しいことは抜きにしたいかな…)
>>784
実務的にはそれを For … To … Step -1 で回すか>>782で調べたものを使うんでしょうが、
そこが問題なんですよね…
ところで、Columns(ColumnNumber)ってRangeオブジェクトを返すと思うのですが、
EntireColumnが必要なんですか?
いえ、Rows、Columnsあたりはよく分かってない部分があるので、自分の認識不足かも知れませんが。
xmlにそんな記載があるんですか。
確かにそれなら出来そうですが、それを解釈させるマクロを書くのは面倒くさそうな感じですね
それに、拡張子をzipに変えるとxmlが取り出せるというのを知らない人は多そう
(自分が使うために作るんですが、欲しいと言ってる人にあげる予定なので、難しいことは抜きにしたいかな…)
>>784
実務的にはそれを For … To … Step -1 で回すか>>782で調べたものを使うんでしょうが、
そこが問題なんですよね…
ところで、Columns(ColumnNumber)ってRangeオブジェクトを返すと思うのですが、
EntireColumnが必要なんですか?
いえ、Rows、Columnsあたりはよく分かってない部分があるので、自分の認識不足かも知れませんが。
786デフォルトの名無しさん (ワッチョイ 3a0e-HarP)
2017/10/25(水) 17:27:57.53ID:Qf3oRisb0787デフォルトの名無しさん (アウアウカー Sadd-v+BU)
2017/10/25(水) 17:37:26.49ID:FNFMgMk+a788デフォルトの名無しさん (ワッチョイ bab3-DBD/)
2017/10/25(水) 17:44:03.77ID:0GYD+24d0 ブックが大量にあるならドキュメント検査の機能をVBAから起動することもできるみたいよ
Set di = book.DocumentInspectors(3)
di.Fix Status, Result
DocumentInspectorsコレクションの3がHidden Rows and Columnsだってさ
Set di = book.DocumentInspectors(3)
di.Fix Status, Result
DocumentInspectorsコレクションの3がHidden Rows and Columnsだってさ
789デフォルトの名無しさん (アウアウカー Sadd-v+BU)
2017/10/25(水) 17:57:35.27ID:FNFMgMk+a xlCellTypeVisibleで表示されてる領域が取れるね。
で、それ以外が非表示ということで、指定領域以外の領域を返す関数作ればいけると思うのだけど。
で、それ以外が非表示ということで、指定領域以外の領域を返す関数作ればいけると思うのだけど。
790デフォルトの名無しさん (ドコグロ MM99-RYXs)
2017/10/25(水) 19:49:21.08ID:mmbso5lGM791デフォルトの名無しさん (アウアウカー Sadd-2iY5)
2017/10/25(水) 19:52:49.91ID:vc+eFbWaa そりゃライブラリ揃ってるC#でやりゃ簡単なのはわかってる。
VBAでなんとか出来ないか?ってのが醍醐味でしょ
VBAでなんとか出来ないか?ってのが醍醐味でしょ
792デフォルトの名無しさん (ワッチョイ 5103-PvcH)
2017/10/25(水) 20:04:16.54ID:1SuU76Ul0 このキモさ只者じゃない
793デフォルトの名無しさん (ワッチョイ baa4-V3Kl)
2017/10/25(水) 20:28:12.47ID:uuTKo/W80 >>790
PowerShellには違和感ありまくり。なんか「覚えよう」と言う気になれない。どうせならC#を統合して欲しかった。
PowerShellには違和感ありまくり。なんか「覚えよう」と言う気になれない。どうせならC#を統合して欲しかった。
794デフォルトの名無しさん (ワッチョイ 7ab3-RYXs)
2017/10/25(水) 21:18:11.90ID:/5iNSkw80795デフォルトの名無しさん (ワッチョイ bab3-DBD/)
2017/10/25(水) 21:57:34.79ID:0GYD+24d0 Excel起動中だけフォルダ監視したい状況ってどういうケース?
それなりの信頼性が必要なら稼働監視も必要になってくる
VBAでやるならわざわざwin32使うより
新旧状態比較のほうがまだいい気がするけどね
それなりの信頼性が必要なら稼働監視も必要になってくる
VBAでやるならわざわざwin32使うより
新旧状態比較のほうがまだいい気がするけどね
796デフォルトの名無しさん (ワッチョイ bab3-DBD/)
2017/10/25(水) 21:59:06.19ID:0GYD+24d0797デフォルトの名無しさん (アウアウオー Sae2-7O3d)
2017/10/25(水) 23:07:42.90ID:ajJCRl8ia798デフォルトの名無しさん (ワッチョイ 118a-Akqv)
2017/10/26(木) 02:53:53.87ID:GiV8M1tl0 Excelしかできない人ってかわいそう
799デフォルトの名無しさん (ワッチョイ 9be9-ClbL)
2017/10/26(木) 07:01:20.13ID:vRQ6cy4b0 バッチ処理ならvbsがいいけど、エラーログやらなんやらって思うと結局エクセルvbaの方が便利すぎて
800デフォルトの名無しさん (ドコグロ MM3d-DDuF)
2017/10/26(木) 07:06:29.21ID:oyaJ8gC3M >>795
> Excel起動中だけフォルダ監視したい状況ってどういうケース?
> それなりの信頼性が必要なら稼働監視も必要になってくる
醍醐味とか言ってる奴に実用性求めてどうするよ w
> VBAでやるならわざわざwin32使うより
> 新旧状態比較のほうがまだいい気がするけどね
理由は?
自分がそれしか理解できないからってこと?
> Excel起動中だけフォルダ監視したい状況ってどういうケース?
> それなりの信頼性が必要なら稼働監視も必要になってくる
醍醐味とか言ってる奴に実用性求めてどうするよ w
> VBAでやるならわざわざwin32使うより
> 新旧状態比較のほうがまだいい気がするけどね
理由は?
自分がそれしか理解できないからってこと?
801デフォルトの名無しさん (ワッチョイ 930e-lHwk)
2017/10/26(木) 07:48:52.20ID:xxnSYJ9G0802デフォルトの名無しさん (アウアウカー Saed-AR4r)
2017/10/26(木) 11:25:46.03ID:HWdjovEla ようはExcelの処理の中で高度なことが必要になったわけで、単独なら他の言語でも良いわけだ。
じゃあ高度だからといって他言語と連携させるのが良いと考えるのか、それともそれはカッコ悪いと考えるのかという話だと思う。
それと、その人にとってどれくらい高度なのかによって変わる。
俺はカッコ悪いと考える派なんでWin32APIを使うね。
別に苦でもない。
ただ、そもそもフォルダ監視が本当に必要なのかは疑問。
初心者の質問は結構、無理を通そうというものが多く、仕様を見直すとそんな機能は必要無かったとなることも多い。
じゃあ高度だからといって他言語と連携させるのが良いと考えるのか、それともそれはカッコ悪いと考えるのかという話だと思う。
それと、その人にとってどれくらい高度なのかによって変わる。
俺はカッコ悪いと考える派なんでWin32APIを使うね。
別に苦でもない。
ただ、そもそもフォルダ監視が本当に必要なのかは疑問。
初心者の質問は結構、無理を通そうというものが多く、仕様を見直すとそんな機能は必要無かったとなることも多い。
803デフォルトの名無しさん (ワッチョイ e9b9-Eec1)
2017/10/26(木) 11:49:24.76ID:7XpeFsmi0 適切な要求仕様を考えるのも、また一つの技術だからね。
804デフォルトの名無しさん (ワッチョイ eb81-YYNr)
2017/10/26(木) 13:02:27.20ID:PA9kc1XX0 初歩的な質問ですが、コードを記入して間違ったときに記入するときに削除をすると
通常の削除ではなく、そのスペースがなくなり上書きのようなものになり
直そうとするとそこから全ての文を打ち込みし直さないといけない状態ですが
通常の文のように削除、追加するようにはどうしたらいいでしょうか?
通常の削除ではなく、そのスペースがなくなり上書きのようなものになり
直そうとするとそこから全ての文を打ち込みし直さないといけない状態ですが
通常の文のように削除、追加するようにはどうしたらいいでしょうか?
805デフォルトの名無しさん (スフッ Sd33-PLhk)
2017/10/26(木) 13:06:20.32ID:uULs3yACd806デフォルトの名無しさん (ワッチョイ eb81-YYNr)
2017/10/26(木) 13:13:32.91ID:PA9kc1XX0807デフォルトの名無しさん (アウアウオー Saa3-Dl3S)
2017/10/26(木) 13:17:43.11ID:GZLf9rraa >>806
どちらにしてもなにいってるかわからないからやり直し
どちらにしてもなにいってるかわからないからやり直し
808デフォルトの名無しさん (ワッチョイ e9b9-Eec1)
2017/10/26(木) 13:25:12.24ID:7XpeFsmi0 どっかでInsキー押し間違えて入力モードが切り替わってるんじゃないの。
809デフォルトの名無しさん (アウアウカー Saed-AR4r)
2017/10/26(木) 14:17:19.57ID:rDx4+zqZa810デフォルトの名無しさん (ブーイモ MMeb-j4WS)
2017/10/26(木) 14:17:36.25ID:94hkv9myM 質問する側がこんなキチガイみたいな煽りする時点で答える必要はない
811デフォルトの名無しさん (スプッッ Sd73-Gmo/)
2017/10/26(木) 14:36:54.90ID:3HeaIUwTd こういうおかしな日本語を見ると漠然とした不安を感じる
現象としては>>808だと思うけど
現象としては>>808だと思うけど
812デフォルトの名無しさん (アウアウオー Saa3-Dl3S)
2017/10/26(木) 14:49:54.73ID:GZLf9rraa なんつーか改行もおかしい
糖質っぽい
糖質っぽい
813デフォルトの名無しさん (ワッチョイ c9b5-5rSL)
2017/10/26(木) 16:04:18.61ID:EuBqxPU00 お前らスルー耐性無さすぎw
814デフォルトの名無しさん (ワッチョイ 8903-/3V2)
2017/10/26(木) 16:54:30.02ID:FgkSJLUp0 このスレは自分が答えられない質問をする奴は基本貶す方針で運営されてるからな
815デフォルトの名無しさん (ワッチョイ 13eb-Rdnx)
2017/10/26(木) 17:12:20.63ID:Jtc4NubG0816デフォルトの名無しさん (アークセー Sx9d-C+wd)
2017/10/26(木) 18:40:53.23ID:n0QyVGSVx powershellはおっそいのがね...
817デフォルトの名無しさん (ワッチョイ 131e-Eec1)
2017/10/26(木) 19:44:24.92ID:LTZyjypE0 >自分の問題となってるコードをそのまま質問者に丸投げしたり、やる気が感じられないんだよね。
まだ良いほうだよ、それ。w
とにかくコードも示さずエラーがエラーがってどんなエラーが出てるのかも示さずな奴も居たからな
まだ良いほうだよ、それ。w
とにかくコードも示さずエラーがエラーがってどんなエラーが出てるのかも示さずな奴も居たからな
818デフォルトの名無しさん (アウアウオー Saa3-Dl3S)
2017/10/26(木) 20:47:10.77ID:wB508HAVa819デフォルトの名無しさん (ワッチョイ 41b3-pIn2)
2017/10/26(木) 21:47:23.55ID:spYnWPpM0 初心者です。
同じフォルダ内の複数のExcelファイルをひとつにまとめたいのですが、方法を教えていただければうれしいです。
同じフォルダ内の複数のExcelファイルをひとつにまとめたいのですが、方法を教えていただければうれしいです。
820デフォルトの名無しさん (アークセー Sx9d-zmYv)
2017/10/26(木) 21:53:25.01ID:Mz98JUDex821デフォルトの名無しさん (ドコグロ MM3d-DDuF)
2017/10/26(木) 22:11:22.87ID:oyaJ8gC3M >>816
なにやってるのか知らんけどスクリプト言語としては十分な性能だと思うが
なにやってるのか知らんけどスクリプト言語としては十分な性能だと思うが
822デフォルトの名無しさん (ドコグロ MM3d-DDuF)
2017/10/26(木) 22:14:00.17ID:oyaJ8gC3M823デフォルトの名無しさん (ワッチョイ 41b3-Dl3S)
2017/10/26(木) 22:23:16.30ID:zf5GxGXS0 >>822
いい返しだな
いい返しだな
824デフォルトの名無しさん (アークセー Sx9d-C+wd)
2017/10/26(木) 23:05:18.78ID:n0QyVGSVx >>819
エクセルブックをまとめると一口で言っても、シートを一つのブックにまとめたり、データを一つのテーブルにまとめたり、いろんな解釈が成り立ちうる
というか、エクセルブックをまとめるというのは、何らかの作業目的を達成するための手段だろう?
初心者は自分でイメージしている手段の実装方法を質問するんじゃなくて、目的から説明して最適な方法を質問した方が良いぞ
エクセルブックをまとめると一口で言っても、シートを一つのブックにまとめたり、データを一つのテーブルにまとめたり、いろんな解釈が成り立ちうる
というか、エクセルブックをまとめるというのは、何らかの作業目的を達成するための手段だろう?
初心者は自分でイメージしている手段の実装方法を質問するんじゃなくて、目的から説明して最適な方法を質問した方が良いぞ
825デフォルトの名無しさん (アークセー Sx9d-C+wd)
2017/10/26(木) 23:08:11.48ID:n0QyVGSVx >>821
CUIで動くコマンドとして捉えるとやっぱり遅いし、ワンライナー書くには便利だけどそれ以外のメリットがあまり実感できないんだよな
CUIで動くコマンドとして捉えるとやっぱり遅いし、ワンライナー書くには便利だけどそれ以外のメリットがあまり実感できないんだよな
826デフォルトの名無しさん (ワッチョイ e1c3-CZA4)
2017/10/26(木) 23:23:07.52ID:G+Co1V6V0 PSはともかくとして.NETにメリットを感じないなら
そりゃ使う理由ないよね
そりゃ使う理由ないよね
827デフォルトの名無しさん (ワッチョイ 8903-xLv1)
2017/10/27(金) 00:53:12.33ID:7fFHnBnT0 あのクソめんどくせえバワーシェルでワンライナーとか正気の沙汰とは思えんな
828デフォルトの名無しさん (ワッチョイ e9b9-Eec1)
2017/10/27(金) 05:05:02.11ID:jmKj26SQ0 PowerShellの話題はPowerShellスレでやるんだ
829デフォルトの名無しさん (ワッチョイ c9b5-5rSL)
2017/10/27(金) 08:53:24.35ID:rmB0za9r0 ワークシート関数とプログラムの組み合わせで複雑な計算も簡単に書けるというexcelvbaの長所を活用しようよ
830デフォルトの名無しさん (バットンキン MM53-NSMR)
2017/10/27(金) 16:38:23.21ID:RqN3wtztM ( ・ω・)∩シツモーンです
最近ティンコが痒いんですが
どうすれば良いでしょうか
教えてくさい
最近ティンコが痒いんですが
どうすれば良いでしょうか
教えてくさい
831デフォルトの名無しさん (ワッチョイ 99f7-4VHV)
2017/10/27(金) 16:54:33.12ID:mlXsQQEK0832デフォルトの名無しさん (ワンミングク MM53-Ns7Y)
2017/10/27(金) 18:35:12.89ID:GaUS+r+3M833デフォルトの名無しさん (ワッチョイ 53fe-6PR8)
2017/10/27(金) 19:48:16.15ID:z4zr2FxK0834デフォルトの名無しさん (ワッチョイ 8903-/3V2)
2017/10/27(金) 19:50:55.26ID:7fFHnBnT0 男のくせにティンコとかぼかして言うやつw
835デフォルトの名無しさん (アウアウオー Saa3-Dl3S)
2017/10/27(金) 20:19:11.74ID:r31OO9Bna >>833
途中でオーバーフローして出血しそうなコード
途中でオーバーフローして出血しそうなコード
836デフォルトの名無しさん (ワッチョイ 13e7-20SA)
2017/10/27(金) 21:33:06.91ID:cIkV9qHA0 まずは医師の診断を受けろ
最近東南アジア行ったんだろ?
最近東南アジア行ったんだろ?
837デフォルトの名無しさん (ワッチョイ 139b-0mx0)
2017/10/27(金) 21:52:19.37ID:9goOwbvB0 VBAでサジェスト機能?をやりたいのですが、フォームにコンボボックス1を配置してシート1のA列にあるリストを一文字入力したらコンボボックスに候補が出るようにするコードが知りたいです。
欲を言えば、『田』と入力したら『田中』、『田口』とか『田』の候補が出てきて田中を選択して、スペースを入力してまた『鈴』と入力したら『鈴木』や、『鈴鹿』とまた候補出てきて入力出来るように出来ますか?
欲を言えば、『田』と入力したら『田中』、『田口』とか『田』の候補が出てきて田中を選択して、スペースを入力してまた『鈴』と入力したら『鈴木』や、『鈴鹿』とまた候補出てきて入力出来るように出来ますか?
838デフォルトの名無しさん (スプッッ Sda3-4VHV)
2017/10/27(金) 22:27:17.28ID:1gHUTTMhd >>834 黒如意とでも書けばいいのかな
839デフォルトの名無しさん (ワッチョイ 9b9f-nu9H)
2017/10/27(金) 22:30:52.04ID:+kIdBPsu0840デフォルトの名無しさん (ワッチョイ 8903-xjBH)
2017/10/28(土) 00:40:19.22ID:W70mY4tC0 >>838
大久保さんかよwお前BBAだろw
大久保さんかよwお前BBAだろw
841デフォルトの名無しさん (JP 0Hc5-xXVv)
2017/10/28(土) 09:13:49.16ID:VLfN62TLH 肉男爵
842デフォルトの名無しさん (ワッチョイ 1b2d-xXVv)
2017/10/28(土) 09:33:46.66ID:lFHzdqsq0 リモートデスクトップを使用してADサーバへアクセスし
変更するマクロを作成しています。
shellを使用して目的のサーバを起動させることは出来たのですが
そこから開いたサーバを操作するにはどうしたらよいのでしょうか?
何かやろうとしてもローカルPCの方を操作しようとしてしまいサーバの方を操作できません。
曖昧な質問で申し訳ないのですがよろしくお願いします。
変更するマクロを作成しています。
shellを使用して目的のサーバを起動させることは出来たのですが
そこから開いたサーバを操作するにはどうしたらよいのでしょうか?
何かやろうとしてもローカルPCの方を操作しようとしてしまいサーバの方を操作できません。
曖昧な質問で申し訳ないのですがよろしくお願いします。
843デフォルトの名無しさん (ワッチョイ 13eb-Rdnx)
2017/10/28(土) 10:03:13.85ID:nxEBBv600844デフォルトの名無しさん (ワッチョイ 1b2d-xXVv)
2017/10/28(土) 10:43:35.88ID:lFHzdqsq0 >>843
ご返答ありがとうございます。
powershellについて調べてみました。
これをサーバに作成しておき、
ローカルPCの方のマクロボタンを押して起動させ、
ADの設定変更をするようなマクロを作りたいと考えています。
起動させたサーバ側を操作する方法があればご教授いただけないでしょうか?
よろしくお願いします。
ご返答ありがとうございます。
powershellについて調べてみました。
これをサーバに作成しておき、
ローカルPCの方のマクロボタンを押して起動させ、
ADの設定変更をするようなマクロを作りたいと考えています。
起動させたサーバ側を操作する方法があればご教授いただけないでしょうか?
よろしくお願いします。
845デフォルトの名無しさん (ワッチョイ 13eb-Rdnx)
2017/10/28(土) 10:55:53.23ID:nxEBBv600 >>844
ADって何?
ADって何?
846デフォルトの名無しさん (ワッチョイ 41b3-Eec1)
2017/10/28(土) 10:56:14.17ID:aSsplcDm0 >>837
これまた日本語がわかりにくなあ
とりあえず文字検索するだけなら
dim inpted
dim i as long,maxRow as long,list as new collection
'maxRowは最大行自分で求めて
for i = 1 to maxRow
if .cells(i,1).value like inputed & "*" then
list.add .cells(i,j).value
end if
next i
dim l as varianrt
for each l in list
combobox.additem l
next l
とかこんな感じでいいんじゃねえの
コンボボックスに入力した値って要素0に入ってるんだっけか?
これまた日本語がわかりにくなあ
とりあえず文字検索するだけなら
dim inpted
dim i as long,maxRow as long,list as new collection
'maxRowは最大行自分で求めて
for i = 1 to maxRow
if .cells(i,1).value like inputed & "*" then
list.add .cells(i,j).value
end if
next i
dim l as varianrt
for each l in list
combobox.additem l
next l
とかこんな感じでいいんじゃねえの
コンボボックスに入力した値って要素0に入ってるんだっけか?
847デフォルトの名無しさん (ワッチョイ 41b3-Eec1)
2017/10/28(土) 10:57:11.27ID:aSsplcDm0 あ、コレクションに代入してるときのcolumnのjは間違い
1ね
わかると思うけど
1ね
わかると思うけど
848デフォルトの名無しさん (ワッチョイ 41b3-Eec1)
2017/10/28(土) 11:00:53.80ID:aSsplcDm0 あ、あとinptedが入力済の文字列ね
どっから代入してくりゃいいか質問文からは読み取れないので
どっから代入してくりゃいいか質問文からは読み取れないので
849デフォルトの名無しさん (ワッチョイ eb81-YYNr)
2017/10/28(土) 11:43:02.13ID:av9I5Dpn0 コピーのコードどが間違っているんでしょうか?
シート1とシート2にA3がオートフィルの題名でA4からA9にデータがあり
シート1のデータをシート2の最終行に張り付けたいのですがうまくいきません。
下記がコードです。
Sub Q_2_4()
Dim DataLastCell As Range
With Worksheets("Sheet2")
'「Sheet2」ワークシートの表で、A列のデータ入力行のセルを取得し、変数DataLastCellに代入する
Set DataLastCell = .Cells(.Rows.Count, "A").End(xlUp).Offset(1)
End With
'「Sheet1」ワークシートのA4からD9をコピーして「Sheet2」ワークシートに貼り付ける
' Worksheets("Sheet1").Range("A4:D9").Copy(コピーするセルの選択)
'コピーするセルたりないのは貼り付けをするを指定するセル
'
Worksheets("Sheet1").Range("A4:D9").Copy Destination:=DataLastCell
End Sub
下記の部分で止まってしまうのですがどこが間違っているかわかりません。
Worksheets("Sheet1").Range("A4:D9").Copy Destination:=DataLastCell
シート1とシート2にA3がオートフィルの題名でA4からA9にデータがあり
シート1のデータをシート2の最終行に張り付けたいのですがうまくいきません。
下記がコードです。
Sub Q_2_4()
Dim DataLastCell As Range
With Worksheets("Sheet2")
'「Sheet2」ワークシートの表で、A列のデータ入力行のセルを取得し、変数DataLastCellに代入する
Set DataLastCell = .Cells(.Rows.Count, "A").End(xlUp).Offset(1)
End With
'「Sheet1」ワークシートのA4からD9をコピーして「Sheet2」ワークシートに貼り付ける
' Worksheets("Sheet1").Range("A4:D9").Copy(コピーするセルの選択)
'コピーするセルたりないのは貼り付けをするを指定するセル
'
Worksheets("Sheet1").Range("A4:D9").Copy Destination:=DataLastCell
End Sub
下記の部分で止まってしまうのですがどこが間違っているかわかりません。
Worksheets("Sheet1").Range("A4:D9").Copy Destination:=DataLastCell
850デフォルトの名無しさん (ワッチョイ 9b9f-nu9H)
2017/10/28(土) 12:27:45.96ID:jW60ksrY0 >>844
サーバー側にAPIをつくっておいて
HTTP-POSTでPowerShellを走らせるコマンドを送りつけるとか
そこまでやるなら、もはやVBAにこだわる必要ないし
セキュリティも知らないけど
サーバー側にAPIをつくっておいて
HTTP-POSTでPowerShellを走らせるコマンドを送りつけるとか
そこまでやるなら、もはやVBAにこだわる必要ないし
セキュリティも知らないけど
851デフォルトの名無しさん (ワッチョイ 9b9f-nu9H)
2017/10/28(土) 12:33:46.75ID:jW60ksrY0852デフォルトの名無しさん (ワッチョイ eb81-YYNr)
2017/10/28(土) 12:41:37.08ID:av9I5Dpn0 実行時エラー9
インデックスが有効範囲にありません。
とでます。
で、デバックをおすと該当部分が黄色くなります。
シート名は変更していません。
インデックスが有効範囲にありません。
とでます。
で、デバックをおすと該当部分が黄色くなります。
シート名は変更していません。
853デフォルトの名無しさん (ワッチョイ eb81-YYNr)
2017/10/28(土) 12:58:58.98ID:av9I5Dpn0 〉〉851
なぜかダウンロードした真っ皿なサンプルコードに移し替えたらできました。
シート名も変更せず、シート数も変えてないのに何かが変わっていたみたいです。
なぜかダウンロードした真っ皿なサンプルコードに移し替えたらできました。
シート名も変更せず、シート数も変えてないのに何かが変わっていたみたいです。
854デフォルトの名無しさん (ワッチョイ 13eb-Rdnx)
2017/10/28(土) 13:04:08.97ID:nxEBBv600855デフォルトの名無しさん (ワッチョイ 1b9f-GjMR)
2017/10/28(土) 13:18:20.37ID:NPsbiAS90856デフォルトの名無しさん (ワッチョイ 139b-s9Be)
2017/10/28(土) 13:50:45.67ID:nXGe9PnV0857デフォルトの名無しさん (ワッチョイ 53fe-6PR8)
2017/10/28(土) 14:12:38.74ID:89ERO7Zx0 >>853
ダウンロードってのがよくわからないけど色んな環境で使い回しているのなら
ExcelのバージョンまたぎでVBAが動かなくなることがある
同じブックを2003→2007→2003とかで使い回すと最後の2003の時だけエラーが出たり
ダウンロードってのがよくわからないけど色んな環境で使い回しているのなら
ExcelのバージョンまたぎでVBAが動かなくなることがある
同じブックを2003→2007→2003とかで使い回すと最後の2003の時だけエラーが出たり
858デフォルトの名無しさん (アウアウオー Saa3-Dl3S)
2017/10/28(土) 14:27:37.18ID:U6aWHNpTa859デフォルトの名無しさん (アウアウオー Saa3-Dl3S)
2017/10/28(土) 14:28:45.31ID:U6aWHNpTa 二文字目以降も絞るはずだよ
likeステートメントで調べて
likeステートメントで調べて
860デフォルトの名無しさん (ワッチョイ 139b-s9Be)
2017/10/28(土) 15:09:56.58ID:nXGe9PnV0861デフォルトの名無しさん (ワッチョイ 139b-s9Be)
2017/10/28(土) 15:10:37.21ID:nXGe9PnV0862デフォルトの名無しさん (バットンキン MM53-NSMR)
2017/10/28(土) 15:22:04.59ID:wz68Wl0yM >>860
いいってことよ(´・ω・`)b
いいってことよ(´・ω・`)b
863デフォルトの名無しさん (アウアウオー Saa3-Dl3S)
2017/10/28(土) 15:36:03.59ID:U6aWHNpTa864デフォルトの名無しさん (スップ Sdc2-A9CN)
2017/11/02(木) 17:28:07.27ID:ET9hl5Jtd 加減乗除をやりたいんですが、式のセルの下に直で式を書いて、値に数値が出るような仕組みはどんなマクロになりますか?
パラメーターは後に記号にして計算さしたくて、短縮計算風に出来ませんかね?
https://i.imgur.com/dCH8v0R.jpg
パラメーターは後に記号にして計算さしたくて、短縮計算風に出来ませんかね?
https://i.imgur.com/dCH8v0R.jpg
865デフォルトの名無しさん (ワッチョイ 818a-dVlt)
2017/11/02(木) 19:09:21.64ID:xfkuRD420 構文解析?短縮計算とは変数のことかな?
計算では括弧や優先順位はいいのかな?
計算では括弧や優先順位はいいのかな?
866デフォルトの名無しさん (ワッチョイ 069f-Q/5A)
2017/11/02(木) 20:09:43.68ID:0sv8Sbl30867デフォルトの名無しさん (ワッチョイ 45f7-gKel)
2017/11/02(木) 21:02:34.02ID:7hQpKtJQ0 横から縦を引くのって、どういう用途なのか気になる
868デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/02(木) 21:20:16.62ID:q8cyaoAa0 構文解析っていうのか分かりませんがが、四則演算でかけ算、わり算優先です。式は括弧もありです。
最終的には、フォームのテキストボックスとかに式を打って、ボタン押して計算させるものを作る予定です。
https://i.imgur.com/ywonMIZ.jpg
最終的には、フォームのテキストボックスとかに式を打って、ボタン押して計算させるものを作る予定です。
https://i.imgur.com/ywonMIZ.jpg
869デフォルトの名無しさん (ワッチョイ 99b3-bzCF)
2017/11/02(木) 21:39:49.02ID:ZL7lK7Od0870デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/02(木) 21:44:12.23ID:q8cyaoAa0871デフォルトの名無しさん (ワッチョイ 99b3-bzCF)
2017/11/02(木) 22:01:48.46ID:ZL7lK7Od0872デフォルトの名無しさん (ワッチョイ 06e9-VkrK)
2017/11/02(木) 22:05:39.15ID:hrrpsG610873デフォルトの名無しさん (ワッチョイ 818a-dVlt)
2017/11/02(木) 22:11:24.38ID:xfkuRD420 (1) 計算記号を半角の +,-,*,/,(,) に置き換える
(2) 式の中のパラメータを全て数値に置き換えた文字列を作る
(3) 出来上がった式の先頭に "=" を付ける
(4) 答えを出したいセルに (3)の式を書く
で出来ないか?
(2) 式の中のパラメータを全て数値に置き換えた文字列を作る
(3) 出来上がった式の先頭に "=" を付ける
(4) 答えを出したいセルに (3)の式を書く
で出来ないか?
874デフォルトの名無しさん (ワッチョイ 99b3-bzCF)
2017/11/02(木) 22:21:25.46ID:ZL7lK7Od0 Dim 式 As string
式 = "(1+2)*3"
Range("D5") = ExecuteExcel4Macro("EVALUATE(" & 式 & ")")
とりあえず、文字列変数の”式”に計算式代入してますが、代入をテキストボックスから代入にすればD5に結果が出ます。
式 = "(1+2)*3"
Range("D5") = ExecuteExcel4Macro("EVALUATE(" & 式 & ")")
とりあえず、文字列変数の”式”に計算式代入してますが、代入をテキストボックスから代入にすればD5に結果が出ます。
875デフォルトの名無しさん (ワッチョイ 06e9-FqSh)
2017/11/02(木) 22:25:43.90ID:hrrpsG610 そもそも置き換える意味がなくないか
https://i.imgur.com/ZAuSaoz.png
=
(
INDEX(B:B,MATCH("w",A:A,0))*
INDEX(B:B,MATCH("h",A:A,0))
)+
INDEX(B:B,MATCH("t",A:A,0))-
INDEX(B:B,MATCH("m",A:A,0))
https://i.imgur.com/ZAuSaoz.png
=
(
INDEX(B:B,MATCH("w",A:A,0))*
INDEX(B:B,MATCH("h",A:A,0))
)+
INDEX(B:B,MATCH("t",A:A,0))-
INDEX(B:B,MATCH("m",A:A,0))
876デフォルトの名無しさん (ワッチョイ 82b3-69m6)
2017/11/02(木) 22:47:32.54ID:rd1E1A0+0 マクロ使わなくても>>866ので十分じゃないの?
式を文字列としても表示したい場合もワークシート関数で済むし
式を文字列としても表示したい場合もワークシート関数で済むし
877デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/02(木) 23:07:13.28ID:q8cyaoAa0 >>871
そんな感じです。
>>872
ある物の大きさだったり、重さだったり、面積とかを計算で出したくて、物ごとにパラメーター数値をそれぞれ持たせて、Aの大きさを計算したり、Bの大きさを計算するのに使う予定です。
イメージの順序は
@フォーム1のテキストボックス1に種類を入力。
計算ボタン→Bへ。
パラメーターボタン→Aへ
Aフォーム2
種類別にシートに登録されてる基礎パラメータ―値を取得し数値を転記させる。
基礎値は変更可能で変更したらパラメーター数値を上書きしフォーム1へ戻って計算ボタン。基礎値は種類によってなしもあり。
Bフォーム3に決められた項目があって、面積や重さ等を算出し転記。
イメージはこんな感じで、決められた項目の計算式はマクロに組み込む予定で、自分で算出したい時に式を記号で書いて計算出来たら便利でいろいろと用途が広がっていいなと思ってます。
説明下手ですみません。やりたいことは伝わります?
https://i.imgur.com/jUHfvjj.jpg
そんな感じです。
>>872
ある物の大きさだったり、重さだったり、面積とかを計算で出したくて、物ごとにパラメーター数値をそれぞれ持たせて、Aの大きさを計算したり、Bの大きさを計算するのに使う予定です。
イメージの順序は
@フォーム1のテキストボックス1に種類を入力。
計算ボタン→Bへ。
パラメーターボタン→Aへ
Aフォーム2
種類別にシートに登録されてる基礎パラメータ―値を取得し数値を転記させる。
基礎値は変更可能で変更したらパラメーター数値を上書きしフォーム1へ戻って計算ボタン。基礎値は種類によってなしもあり。
Bフォーム3に決められた項目があって、面積や重さ等を算出し転記。
イメージはこんな感じで、決められた項目の計算式はマクロに組み込む予定で、自分で算出したい時に式を記号で書いて計算出来たら便利でいろいろと用途が広がっていいなと思ってます。
説明下手ですみません。やりたいことは伝わります?
https://i.imgur.com/jUHfvjj.jpg
878デフォルトの名無しさん (アウアウカー Sa69-r1EQ)
2017/11/02(木) 23:08:16.66ID:GyvJT/E0a ExecuteExcel4MacroじゃないEvaluateでも出来そうじゃない?
879デフォルトの名無しさん (アウアウカー Sa69-r1EQ)
2017/11/02(木) 23:22:31.35ID:GyvJT/E0a ただ、汎用性を広げると結局、Excel関数と何が違うの?という話になってしまう。
自分で算出したい時に式を記号で書くのと式をExcel関数で書くのどっちが良いかという話。
自分で算出したい時に式を記号で書くのと式をExcel関数で書くのどっちが良いかという話。
880デフォルトの名無しさん (ワッチョイ 06e9-FqSh)
2017/11/02(木) 23:25:12.28ID:hrrpsG610881デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/03(金) 00:48:40.50ID:WzVp0mNm0 簡単にいうと
長さ1センチの棒が10個繋がっていて.
それぞれA1〜A10という記号。
@A5までの長さは?
Ans=A1×5
Ans=A1+A2+A3+A4+A5
Ans=A1+A2+....A6-A1
どれでも同じ答えになるけど、式はバラバラでも答えが出るような物をマクロで書きたい。
長さ1センチの棒が10個繋がっていて.
それぞれA1〜A10という記号。
@A5までの長さは?
Ans=A1×5
Ans=A1+A2+A3+A4+A5
Ans=A1+A2+....A6-A1
どれでも同じ答えになるけど、式はバラバラでも答えが出るような物をマクロで書きたい。
882デフォルトの名無しさん (ワッチョイ 06e9-68jL)
2017/11/03(金) 00:56:23.31ID:9+4w5kxK0 >>881
言うのは簡単だけど要件定義をしっかりしないと無限に答えが出るからどうしようもないぞ
Ans=(A1+A2)+A3+A4+A5
Ans=A1+A2+A3+A4+A5*1
なんてのもある
何を省くのかを全部決める必要がある
言うのは簡単だけど要件定義をしっかりしないと無限に答えが出るからどうしようもないぞ
Ans=(A1+A2)+A3+A4+A5
Ans=A1+A2+A3+A4+A5*1
なんてのもある
何を省くのかを全部決める必要がある
883デフォルトの名無しさん (ワッチョイ 818a-dVlt)
2017/11/03(金) 06:58:23.53ID:PsEqIyAK0 >>881
A1〜5が 1.0、1.0、0.9、1.1、1.0 みたいなこともあるのかな?
A1〜5が 1.0、1.0、0.9、1.1、1.0 みたいなこともあるのかな?
884デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/03(金) 10:36:10.54ID:WzVp0mNm0 >>883
あります。
あります。
885デフォルトの名無しさん (ササクッテロラ Spf1-4J3c)
2017/11/03(金) 14:26:57.95ID:kxIRYzimp >>881
構文解析とか字句解析とかパーサ、レキサとかを勉強したらいいよ
構文解析とか字句解析とかパーサ、レキサとかを勉強したらいいよ
886デフォルトの名無しさん (ワッチョイ 82b3-69m6)
2017/11/03(金) 17:05:15.87ID:Ro85MhDs0 構文解析とか面倒くさいことせずにそのまま式として使えばいいじゃん
何か不都合があるの?
何か不都合があるの?
887デフォルトの名無しさん (バットンキン MM92-0Du5)
2017/11/03(金) 17:37:53.64ID:30SW/guPM (´・ω・`)b
888888 (バットンキン MM92-0Du5)
2017/11/03(金) 17:38:24.43ID:30SW/guPM 888げっち(´・ω・`)b
889デフォルトの名無しさん (ササクッテロラ Spf1-4J3c)
2017/11/03(金) 18:05:12.90ID:kxIRYzimp >>886
横とか縦とかを使いたいって要件があるからじゃね
横とか縦とかを使いたいって要件があるからじゃね
890デフォルトの名無しさん (エムゾネ FF62-A9CN)
2017/11/03(金) 18:08:36.69ID:Bwj2SpAUF >>886
原価計算をマクロで作っててどうしてもやりたいんですよね。
原価計算をマクロで作っててどうしてもやりたいんですよね。
891デフォルトの名無しさん (ワッチョイ 82b3-69m6)
2017/11/03(金) 18:41:59.94ID:Ro85MhDs0892デフォルトの名無しさん (ササクッテロラ Spf1-4J3c)
2017/11/03(金) 18:49:35.38ID:kxIRYzimp >>891
セルに名前つけたくないのかもしれない
セルに名前つけたくないのかもしれない
893デフォルトの名無しさん (ワッチョイ 818a-dVlt)
2017/11/03(金) 22:20:15.66ID:PsEqIyAK0 >>884
情報の後出しにならないように他にも条件があるならすべて書くがいい
情報の後出しにならないように他にも条件があるならすべて書くがいい
894デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/03(金) 22:42:30.80ID:WzVp0mNm0895デフォルトの名無しさん (アウアウカー Sa69-OggG)
2017/11/04(土) 00:12:34.17ID:Om9HmY4ya ボタンだけシートに置いてフォーミュラ使ったほうがエクセルでやるメリット活かせそうな気がするが
896デフォルトの名無しさん (ワッチョイ 469f-r1EQ)
2017/11/04(土) 01:46:11.14ID:HoIymfa20 例えばA列に数式、B列に計算結果、C以降の列に数式に使われる変数の値を1つずつ入れるとする。
A1に"計算式"、B1に"結果"、C1に"変数→"と入力しておく。
A2には"(%1+%2)/%3"、A3に"(%1)^(%2*%1)/%3"などと計算式を入力して以下を実行。
Dim i As Long
Dim j As Long
Dim strFormula As String
Dim lngArgNum As Long
With Thisworkbook.Worksheets("計算")
For i=2 To .UsedRange.Rows.Count
strFormula=.Cells(i,1).Value
lngArgNum=Len(strFormula)-Len(Replace(strFormula,"%",""))
For j=1 To lngArgNum
strFormula=Replace(strFormula,"%" & Cstr(j),.Cells(i,j+2).Value)
Next j
.Cells(i,2).Value=Evaluate(strFormula)
Next i
End With
こんな感じで計算式とデータを元に計算できると思う。
スマホから入力で実際には試していないから間違いは有るかも。
A1に"計算式"、B1に"結果"、C1に"変数→"と入力しておく。
A2には"(%1+%2)/%3"、A3に"(%1)^(%2*%1)/%3"などと計算式を入力して以下を実行。
Dim i As Long
Dim j As Long
Dim strFormula As String
Dim lngArgNum As Long
With Thisworkbook.Worksheets("計算")
For i=2 To .UsedRange.Rows.Count
strFormula=.Cells(i,1).Value
lngArgNum=Len(strFormula)-Len(Replace(strFormula,"%",""))
For j=1 To lngArgNum
strFormula=Replace(strFormula,"%" & Cstr(j),.Cells(i,j+2).Value)
Next j
.Cells(i,2).Value=Evaluate(strFormula)
Next i
End With
こんな感じで計算式とデータを元に計算できると思う。
スマホから入力で実際には試していないから間違いは有るかも。
897デフォルトの名無しさん (ワッチョイ 42f2-7tl6)
2017/11/04(土) 01:49:39.94ID:6BfKqcJn0 名前付き範囲とFORMULATEXT()使ったスマートだと思うがな
898デフォルトの名無しさん (ワッチョイ 42eb-4J3c)
2017/11/04(土) 02:50:58.68ID:LffwWHr/0 >>896
仕様を満たしていないから0点と言われる可能性もある
仕様を満たしていないから0点と言われる可能性もある
899デフォルトの名無しさん (ワッチョイ 42eb-4J3c)
2017/11/04(土) 02:57:57.27ID:LffwWHr/0900デフォルトの名無しさん (アウアウカー Sa69-s7pS)
2017/11/04(土) 04:40:42.42ID:JlmNU5S6a >>890
どう実装するかはあなたのセンスでは?
どう実装するかはあなたのセンスでは?
901デフォルトの名無しさん (アウアウカー Sa69-r1EQ)
2017/11/04(土) 13:33:35.87ID:R24m495Za902デフォルトの名無しさん (ワッチョイ 3d03-nsS3)
2017/11/04(土) 13:46:26.63ID:oCKjTVzP0 言い訳するなら最初から答えようとすんなカスw
903デフォルトの名無しさん (アウアウカー Sa69-r1EQ)
2017/11/04(土) 14:18:00.40ID:R24m495Za904デフォルトの名無しさん (スップ Sdc2-A9CN)
2017/11/04(土) 14:23:56.33ID:CRrC4P9Kd 種類選択して、行に並ぶ全記号をループ処理でフォーム2のテキストボックスに転記させ計算ボタンをクリックして書いた式を+なりsplitで区切って+なら足し算、-なら引き算って感じでは無理かね?
複数条件が無理そうだけど。()の概念がなければなんとかなるのかね?
複数条件が無理そうだけど。()の概念がなければなんとかなるのかね?
905デフォルトの名無しさん (アウアウカー Sa69-r1EQ)
2017/11/04(土) 14:36:42.41ID:R24m495Za906デフォルトの名無しさん (ワッチョイ 3d03-nsS3)
2017/11/04(土) 14:38:17.15ID:oCKjTVzP0 >>905
だから知らんのに答えようとしてスレ荒らすな無能
だから知らんのに答えようとしてスレ荒らすな無能
907デフォルトの名無しさん (ワッチョイ 42b3-r/51)
2017/11/04(土) 16:17:57.99ID:sTeHaJ1X0 >>903
頓珍漢なコードでどや顔されても迷惑なだけ
頓珍漢なコードでどや顔されても迷惑なだけ
908デフォルトの名無しさん (ワッチョイ edd1-dVlt)
2017/11/04(土) 16:21:46.87ID:mUpZK5PE0 じゃあおまえが頓珍漢じゃないコードを
書いて反論すればいい。
書いて反論すればいい。
909デフォルトの名無しさん (アウアウカー Sa69-r1EQ)
2017/11/04(土) 17:26:08.34ID:lW5YBK4ma910デフォルトの名無しさん (ドコグロ MM61-r/51)
2017/11/04(土) 18:15:58.49ID:S9+korX2M911デフォルトの名無しさん (ワッチョイ c21e-7T4N)
2017/11/04(土) 18:36:47.91ID:rZk8iN3Y0 で、肝心の質問者は全然出てこないいつものパターン w
912デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/04(土) 21:54:18.84ID:84qcs9U10 荒れてますな
913デフォルトの名無しさん (ドコグロ MM29-r/51)
2017/11/04(土) 22:20:15.29ID:WXoZTt/lM 頓珍漢どや顔君が暴れてるだけ
914デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/04(土) 22:37:51.15ID:84qcs9U10 結果希望のコードは出来ないで終わりだな。
次の方どーぞー
次の方どーぞー
915デフォルトの名無しさん (アウアウカー Sa69-r1EQ)
2017/11/04(土) 22:45:14.81ID:SLMICp2Ea >>910
バーカw
これだからレベルの低い癖に難癖つける奴は困るんだ。
そもそも多少書ける奴なら構文解析が面倒くさいのも分かる筈。
それでも構文解析にメリットが有るなら分かる。
今回、一体どこにメリットが有るんだ?
理由も無しに構文解析でやる奴はいないからコード例すら出てこない。
>>866は現実的な案だ。
だが、使用者にセルに名前を付けることを強いる方法だ。
大したデメリットではないからこの選択肢はありだが、最初に提示されても質問者が乗ってきていない。
幾つかの選択肢が出るのを待ってるのかもしれんが、それだったら別の案を提示しても良いだろう。
お前は全く分かって無いようだが、>>875は質問者の質問をそのまま否定したものだ。
つまりExcel関数を使えというものだ。
俺もこの意見に賛成だ。
それが>>879だ。
だが、質問者の意図をこちらが完全に把握するのは不可能だ。
状況によっては質問者の考えを取る場合もある。
実際、俺もそういう場面があってその時は>>896とは少し違うがEvaluateを使った。
はっきり言って>>896はコードを手直しすればかなり有力な案だ。
マクロでやりたいならな。
>>875も有力だ。
マクロでやらないなら。
多少書ける奴ならそんなことはすぐ分かる。
バーカw
これだからレベルの低い癖に難癖つける奴は困るんだ。
そもそも多少書ける奴なら構文解析が面倒くさいのも分かる筈。
それでも構文解析にメリットが有るなら分かる。
今回、一体どこにメリットが有るんだ?
理由も無しに構文解析でやる奴はいないからコード例すら出てこない。
>>866は現実的な案だ。
だが、使用者にセルに名前を付けることを強いる方法だ。
大したデメリットではないからこの選択肢はありだが、最初に提示されても質問者が乗ってきていない。
幾つかの選択肢が出るのを待ってるのかもしれんが、それだったら別の案を提示しても良いだろう。
お前は全く分かって無いようだが、>>875は質問者の質問をそのまま否定したものだ。
つまりExcel関数を使えというものだ。
俺もこの意見に賛成だ。
それが>>879だ。
だが、質問者の意図をこちらが完全に把握するのは不可能だ。
状況によっては質問者の考えを取る場合もある。
実際、俺もそういう場面があってその時は>>896とは少し違うがEvaluateを使った。
はっきり言って>>896はコードを手直しすればかなり有力な案だ。
マクロでやりたいならな。
>>875も有力だ。
マクロでやらないなら。
多少書ける奴ならそんなことはすぐ分かる。
916デフォルトの名無しさん (ドコグロ MM29-r/51)
2017/11/04(土) 22:47:58.48ID:WXoZTt/lM917デフォルトの名無しさん (ワッチョイ 06e9-TOoe)
2017/11/04(土) 22:49:37.17ID:9byl7HlM0 俺はそれよりも何よりも>>896がスマホでどう入力してるのかが気になって仕方ない
918デフォルトの名無しさん (アウアウカー Sa69-r1EQ)
2017/11/04(土) 22:56:05.22ID:SLMICp2Ea919デフォルトの名無しさん (ワッチョイ 3d03-nsS3)
2017/11/04(土) 23:01:13.23ID:oCKjTVzP0 案の定荒らしとるやん
無能の答えたがりは排除するに限る
無能の答えたがりは排除するに限る
920デフォルトの名無しさん (ワッチョイ 06e9-TOoe)
2017/11/04(土) 23:01:26.25ID:9byl7HlM0921デフォルトの名無しさん (ワッチョイ 42b3-r/51)
2017/11/04(土) 23:01:39.52ID:sTeHaJ1X0 そろそろ引っ込んだ方がいいんじゃね?
922デフォルトの名無しさん (ドコグロ MM0a-r/51)
2017/11/04(土) 23:06:22.01ID:/W0Qwec6M923デフォルトの名無しさん (ワッチョイ 79ea-lboT)
2017/11/04(土) 23:25:14.88ID:jkiPwlri0 求められてるのはテクニック自慢知識自慢の回答じゃなくて多少泥臭くても質問者が理解できるような回答だけどな
業務に使うんだとしたらなんか知らんけど動いたじゃ駄目だからな
業務に使うんだとしたらなんか知らんけど動いたじゃ駄目だからな
924デフォルトの名無しさん (ワッチョイ 82b3-69m6)
2017/11/04(土) 23:56:47.77ID:O0AU1SEY0 なんでもExcelでやりたがる病の次は
なんでもマクロでやりたがる病かな
こういうケースはコードを提示するよりも
選択肢のメリット・デメリットを教えてあげるほうが
質問者のためになると思うけどけどね
なんでもマクロでやりたがる病かな
こういうケースはコードを提示するよりも
選択肢のメリット・デメリットを教えてあげるほうが
質問者のためになると思うけどけどね
925デフォルトの名無しさん (アウアウカー Sa69-r1EQ)
2017/11/04(土) 23:59:49.18ID:SLMICp2Ea926デフォルトの名無しさん (ワッチョイ 42eb-4J3c)
2017/11/05(日) 00:03:30.19ID:d3t3AJCT0 sqlでいいじゃない
927デフォルトの名無しさん (ワッチョイ 818a-dVlt)
2017/11/05(日) 01:22:19.45ID:c6rMDhtU0 何も書かなくなったってことは解決したと思っていいんじゃね
928デフォルトの名無しさん (ワッチョイ 42b3-r/51)
2017/11/05(日) 06:55:18.19ID:3uuR82Hq0 > >>896なら動かしてみれば質問者も理解出来るだろう。
頓珍漢なコードを動かしてもしょうがないだろ、どや顔君 w
頓珍漢なコードを動かしてもしょうがないだろ、どや顔君 w
929デフォルトの名無しさん (オッペケ Srf1-ApTO)
2017/11/05(日) 12:31:57.15ID:RpLSKu2Sr 無能は混乱させる発言をするよりは何も言わない方が上策だという事が分かってない
だからこそ無能なのだが
だからこそ無能なのだが
930デフォルトの名無しさん (ワッチョイ edd1-dVlt)
2017/11/05(日) 12:49:11.93ID:P7Kt20uM0 「混乱させる発言をするよりは何も言わない方が上策」
これが事実であることを証明してみなさい
これが事実であることを証明してみなさい
931デフォルトの名無しさん (ドコグロ MM0a-r/51)
2017/11/05(日) 12:59:13.87ID:uz/X8WP/M 一連のレスで充分証明されてるだろ
理解できてないのは「無能」と言うことまで w
理解できてないのは「無能」と言うことまで w
932デフォルトの名無しさん (ワッチョイ edb9-7T4N)
2017/11/05(日) 13:01:16.77ID:3CeHdKb50 沈黙は金
933デフォルトの名無しさん (ワッチョイ edd1-dVlt)
2017/11/05(日) 13:01:56.76ID:P7Kt20uM0 ○○だから無能である
無能の定義は○○である
定義によると○○だから無能である
これが証明
循環www
無能の定義は○○である
定義によると○○だから無能である
これが証明
循環www
934デフォルトの名無しさん (ワッチョイ 818a-dVlt)
2017/11/05(日) 13:05:24.14ID:c6rMDhtU0 無能でも個人の意見として発言すればいいだけやん
935デフォルトの名無しさん (ワッチョイ 79ea-lboT)
2017/11/05(日) 13:08:17.40ID:9GsfV+7k0 まぁ一番悪いのはコード依頼する質問者だけどな
936デフォルトの名無しさん (ワッチョイ edd1-dVlt)
2017/11/05(日) 13:08:22.77ID:P7Kt20uM0 >>933
> 沈黙は金
http://www.weblio.jp/content/%E6%B2%88%E9%BB%99%E3%81%AF%E9%87%91
この「沈黙は金・雄弁は銀」という表現が成立した当初は、金よりも銀の方が価値が高かった、
つまり、、元々は、沈黙よりもむしろ雄弁を称えた格言であったという説がある。
> 沈黙は金
http://www.weblio.jp/content/%E6%B2%88%E9%BB%99%E3%81%AF%E9%87%91
この「沈黙は金・雄弁は銀」という表現が成立した当初は、金よりも銀の方が価値が高かった、
つまり、、元々は、沈黙よりもむしろ雄弁を称えた格言であったという説がある。
937デフォルトの名無しさん (ワッチョイ 818a-dVlt)
2017/11/05(日) 13:13:47.98ID:c6rMDhtU0938デフォルトの名無しさん (ワッチョイ 06e9-VkrK)
2017/11/05(日) 13:37:23.74ID:2uRc+T650939デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/05(日) 14:05:31.85ID:Go05s/xH0 有効な君たちへ。
Aと入力したら、コンボボックスにadditemでAから始まるキーワード候補を入れ込んで矢印ボタンを押さなくても入ってる候補を自動で全て表示って出来ない?
dropdownって書いても最初の1個しか表示出来ないんだが。
リストビュー使わずコンボボックスのみは無理かね?
Aと入力したら、コンボボックスにadditemでAから始まるキーワード候補を入れ込んで矢印ボタンを押さなくても入ってる候補を自動で全て表示って出来ない?
dropdownって書いても最初の1個しか表示出来ないんだが。
リストビュー使わずコンボボックスのみは無理かね?
940デフォルトの名無しさん (ワッチョイ 06e9-VkrK)
2017/11/05(日) 14:19:42.28ID:2uRc+T650941デフォルトの名無しさん (ワッチョイ 42b3-r/51)
2017/11/05(日) 14:44:16.23ID:3uuR82Hq0 本人降臨乙 w
942デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/05(日) 14:51:43.48ID:Go05s/xH0943デフォルトの名無しさん (ワッチョイ 06e9-FqSh)
2017/11/05(日) 15:01:02.75ID:2uRc+T650 >>942
写真は辞めてくれ。見るのめんどくさい
出てきたからあげるわ
大体やりたいことはこれだと思う
・設定シートのB列に表示したいもの。C列は入力する文字を入れる
・入力シートのA1に「う」と入れて決定。リストが現れて「東京」「北海道」が現れるので選択する
もちろん「う」じゃなくても「東」なんかでもいい。場合によってはB列に「渋谷」とかいれてもいいかもしれない
https://dotup.org/uploda/dotup.org1380568.zip.html
自分で言うのも何だがこれ超便利。かなりオススメ
写真は辞めてくれ。見るのめんどくさい
出てきたからあげるわ
大体やりたいことはこれだと思う
・設定シートのB列に表示したいもの。C列は入力する文字を入れる
・入力シートのA1に「う」と入れて決定。リストが現れて「東京」「北海道」が現れるので選択する
もちろん「う」じゃなくても「東」なんかでもいい。場合によってはB列に「渋谷」とかいれてもいいかもしれない
https://dotup.org/uploda/dotup.org1380568.zip.html
自分で言うのも何だがこれ超便利。かなりオススメ
944デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/05(日) 16:02:07.87ID:Go05s/xH0945デフォルトの名無しさん (ワッチョイ 419f-dzAI)
2017/11/05(日) 16:24:01.20ID:0zSGS5Fq0 持論の長文なんて無能アピールでしかないよ
946デフォルトの名無しさん (ワッチョイ 419f-dzAI)
2017/11/05(日) 16:30:01.87ID:0zSGS5Fq0947デフォルトの名無しさん (ワッチョイ 06e9-/D91)
2017/11/05(日) 16:42:55.58ID:2uRc+T650 >>944
あ〜F12な。結局使わないから封印してたの忘れてた
リスト選択中に、enterじゃなくF12を押すとB列じゃなくてA列のIDが入力される
都道府県の場合なら、都道府県番号なんかを入れておけば便利かもな
リストの内容によっては全く使わないかもしれない
好みで設定したり拡張したりしてくれ
あ〜F12な。結局使わないから封印してたの忘れてた
リスト選択中に、enterじゃなくF12を押すとB列じゃなくてA列のIDが入力される
都道府県の場合なら、都道府県番号なんかを入れておけば便利かもな
リストの内容によっては全く使わないかもしれない
好みで設定したり拡張したりしてくれ
948デフォルトの名無しさん (ワッチョイ 06e9-/D91)
2017/11/05(日) 16:45:11.41ID:2uRc+T650 >>946
教える方が上ってのは常識だよね。君は教室で暴れるタイプだったのかな?まぁそれだったら言っても分からんかもしれない
必ずしもVBAで解決する必要はない。可能ならエクセルや他のアプリケーションに任せたほうが遥かに早い場合もある
もう少し視野を広く持とう
教える方が上ってのは常識だよね。君は教室で暴れるタイプだったのかな?まぁそれだったら言っても分からんかもしれない
必ずしもVBAで解決する必要はない。可能ならエクセルや他のアプリケーションに任せたほうが遥かに早い場合もある
もう少し視野を広く持とう
949デフォルトの名無しさん (ササクッテロラ Spf1-4J3c)
2017/11/05(日) 16:53:57.90ID:a4pI1v9ip950デフォルトの名無しさん (ワッチョイ c2af-3XRS)
2017/11/05(日) 17:00:41.90ID:yl/L3RMU0 w
951デフォルトの名無しさん (ワッチョイ 06e9-/D91)
2017/11/05(日) 17:07:04.37ID:2uRc+T650952デフォルトの名無しさん (ワッチョイ c29b-A9CN)
2017/11/05(日) 17:22:31.31ID:Go05s/xH0953デフォルトの名無しさん (ワッチョイ edd1-dVlt)
2017/11/05(日) 17:32:40.60ID:jwXclmwa0954デフォルトの名無しさん (ワッチョイ 99b3-4J3c)
2017/11/05(日) 17:59:37.33ID:vVdKzVLa0955デフォルトの名無しさん (ワッチョイ 06e9-qdOx)
2017/11/05(日) 18:03:31.52ID:2uRc+T650 >>954
人の言ってることを勝手に拡大解釈するようなアホに教わることはないんだ、スマン
人の言ってることを勝手に拡大解釈するようなアホに教わることはないんだ、スマン
956デフォルトの名無しさん (ワッチョイ 99b3-4J3c)
2017/11/05(日) 18:35:21.91ID:KrEf+qNQ0957デフォルトの名無しさん (ワッチョイ 419f-fInO)
2017/11/05(日) 18:46:16.14ID:0zSGS5Fq0 無能の屁理屈はスルーで
958デフォルトの名無しさん (ワッチョイ 06e9-2rBW)
2017/11/05(日) 19:05:22.65ID:2uRc+T650959デフォルトの名無しさん (ワッチョイ 06e9-2rBW)
2017/11/05(日) 19:06:04.69ID:2uRc+T650 回答が出来ないならせめてスレ立てぐらい頑張れ
1000里の道も一歩からだ
1000里の道も一歩からだ
960デフォルトの名無しさん (ワッチョイ 62fe-SDBi)
2017/11/05(日) 19:08:37.19ID:CWWh4Dmp0 どうみても質問者より回答者の方が多いし回答者同士で質問を奪い合ってる状態
もう自称上級者が「教えさせてください」と頭下げていいレベル
てかお前らの態度次第じゃ質問してやってもいいんだけどどうする?ちゃんと答えられんのか?
もう自称上級者が「教えさせてください」と頭下げていいレベル
てかお前らの態度次第じゃ質問してやってもいいんだけどどうする?ちゃんと答えられんのか?
961デフォルトの名無しさん (ワッチョイ 06e9-FqSh)
2017/11/05(日) 19:12:27.65ID:2uRc+T650962デフォルトの名無しさん (ワッチョイ 419f-fInO)
2017/11/05(日) 19:17:19.82ID:0zSGS5Fq0963デフォルトの名無しさん (ワッチョイ 62fe-SDBi)
2017/11/05(日) 19:19:47.12ID:CWWh4Dmp0 >>961
VBAで次スレを一発で立てることは可能ですか?
VBAで次スレを一発で立てることは可能ですか?
964デフォルトの名無しさん (ワッチョイ 06e9-FqSh)
2017/11/05(日) 19:23:35.37ID:2uRc+T650965デフォルトの名無しさん (ワッチョイ 99b3-4J3c)
2017/11/05(日) 19:29:07.50ID:DIMJ1VBx0966デフォルトの名無しさん (ワッチョイ 06e9-FqSh)
2017/11/05(日) 19:32:08.01ID:2uRc+T650 >>965
だからそう言ってるじゃないか
俺は傲慢で不遜だしそういう態度を取りたいから回答を続けているんだよ
で、回答をもらえた方も問題解決できてハッピー
誰も損してないね
君がここ何か文句を言いたいなら、俺以上に早く正確に回答することだけど、出来るのかな?
だからそう言ってるじゃないか
俺は傲慢で不遜だしそういう態度を取りたいから回答を続けているんだよ
で、回答をもらえた方も問題解決できてハッピー
誰も損してないね
君がここ何か文句を言いたいなら、俺以上に早く正確に回答することだけど、出来るのかな?
967デフォルトの名無しさん (スップ Sd62-3K0w)
2017/11/05(日) 21:29:59.86ID:bjKo+Lyid968デフォルトの名無しさん (ワッチョイ 06e9-qdOx)
2017/11/05(日) 21:41:12.55ID:2uRc+T650969デフォルトの名無しさん (ワッチョイ 3d03-nsS3)
2017/11/05(日) 21:53:05.13ID:eSigvT1a0970デフォルトの名無しさん (ワッチョイ 469f-r1EQ)
2017/11/05(日) 22:22:27.36ID:QPFjkg1+0 何も貢献出来てない者が上から目線とか何の冗談だ。
質問も回答もしないバカ者は完全に荒らしだろ。
どんなに負けたく無いのか知らんが、人のせいにするんじゃなくて技術を持ってない頭の悪さを呪うんだな。
質問も回答もしないバカ者は完全に荒らしだろ。
どんなに負けたく無いのか知らんが、人のせいにするんじゃなくて技術を持ってない頭の悪さを呪うんだな。
971デフォルトの名無しさん (ワッチョイ 42eb-4J3c)
2017/11/05(日) 22:27:54.74ID:d3t3AJCT0972デフォルトの名無しさん (ワッチョイ 06e9-Cb7u)
2017/11/05(日) 22:33:57.47ID:2uRc+T650 そろそろ次スレ頼む
俺は無理だった
ERROR: このホストはBBx規制中です。-
俺は無理だった
ERROR: このホストはBBx規制中です。-
973デフォルトの名無しさん (ワッチョイ 42e7-lboT)
2017/11/05(日) 22:40:31.46ID:V3jZCxq50974デフォルトの名無しさん (ワッチョイ ede9-2V/I)
2017/11/05(日) 22:44:26.84ID:3e8zsqcY0 プルダウンリストにて
以下のような表があったとして、
田中 人事 42歳
山本 経理 23歳
佐藤 人事 46歳
・
・
・
以下のようなプルダウンボックス×2を配置します
口 口
左のボックスで部署を選んだら右のボックスに該当部署の人のリストが出て、その右に年齢を出したいです。
普通に検索しても、同じキーが連続してる例しかなく、このようにデータベースタイプでキーが飛び飛びになってる表からキーで検索してプルダウンボックスに反映させるやり方が分かりません、どうやればいいですかる
以下のような表があったとして、
田中 人事 42歳
山本 経理 23歳
佐藤 人事 46歳
・
・
・
以下のようなプルダウンボックス×2を配置します
口 口
左のボックスで部署を選んだら右のボックスに該当部署の人のリストが出て、その右に年齢を出したいです。
普通に検索しても、同じキーが連続してる例しかなく、このようにデータベースタイプでキーが飛び飛びになってる表からキーで検索してプルダウンボックスに反映させるやり方が分かりません、どうやればいいですかる
975デフォルトの名無しさん (ワッチョイ 2e93-lboT)
2017/11/05(日) 23:27:18.16ID:CRWVG0Jc0 With文で指定したObjectをWith文内で表記する方法はありますか?
ObjectがRangeの場合、 .Offset(0,0) でお茶を濁しておりますが、、
With文内で添字を取るようなObjectのプロパティにアクセスするケース
で躓きました。
PowerShellの $_.nameみたいなものが使えたら嬉しいのですが、、
ObjectがRangeの場合、 .Offset(0,0) でお茶を濁しておりますが、、
With文内で添字を取るようなObjectのプロパティにアクセスするケース
で躓きました。
PowerShellの $_.nameみたいなものが使えたら嬉しいのですが、、
976デフォルトの名無しさん (ワッチョイ 069f-Q/5A)
2017/11/05(日) 23:47:42.44ID:O1SLruSA0 >>974
ワークシートから検索してコンボボックスに追加していくということなら
表をごっそりRangeオブジェクトでとってきて
ForEachで検索列を手当たり次第見ていって
検索値にヒットしたらコンボボックスにAdd
でご要望通りになるかと
ワークシートから検索してコンボボックスに追加していくということなら
表をごっそりRangeオブジェクトでとってきて
ForEachで検索列を手当たり次第見ていって
検索値にヒットしたらコンボボックスにAdd
でご要望通りになるかと
977デフォルトの名無しさん (ワッチョイ 42e7-lboT)
2017/11/05(日) 23:49:55.08ID:V3jZCxq50 >>975
.Item( ) じゃなくて?
.Item( ) じゃなくて?
978デフォルトの名無しさん (ワッチョイ c68a-lboT)
2017/11/05(日) 23:55:54.55ID:qDv0JuZq0 あれだな ガキの頃からキーボードカチャカチャやってる世代じゃ無くなって来てるからな
Excelとか、むしろ面倒なんだろな そおゆう世代向けのUIというか操作に変えてかなきゃ
業務も滞ること夥しく成ってくんだろな
Excelの売り方もおかしくなってくし そろそろ潮時かもな
もちろん裏方さんにとってはキーボード必須だろうけど、使う側、数値入れる側にとっちゃあ
タッチじゃないとダメ って時代に突入してんだろな いやはや
Excelとか、むしろ面倒なんだろな そおゆう世代向けのUIというか操作に変えてかなきゃ
業務も滞ること夥しく成ってくんだろな
Excelの売り方もおかしくなってくし そろそろ潮時かもな
もちろん裏方さんにとってはキーボード必須だろうけど、使う側、数値入れる側にとっちゃあ
タッチじゃないとダメ って時代に突入してんだろな いやはや
979デフォルトの名無しさん (ワッチョイ 2e93-lboT)
2017/11/06(月) 00:12:10.27ID:5pWAtZ9g0980デフォルトの名無しさん (ワッチョイ 42e7-lboT)
2017/11/06(月) 22:53:26.80ID:OpNgvhxu0981デフォルトの名無しさん (ワッチョイ 06e9-TOoe)
2017/11/06(月) 23:22:43.53ID:QEizFbjJ0 >>974
俺の環境が悪いのか、以下のようなプルダウンが四角にしか見えない
>左のボックスで部署を選んだら右のボックスに該当部署の人のリストが出て、その右に年齢を出したいです。
3つ要素があるように思えるけど、実際はどういう風に実装したいの?ペイントか何かでいいのでイメージ画像を作って欲しい
俺の環境が悪いのか、以下のようなプルダウンが四角にしか見えない
>左のボックスで部署を選んだら右のボックスに該当部署の人のリストが出て、その右に年齢を出したいです。
3つ要素があるように思えるけど、実際はどういう風に実装したいの?ペイントか何かでいいのでイメージ画像を作って欲しい
982デフォルトの名無しさん (アウアウカー Sa69-s7pS)
2017/11/07(火) 04:32:19.79ID:jJ/vojE+a983デフォルトの名無しさん (ガックシ 0626-SaAB)
2017/11/07(火) 09:39:24.82ID:Hcp28Y5z6 bomなしのutf-8 csv に出力するコードでbom飛ばすときのposition = 3がパラメータが間違っていますとか言われるんやけどなんでか教えてください!
984デフォルトの名無しさん (スッップ Sd62-3K0w)
2017/11/07(火) 10:04:40.57ID:bPltWwMcd >>983
出力するとき、最初からposition=3ってするの?
出力するとき、最初からposition=3ってするの?
985デフォルトの名無しさん (ガックシ 0626-SaAB)
2017/11/07(火) 10:07:49.90ID:Hcp28Y5z6986デフォルトの名無しさん (ワッチョイ 469f-AOVe)
2017/11/07(火) 11:14:50.45ID:yuq33prU0 Adodb.Streamの話だろ。
ちゃんとキーワード入れろや。
ちゃんとキーワード入れろや。
987デフォルトの名無しさん (スッップ Sd62-3K0w)
2017/11/07(火) 11:45:09.30ID:bPltWwMcd >>985
まだ書き込んでなくね?
まだ書き込んでなくね?
988デフォルトの名無しさん (バットンキン MM92-0Du5)
2017/11/07(火) 12:02:33.38ID:R8Pyf/inM989デフォルトの名無しさん (バットンキン MM92-0Du5)
2017/11/07(火) 12:04:47.76ID:R8Pyf/inM あ
空っぽオブジェクトつくって
データだけコピーね(勿論三バイト捨てて)
空っぽオブジェクトつくって
データだけコピーね(勿論三バイト捨てて)
990デフォルトの名無しさん (ブーイモ MM6d-HQi/)
2017/11/07(火) 12:10:48.56ID:HIMFSvpjM excel vbaでword文書を印刷したいんだけど
「セクション1の余白が印刷可能なページ範囲の外〜」
っていうアラートが出てしまう
disalertでも出ちゃうんだけど良い方法ないかな?
「セクション1の余白が印刷可能なページ範囲の外〜」
っていうアラートが出てしまう
disalertでも出ちゃうんだけど良い方法ないかな?
991デフォルトの名無しさん (ワッチョイ 898c-7T4N)
2017/11/07(火) 17:59:00.13ID:BYmnpPo+0 余白を変更してみたらどうかな?
992デフォルトの名無しさん (ブーイモ MM62-HQi/)
2017/11/07(火) 18:04:03.30ID:XAakWZtoM993デフォルトの名無しさん (ワッチョイ c21a-7T4N)
2017/11/07(火) 21:57:50.56ID:uQ1ioh0V0 csvファイルをエクセルで開いて、xlsxで保管した場合、このファイルを開いてシート操作やセル操作するのは、通常のエクセルファイルとして可能ですか?
994デフォルトの名無しさん (ワッチョイ 4960-hhgm)
2017/11/07(火) 22:04:04.44ID:XsevGCV00 >>993
可能です
可能です
995デフォルトの名無しさん (ワッチョイ 82a4-Y3po)
2017/11/07(火) 22:20:04.16ID:p6FYpT8v0 >>993
シート操作やセル操作をアドインにすればxlsxでも可能です。
つうか、なんでデータベースの出力形式やデータ交換フォーマットってCSVが主なんだろう?
どんなポンコツDBでもXLS出力ぐらいは付いていると思うんだが「データよろしく」
と言うと「じゃあCSVで」と大抵は返される。CSVの意味わかってのかよぉーと叫びたくなるぜ。だって、数字を1000の位でカンマ区切り
とかヨユーでしてやがるからw
「カンマ・セパレーテッド・バリュー」って意味わかんねえのかよこのハゲーっと心の中で絶叫してます。
シート操作やセル操作をアドインにすればxlsxでも可能です。
つうか、なんでデータベースの出力形式やデータ交換フォーマットってCSVが主なんだろう?
どんなポンコツDBでもXLS出力ぐらいは付いていると思うんだが「データよろしく」
と言うと「じゃあCSVで」と大抵は返される。CSVの意味わかってのかよぉーと叫びたくなるぜ。だって、数字を1000の位でカンマ区切り
とかヨユーでしてやがるからw
「カンマ・セパレーテッド・バリュー」って意味わかんねえのかよこのハゲーっと心の中で絶叫してます。
996デフォルトの名無しさん (ワッチョイ c21a-7T4N)
2017/11/07(火) 22:31:27.81ID:uQ1ioh0V0997デフォルトの名無しさん (ワッチョイ c21e-7T4N)
2017/11/07(火) 22:34:55.14ID:M9SKAXiA0 で、それのどこがVBAに関係するの?
998デフォルトの名無しさん (ワッチョイ 469f-r1EQ)
2017/11/07(火) 22:37:41.98ID:yuq33prU0999デフォルトの名無しさん (ワッチョイ 469f-r1EQ)
2017/11/07(火) 22:40:04.04ID:yuq33prU01000デフォルトの名無しさん (ワッチョイ c21a-7T4N)
2017/11/07(火) 22:49:27.70ID:uQ1ioh0V0 >>999 ただ単に VBAで別のブックへコピーしようとして、このファイルのRANGEの範囲を全然選んでくれなくて、
突きつめて行ったら、Sheet1を認識してくれなかったということに気づいて・・・。
突きつめて行ったら、Sheet1を認識してくれなかったということに気づいて・・・。
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 72日 10時間 9分 10秒
新しいスレッドを立ててください。
life time: 72日 10時間 9分 10秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 【映画】『クレヨンしんちゃん』 中国で公開延期 対日報復、エンタメに波及 [冬月記者★]
- そういや米倉涼子はどうなったんんや?
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 戦争は無くならないし殺人は起きるし女はレイプされるし子供は餓死するし
- ( -᷄ὢ-᷅ )💤
- 日経時間外、5万円割れ 垂直落下始まる [402859164]
- ( ´・ω・` )朝ですぞー
