Excel VBA 質問スレ Part33
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/17(木) 22:04:40.64___
___ /____ヽ ____
/____\ | |´・ω・`| | /___ヽ
.l |´・ω・`| ニX二 . ̄ ̄ ̄ 二X二 |´・ω・`| l 俺たちに任せろ
!、 ̄ ̄ ̄ ヽ | | /  ̄ ̄ ̄/
ヽ_/ヽ、 ヽ__) \__/\_/. /_/ ノヽ_/
 ̄  ̄ ̄
前スレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151717/
このスレはコード書き込みOKです。
作成依頼もOKですが、作成依頼限定ではありません。
コードが嫌な人はこちらのスレへ
http://toro.2ch.net/test/read.cgi/tech/1381151995/l50
0693デフォルトの名無しさん
2014/06/12(木) 21:35:50.99ID:paP2EzQvできないくせに質問者に偉そうな態度とってるやつを嘲笑ってるだけですよw
僕はそうはなりたくないなあ。反面教師にさせていただきますw
0694デフォルトの名無しさん
2014/06/12(木) 21:37:43.46ID:leNeVPHtババアでも40くらいまでで可愛ければコード組んじゃうかもしれない。
意外にストライクゾーン広いんだ。
0695デフォルトの名無しさん
2014/06/12(木) 21:38:15.19ID:paP2EzQv問題ないと思います。質問するのは自由ですし、僕もできれば協力したいですけど、
実力が及ばず…。
0696デフォルトの名無しさん
2014/06/12(木) 21:38:20.26ID:A1ckDykJもうなってるから心配すんな
0697デフォルトの名無しさん
2014/06/12(木) 21:39:25.92ID:JgOg9e9Bお前この程度で本当に出来ない奴いると思うの?自分が出来ないからそんな事言っちゃうんだろ
0698デフォルトの名無しさん
2014/06/12(木) 21:42:27.75ID:paP2EzQvできるんだったらとっくに作ってると思いますけど。
できると口で言うだけなら僕にもできますよw
でもそういう虚勢を張るのって人としてどうかと思うから、正直にできないって僕は言います。
できるんですね?
0699デフォルトの名無しさん
2014/06/12(木) 21:45:29.20ID:FQgQ1zJa0700デフォルトの名無しさん
2014/06/12(木) 21:56:20.85ID:A1ckDykJ後出しで「実際に解決してください」と言われても自分でやれとしか
0701デフォルトの名無しさん
2014/06/12(木) 21:59:13.12ID:JgOg9e9B悪いが煽りは逆効果だ
これで答えたら他の奴がマネするからな
0702デフォルトの名無しさん
2014/06/12(木) 21:59:30.00ID:paP2EzQvあははw
0703デフォルトの名無しさん
2014/06/12(木) 22:01:34.14ID:paP2EzQvできないんですね。それじゃあ僕と同じですねw
正直にできないって言える分僕の方が大人です。
0704デフォルトの名無しさん
2014/06/12(木) 22:10:30.70ID:yqko6NwnB.xlsの値を参照した後B.xlsを閉じる際に
If Workbooks.Count = 2 Then ActiveWorkbook.Close
これで閉じてるのですが、こっちが普通ってやり方ありませんか?
上記のだとすぐ問題が起きそうで
0705デフォルトの名無しさん
2014/06/12(木) 22:12:05.33ID:JGtl8L6Jhttp://light.dotup.org/uploda/light.dotup.org28231.png
↑
データはこのような画像の通りにシート3つに分かれて存在しています。
どのようなマクロを組めばいいかお教え願いたいです。
ジャンルごとに変数というものを持たないといけないのでしょうか?
実際は母が使うので、ボタン一つで出来るのだとありがたいのですが・・・
大変面倒な質問ですが、お願いします
0706デフォルトの名無しさん
2014/06/12(木) 22:14:44.17ID:JGtl8L6Jこれどうやるんですか?実際に教えてください
0707デフォルトの名無しさん
2014/06/12(木) 22:23:06.96ID:FQgQ1zJathrow SQL
} Catch Values as RecordSet {
RecordSet.extract(Other.Shit)
}
0708デフォルトの名無しさん
2014/06/12(木) 22:24:27.04ID:JGtl8L6Jこのスレにまともにコード描ける人が居ないってのは良く分かりました
なんかわざと荒らしをして煽って邪魔する人も居るし
答え出るまでこのスレ居ますね
0709デフォルトの名無しさん
2014/06/12(木) 22:26:34.93ID:JGtl8L6Jそれが普通です
0710デフォルトの名無しさん
2014/06/12(木) 22:26:53.60ID:A1ckDykJB.xlsを開いた直後にset BookB as ActiveWorkbook みたいな感じで
B.xlsを捕捉しておいて処理後にBookBをCloseするか
エクセルの仕様上、同名のファイルは開けないのでB.xlsのファイル名を保持しておいて
処理後に開いてるブックの中からB.xlsを見つけて閉じるか
0711デフォルトの名無しさん
2014/06/12(木) 22:27:54.98ID:A1ckDykJ0712デフォルトの名無しさん
2014/06/12(木) 22:29:02.22ID:JGtl8L6J日別の購入データの通し番号から、マスターを参照してジャンル分けして、ジャンルごとの合計金額を出したいです。
http://light.dotup.org/uploda/light.dotup.org28231.png
↑
データはこのような画像の通りにシート3つに分かれて存在しています。
どのようなマクロを組めばいいかお教え願いたいです。
ジャンルごとに変数というものを持たないといけないのでしょうか?
実際は母が使うので、ボタン一つで出来るのだとありがたいのですが・・・
大変面倒な質問ですが、お願いします
コードを教えてくださいお願いします
正確なコードが出るまで居座ります
嘘の答えも言い続けます
0713デフォルトの名無しさん
2014/06/12(木) 22:33:24.33ID:JgOg9e9Bお前は黙っとけw>>710が普通
0714デフォルトの名無しさん
2014/06/12(木) 22:35:53.98ID:JGtl8L6J私が馬鹿な人間なのは分かっているし、これが自分のためのものなら諦めるけど
本当に困ってるんですお願いです
0715704
2014/06/12(木) 22:49:20.79ID:yqko6Nwn0716デフォルトの名無しさん
2014/06/12(木) 22:50:33.31ID:JGtl8L6J私の質問のコード教えてくれませんかお願いします
本当に困ってるんです助けると思ってお願いします
0717デフォルトの名無しさん
2014/06/12(木) 22:54:21.41ID:FQgQ1zJa0718デフォルトの名無しさん
2014/06/12(木) 22:58:24.36ID:leNeVPHtSub TotalAmount()
Dim dbCon As ADODB.Connection
Dim strsql As String
Dim dbRes As ADODB.Recordset
Dim Col As Long
Dim Row As Long
Set dbCon = New ADODB.Connection
With dbCon
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties") = "Excel 8.0"
.Open ThisWorkbook.FullName
End With
strsql = "SELECT B.ジャンル ,SUM(A.価格) AS 合計金額 FROM [Sheet1$] A INNER JOIN [Sheet2$] B ON A.通し番号 = B.通し番号 GROUP BY B.ジャンル"
Set dbRes = New ADODB.Recordset
dbRes.CursorLocation = adUseClient
dbRes.Open strsql, dbCon, adOpenDynamic, adLockOptimistic, adCmdText
つづく
0719デフォルトの名無しさん
2014/06/12(木) 23:00:50.52ID:leNeVPHtWith Worksheets("sheet3")
.Cells.ClearContents
For Col = 1 To dbRes.Fields.Count
.Cells(1, Col).Value = dbRes.Fields(Col - 1).Name
Next Col
Row = 1
Do Until dbRes.EOF
Row = Row + 1
For Col = 1 To dbRes.Fields.Count
.Cells(Row, Col).Value = dbRes.Fields(Col - 1).Value
Next Col
dbRes.MoveNext
Loop
End With
dbRes.Close: Set dbRes = Nothing
dbCon.Close: Set dbCon = Nothing
End Sub
こんな感じ。
シート1,2に設定しとけばシート3に書き出すよ。
ただし、Microsoft ActiveX Data Objects 2.8 Libraryの参照設定をきっとくこと。
0720デフォルトの名無しさん
2014/06/12(木) 23:02:10.06ID:JgOg9e9BVLOOKUPとSUMIFで出来るからまじで
1.ジャンル分けしたいデータ4列目にジャンル列追加
2.ジャンル列にVLOOKUPでジャンルを設定
3.合計金額列にSUMIFでジャンル毎の集計値を設定
0721デフォルトの名無しさん
2014/06/12(木) 23:07:09.27ID:JGtl8L6Jユーザー定義型は定義されていませんってでます
> Microsoft ActiveX Data Objects 2.8 Libraryの参照設定をきっとくこと
これはどうしたらできます?
調べても出てきません
だまされてますか?
0722デフォルトの名無しさん
2014/06/12(木) 23:10:35.81ID:leNeVPHtおんぶにだっこだなぁ。
VBEでツール→参照設定でそれを選んでOK押せば参照してくれるから。
0723デフォルトの名無しさん
2014/06/12(木) 23:13:09.28ID:JGtl8L6Jそれにはチェック入ってませんでした
調べたらDAOなんたらってのにチェック入れたらいけるって書いてましたが
チェックいれたらDLLエラーってでました。
もっと簡単に出来る方法ないんでしょうか
もうしにたくなってきました
0724デフォルトの名無しさん
2014/06/12(木) 23:19:00.19ID:leNeVPHtいやだからチェック入れないと。
今回使っているのはDAOじゃなくてADOだから。
0725デフォルトの名無しさん
2014/06/12(木) 23:32:14.62ID:leNeVPHtとりあえずID:paP2EzQvは死んでくれないかな。
0726デフォルトの名無しさん
2014/06/12(木) 23:57:38.17ID:DSeU12c2A.xlsにあるマクロでB.xlsを開くんだったら
開いてからアクティブなブックをオブジェクト変数にセットするより
開くときにオブジェクト変数に直接突っ込んだ方が早くない?
Dim bookB As Workbook
Set bookB = Workbooks.Open(B.xls)
とかやっとけばいっぺんで終わる
0727デフォルトの名無しさん
2014/06/13(金) 00:05:35.25ID:3uExzG0Vうん。そう出来るんなら
外部からアクティブなブック変えられても安全だね。
0728デフォルトの名無しさん
2014/06/13(金) 01:02:52.06ID:mgi5uvuRたいていその時は他のいくつかのマクロにまで同様の被害を出し、困っています。
今のところは、作業ブックとマクロブックは必ず分けて、さらにメモ帳でマクロのプログラムを保存しておいて、もし壊れたらマクロブックは捨てて新しく作り直して対処しています。
ただ、作業ブックで直接マクロを呼び出せれば非常に便利なのでそれを検討しています。
質問は二つです
1)壊れる理由はなんなのでしょうか?
2)普通の作業ブックにマクロを用意すると、上記のように壊れたとき作業ブックごと壊れそうで怖いです。
壊れると思うとためらってしまいます。何か良い対処法はありませんか?
0729デフォルトの名無しさん
2014/06/13(金) 02:05:30.86ID:/KfsTB1Cマクロが壊れるってどういうこと?VBAのソースが書き換わってるの?
別のパソコンでは試した?
0730デフォルトの名無しさん
2014/06/13(金) 02:25:20.51ID:QETwEf+A自分自身マクロが壊れた経験は無いし、知人からも聞いたこと無いけど、
そういう理由ではなくマクロのブックとデータのブックは大抵別にしてるよ。
俺の仕事だと大抵の場合年度ごとにデータは変わるから、
マクロ入りのブックを毎年更新するのは面倒くさい。
マクロを別にしとけばデータブックだけ変えて作業できる。
もちろん、年度の指定はマクロで出来るように作ってある。
まぁ、一回コッキリの作業だったら
マクロ入りのブックにデータも入れ込むのもアリだと思うけど、
そうでなければ別体にしといたほうが作業性は上がるよ。
0731673
2014/06/13(金) 02:25:26.50ID:C2eUWGFh確かに開いているファイルのサイズは小さくないし(ファイル1が8Mバイト、ファイル2が44Mバイト)、
PCもそれほど速いわけでもないけど、やっぱリソース不足なんかな。
Variant型のグローバル変数を使ってるとかも関係しているんだろうか?
リソース不足以外に、ファイルを複数開いている時にマクロが遅い原因はありますか?
0732デフォルトの名無しさん
2014/06/13(金) 04:55:30.41ID:hNNRznvy間違ったデータを処理しているのかも?
0除算、オーバーフロー、型変換の失敗など
またエラーが出たときに、すべてのデータを破棄せず、
中途半端な状態で、ファイルなどに書き込むと、
次回そのファイルを読み込んだら、またエラーが起こる
ログファイルを作って、すべてのデータのIn/Out、
つまり、データを読み込んだ所と、演算後を記録して、
エラーが起こる瞬間をとらえる
0733デフォルトの名無しさん
2014/06/13(金) 07:26:02.30ID:kHczDXdC動作が停止するのでどうなっているかはわかりません
うちの周りではわりとよくあることのようですし、私自身1年で2回壊れています
別のpcでは試していません。windows7,8、office2010で起こります
>>730
別にしておくのは良いことも多いですがボタンのようなものがあればなおいいなとおもいまして。
>>732
後だしで申し訳ないのですが、やらせているのはファイルを開く閉じるコピーペーストのみですので計算をやらせたりはしていません
0734デフォルトの名無しさん
2014/06/13(金) 08:17:22.92ID:LRXbjNk50735デフォルトの名無しさん
2014/06/13(金) 20:38:36.57ID:3uExzG0V以前ファイルサーバーでフォルダ階層深いところに、
EXCELのファイル置いて開いたら壊れることがよくあったよ。
なんかVBエディタでオブジェクトブラウザで見ると、シートの部分が青くなったりしてた。
0736デフォルトの名無しさん
2014/06/14(土) 14:18:26.82ID:Je/qq0DA俺の体感では
システム側の問題でマクロ付きのエクセルファイルが壊れるのは、それ以外のファイルが壊れるのと差はない
マクロでおかしなことやってるか、マクロ関係なくファイル壊れるような環境かのどっちかが疑わしい
>>731
リソースの競合
>>735
パス長の問題で読み書きできないんじゃないのか?
0737デフォルトの名無しさん
2014/06/14(土) 15:36:29.51ID:UnUM1hDEこちらで質問したのですが、
こちらのスレのほうがよかったのですかね?
708です
0738デフォルトの名無しさん
2014/06/14(土) 21:48:17.67ID:ez0d87W9> マクロでおかしなことやってるか、マクロ関係なくファイル壊れるような環境かのどっちかが疑わしい
まじにこんな事言う人始めて見たw
0739デフォルトの名無しさん
2014/06/15(日) 09:58:44.35ID:2EJJf8nrB列に値が入っていない所から同じ処理をさせるようにするにはどうすればよいのでしょうか?
For wRow = 1 To Range("A" & Rows.Count).End(xlUp).Row
・・・
・・
・
Next
A B
1 x x
2 x x
3 x x
4 x ←この列から処理を始めたい
5 x
0740デフォルトの名無しさん
2014/06/15(日) 10:14:00.30ID:QD8jtgNHDim FirstB As Long
FirstB = Range("B1").End(xlDown).Offset(1).Row
For wRow = FirstB …
0741デフォルトの名無しさん
2014/06/15(日) 11:40:26.86ID:2EJJf8nr早々のレスありがとうございます。
上手くいきました!作業効率があがり助かりました!
0742デフォルトの名無しさん
2014/06/15(日) 21:21:01.30ID:2EJJf8nr度々すみません
この処理を仮に6行目からスタートさせるにはどうすればいいのですか?
0743デフォルトの名無しさん
2014/06/15(日) 21:24:01.33ID:QD8jtgNHB1をB6に変えればいいよ。
0744デフォルトの名無しさん
2014/06/15(日) 22:09:31.20ID:2EJJf8nrありがとうございます。初歩的な質問ですみませんでした
0745デフォルトの名無しさん
2014/06/17(火) 03:05:20.46ID:1LOl6xrI候補に出てきません。エクセル2002の仕様ですか?
0746デフォルトの名無しさん
2014/06/17(火) 03:10:24.91ID:1LOl6xrI[_END]の[]で括るのは、どういう意味ですか?
Enum Area
West = 0
East
[_END] = -1
End Enum
0747デフォルトの名無しさん
2014/06/17(火) 03:59:06.43ID:jPdOoXg3セル範囲の名前の定義
0748デフォルトの名無しさん
2014/06/17(火) 10:25:10.56ID:X2vvvV0A0749デフォルトの名無しさん
2014/06/17(火) 10:25:54.01ID:X2vvvV0A0750デフォルトの名無しさん
2014/06/17(火) 10:26:46.03ID:X2vvvV0A0751デフォルトの名無しさん
2014/06/17(火) 10:36:51.26ID:l2MahTzn通常指定できない変数名を使うときに[]でくくると言うVBAのルール
ExcelVBAとして>>747の使い方する時もあるけど、>>746のはそれじゃない
ちなみに_で始めた列挙名は非表示メンバになって、通常の入力補助とかに出てこない
オブジェクトブラウザで 非表示のメンバを表示 にして確認できる
0752デフォルトの名無しさん
2014/06/17(火) 10:41:48.38ID:Yj2sqA8/クラス名そのものではなく
クラス名を型として宣言した変数の後にドットを入力しましょう
それでもダメなら、どこかにコンパイルエラーがあると思うので
メニューの デバッグ > VBAProjectのコンパイル で確認しましょう
>>747
コードエリアで使う場合と、宣言エリアの列挙型で使う場合とでは意味が違うよ
>>746
列挙型では、_ で始まる名前を [ ] で囲むと、入力候補に表示されないメンバを定義できる
これは、_で始まるメンバは非表示メンバになるのと、[ ] で囲むと通常使えない名前を定義できるのとの合わせ技です
>>748
オブジェクト変数をオブジェクト変数に代入するとエラーになります
オブジェクト変数をオブジェクト変数に参照代入すると、参照代入先のオブジェクト変数でも
元のオブジェクト変数が参照しているオブジェクトを参照できるようになります
>>749
可変要素数の配列変数への代入では、元の配列変数のコピーが作成されます
固定要素数の配列変数への代入では、要素数が同じでもエラーになります
0753デフォルトの名無しさん
2014/06/17(火) 12:09:43.40ID:l2MahTznコードエリアとか宣言エリアとか
参照代入とか
微妙な俺様用語使うのやめれ
0755デフォルトの名無しさん
2014/06/17(火) 17:05:41.46ID:HVt3rccc0756デフォルトの名無しさん
2014/06/17(火) 18:58:25.63ID:Oy7I6t4Iこんな方法はどうだろうか?
3x1 の配列でTranspos問題でるなら
ReDim Preserve TestArray(1 To 3, 1 To cnt + 1)
として 3x(cnt+1) の配列でReDimして Transposする
んで読み込む時は 配列の1次元目の最終データ
つまり
TestArray(cnt+1, 1)
TestArray(cnt+1, 2)
TestArray(cnt+1, 3)
は無効データとして無視する
0757デフォルトの名無しさん
2014/06/17(火) 21:32:49.72ID:l2MahTznTransposeの仕様っぽいから、1次元の配列になるのはどうしようもないんじゃない
そもそもWorksheetFunction.Transpose使う必然性がわからん
俺なら配列そのもの変換せずに、読む方で行列入れ替えて読むが
どうしても配列変換したければ自分で配列変換する関数作る
0758デフォルトの名無しさん
2014/06/17(火) 23:57:50.59ID:SruwTgIk勝手にスクロールロックされるという怪現象に長年悩まされてます
これまでは発生頻度が低いから気にしてなかったのですが、
最近バーコードリーダーを接続したPCで頻繁に発生するようになりました
あまりにうざいので、VBAで対抗しようと考えて
まずは Call Application.OnKey("{SCROLLLOCK}", "") としてみたのですがダメでした
何か良い方法ないでしょうか
SCROLLLOCKのON/OFFを判定して、
ONならOFFにする方法なんて無いでしょうか
0759デフォルトの名無しさん
2014/06/18(水) 00:03:23.37ID:EzL2wKEq0760デフォルトの名無しさん
2014/06/18(水) 00:05:05.34ID:0b/GVhNiどうもありがとうございました!
0761デフォルトの名無しさん
2014/06/18(水) 00:47:57.54ID:+FU8wlvZ「勝手にスクロールロック」でぐぐったらこんなん出た。
マウスのチルトホイールが悪さしてたらしい。
http://orbit.cocolog-nifty.com/supportdiary/2009/08/post-2f3e.html
0762662
2014/06/18(水) 07:46:00.29ID:SiDz/mVATransposeの仕様であるなら仕方ないですね。
今はcnt=1かどうかの場合分けで対応しています。
>>756
提案ありがとうございます。なるほど、そのようにしてTransposeで1次元となることを避けることができるのですね。
参考になります。この方法ならコードの修正部分も少なさそうです。
>>757
仰るようにTransposeを使う必然性はありません。
今の知識がありゼロから作り始めるならTransposeは使わずに作ると思います。
昔の名残を活用するために必然性のないTransposeを使う羽目になってしまいました。
時間ができたら全部書き直したい気持ちはあるのですが。。。
0763デフォルトの名無しさん
2014/06/18(水) 08:21:57.79ID:ahd+98VX0764デフォルトの名無しさん
2014/06/18(水) 10:15:27.45ID:fAjoLlg4>>761
PCもキーボードもマウス何回か換えてるし
EXCELも2000から2013にかけて何回か乗り換えてるから
違う原因と思うんですが
0765761
2014/06/18(水) 10:36:30.12ID:+FU8wlvZんじゃこっちはどう?
http://blog.livedoor.jp/sigh_too/archives/51273110.html
ctrl + c と間違えて Fn + c を押しちゃってた人の話
0766デフォルトの名無しさん
2014/06/18(水) 10:39:53.19ID:+FU8wlvZFn + K とかの場合もあるって事で機種によって違うみたいね。
0767デフォルトの名無しさん
2014/06/18(水) 12:31:44.62ID:k5Dh+D1Tここでもそんな相談は見たことないし、検索でもほとんど出てこないので、
何か特別なソフトが原因じゃないのかなあ
一般人が使わないようなアプリが入っているとか、変なマクロが走っているとか
そのパソコンはあなた専用?それとも共用?
0768デフォルトの名無しさん
2014/06/18(水) 12:35:01.13ID:k5Dh+D1Tいつもまったく気付かない?
一度でもスクロールロックされる瞬間を目撃したことはある?
その時、パソコンは使用中か放置中だったか
0769デフォルトの名無しさん
2014/06/18(水) 17:42:06.75ID:fAjoLlg4http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13105571298
http://okwave.jp/qa/q6865033.html
すばやく連続入力して一呼吸おいた後に、次の入力を始めようとして
あれ?と気付くことが多いような気がします
入力中に突然ロックされたことはないと思います
PCは基本的に自分専用です。
発生頻度は1〜2ヶ月に1回くらいでしょうか
バーコードリーダーの場合は接続して間もないですが、
1日に1〜2回は出ていそうです。
PS2接続です。
0770デフォルトの名無しさん
2014/06/18(水) 19:27:12.46ID:x3SERBGR金額計算なんですが、例えばM列に1を入れるとK+Lの合計を0.5倍にして(何も入れないとK+Lの合計)N列に表示するっていう文を作りたいんですが、色々調べてもわかりません
よろしければ教えて下さい!
0771デフォルトの名無しさん
2014/06/18(水) 19:46:58.78ID:EzL2wKEqDim i As Integer
Dim lastrow As Integer
For i = 1 To lastrow
If Cells(i, 13).Value = 1 Then
Cells(i, 14) = (Cells(i, 11) + Cells(i, 12)) * 0.5
Else
Cells(i, 14) = Cells(i, 11) + Cells(i, 12)
End If
Next
0772デフォルトの名無しさん
2014/06/18(水) 19:48:50.42ID:/mM+tAme重複するものは代表1つだけにして
その要素数の数だけ文字列型の配列変数を返り値とする関数を作りたいです。
コードをお願いします。
0773デフォルトの名無しさん
2014/06/18(水) 20:01:04.29ID:ZRwyQinVSelection.Uniquify
0774デフォルトの名無しさん
2014/06/18(水) 20:38:45.97ID:/mM+tAmeこら。そんなのないぞ。
0775デフォルトの名無しさん
2014/06/18(水) 21:22:12.13ID:+FU8wlvZ同じ質問を繰り返している人がいるように思えるのは俺だけ?
Dictionaryとか自前で配列変数作るとかやりようはそれなりにあると思うけど。
0776デフォルトの名無しさん
2014/06/18(水) 23:31:09.78ID:IQKBzqn40777デフォルトの名無しさん
2014/06/19(木) 06:51:10.55ID:Wcq0Jv47へい。
https://friendpaste.com/7AESsKfoWV1tNVQmlhrMgY
0778デフォルトの名無しさん
2014/06/19(木) 07:19:42.28ID:NPfluINM「関数が必要」とか「作って欲しい」って書け
0779デフォルトの名無しさん
2014/06/19(木) 11:17:24.00ID:Oioydr8fこら、VBAで使えないぞ。
本当にVBAの言語用なのか?
0780デフォルトの名無しさん
2014/06/19(木) 11:33:56.90ID:YZPnLqDa停止もエラーも何もなく、ただ無反応
0781デフォルトの名無しさん
2014/06/19(木) 11:39:54.47ID:w+8gDH2bこれはすごい恩知らずwww
間違いなくVBAで使えるぞ。
0782デフォルトの名無しさん
2014/06/19(木) 11:52:02.14ID:w+8gDH2bコードが書いてないからそれだけではなんとも分からないですよ。
あと、使ってるエクセルとOSのバージョンも書いてないし。
とりあえずステップインで実行してみてはどうですか?
0783デフォルトの名無しさん
2014/06/19(木) 11:55:45.95ID:Oioydr8fこら、ウソ言うな。
選択してMainを実行したら「インデックスが有効範囲にないぞ」というエラーが出る。
0784デフォルトの名無しさん
2014/06/19(木) 12:09:33.27ID:w+8gDH2bためしに縦一列に文字だけ(数字は無視される)入れて、
その範囲を選択した状態でマクロ実行してみろよ
0785デフォルトの名無しさん
2014/06/19(木) 12:13:22.03ID:w+8gDH2bちょこっと手直しすると範囲が縦一列じゃなくて
数字も無視しないようになるけど
777さんに対してあまりにも無礼だからこれ以上は教えてやらない。
0786デフォルトの名無しさん
2014/06/19(木) 13:25:10.11ID:Oioydr8fそんなバグだらけじゃ使い物にならないじゃないか。
糞ボロ。ポンコツ。
0787デフォルトの名無しさん
2014/06/19(木) 14:00:13.35ID:w+8gDH2bだからあれはバグじゃなくて仕様
0788デフォルトの名無しさん
2014/06/19(木) 14:00:36.50ID:8jNSzAvz解散
0789デフォルトの名無しさん
2014/06/19(木) 14:26:30.45ID:z2Nts7ioすみませんなぜか再起動したら解決しました
0790デフォルトの名無しさん
2014/06/19(木) 21:26:30.92ID:B42MAC9KSub Test()
On Error Go To ErrorHandler
If hogeError Than
call EndProc
End If
call EndProc
ErrorHandler:
call EndProc
End Sub
Private Sub EndProc()
'インスタンスの破棄とかScreenUpdating =Trueとか
'プログラムの終了
End
End Sub
msdnとかだとEndステートメントはすぐに停止させる時だけ使えとかって書いてあるんだけど、この関数呼べば必ず綺麗に後処理できるから便利〜
と思ってたんだけどやっぱりダメなんすかね?
0791デフォルトの名無しさん
2014/06/19(木) 21:49:00.62ID:zV78lioGEnd使うとUnloadなしでフォームが閉じたりするから、綺麗に後処理できない
だから使うなって言われてる
0792デフォルトの名無しさん
2014/06/19(木) 22:42:28.51ID:B42MAC9Kあ〜なるほど、そっかformのイベントエラーとかでEnd飛ばしちゃうとUnloadとかされないのか
やっぱりエラーは個別にやんなきゃダメっすね、ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています