Uchidas | News
| Family | Yasuo
| Michiko | Miho
| Yuuta | Ai
| あそぼーど
VBAワールドは、Excel VBAおよびVBAに関する情報交換や会議を行うための専用ボード(掲示板)です。
ご利用案内はこちらです。書き込みはここです。気軽に書き込んでください!!
はじめまして。まだまだVBA初心者のらんらんです。
早速ですが、エクセルからデータベース(アクセス)にアクセスする
マクロを書いているのですが、そのDBのパスが間違っていると実行時エラーになりますよね。で、それを“On
Error GoTo 〜”で処理したのですが、このステートメントって、エラーが起きなくても実行されてしまうじゃないですか。それで質問なんですが、
“もし実行時エラーが起きたら、On Error GoTo
〜に飛ぶ” というようなコードを書きたいのですが、どんなふうに書けば良いのでしょうか?
お分かりの方がいましたら、ご教示下さい。
らんらん <mfujii@sqc.co.jp>
東京, - Monday, March 29, 1999 at 15:50:20 (JST)
If オブジェクト Is Nothing Then オブジェクトが無いときの処理(実行終了、オブジェクトの作成など) Else オブジェクトに対する作業 EndIFと(私の場合は)しています。
ぽうさん こんにちは >吉田さんのケースでは常に拡張子付きの名前を使えば良いみたいですよ。 >WindowオブジェクトのCaptionプロパティも、特に変更していなければ >拡張子付きの名前を返しました。 >なので、基本的には、Caption を取得した場合も、Windows(...) に >指定する場合も、拡張子付きの名前のつもりでマクロを書いて >大丈夫のように思います。
BUMPER@江戸
BUMPER <ke-mochi@system.hitachi.co.jp>
江戸, - Tuesday, February 02, 1999 at 22:25:13 (JST)
ぼうさん、こんにちは。 芳坂さんでしたか。これはどうも。 >数年前ですが、O2にいたことがあるもので。 いつもお世話になっております。(笑) 奇遇ですね。これからもよろしく。 マクロ拝見しました。・・・使った事のないコマンドが多いな・・・(^^;; 使い方が片寄ってるかもしれない・・・ 調べて解析してみます。ありがとうございます。 >でも、それを調べて、処理を分ける必要も特にないかも。何かあるかな? ちょうどいいのが、吉田さんの例です。(吉田さん、ごめんなさい) 特に誰が使うかわからないときとかに、拡張子を付けたり付けなかったり。 今ちょうど、似たようなのを作っているので、使わせてもらおうかと思ってます。(^0^) では。
管理人様 犯人は私です。 どうやらどこかに<B>タグを置き忘れたらしく、以下の文が全て太字になってしまいました・・・ 決してわざとじゃありません!!(<H1>とかじゃなくてよかった) お手数ですが、その部分を消してくれませんか。お願いします。 ついでにこの書き込みも消してください。 皆さんもタグ使うときは気を付けましょう、って、私だけかもしれない・・・(^^;; 失礼しました。
BUMPER <ke-mochi@system.hitachi.co.jp>
江戸, - Monday, February 01, 1999 at 18:49:59 (JST)
前後で理解して。ねっ、ねっ。
江戸のBUMPERでした。
BUMPER <ke-mochi@system.hitachi.co.jp>
えど, - Monday, February 01, 1999 at 17:36:48 (JST)
ぼうさん、こんにちは レスどうも。 >それに、その人がどういう設定をしているのか、Excelで取得できるのかな? Excel VBA では見た記憶がないです。 Shell API にはあるかも。とりあえず、ファイルの表示名は SHGetFileInfo という API で取得できるので、適当なファイルで拡張子が付いているかどうか 調べてもわかると思います。 でも、それを調べて、処理を分ける必要も特にないかも。何かあるかな? ごめんなさい、APIわからないんですぅ。お勉強不足でして・・・(^^;;;;; でも何があるか見てみます。 >江戸 ということは、もしかしてMHとか? (あ、あそこは江戸じゃないか。)
あなたは一体どこの方?
今までメールアドレス書かなかったけど、私がいるのはまさしくMHビル。
(日立システムプラザ新川崎 確かに江戸じゃないけど)
どちら様でしょうか。
勘違いだったら、ごめんなさい・・・
BUMPER <ke-mochi@system.hitachi.co.jp>
江戸!!, - Monday, February 01, 1999 at 17:24:18 (JST)
>・・・なんで、エクスプローラなんだろう??
さ、さあ・・・(^^;)
>それに、その人がどういう設定をしているのか、Excelで取得できるのかな?
Excel VBA では見た記憶がないです。
Shell API にはあるかも。とりあえず、ファイルの表示名は SHGetFileInfo
という API で取得できるので、適当なファイルで拡張子が付いているかどうか
調べてもわかると思います。
でも、それを調べて、処理を分ける必要も特にないかも。何かあるかな?
>江戸
ということは、もしかしてMHとか?
(あ、あそこは江戸じゃないか。)
でわ。(^^)/
ぽう@くまうさ
- Monday, February 01, 1999 at 16:14:09 (JST)
ぼうさんへ >エクスプローラのメニューで[表示]-[オプション][表示] >[登録されているファイルの拡張子は表示しない]をオンにすると >Workbooks("Book1") でも動作しました。
Oh!
(感嘆の意)
なるほどね。うん、拡張子。そおか、そおか。
こんなとこにも影響するんだね!!
・・・なんで、エクスプローラなんだろう??
それに、その人がどういう設定をしているのか、Excelで取得できるのかな?
便乗ですが、わかったら教えてください。(^^;
BUMPER
江戸, - Monday, February 01, 1999 at 10:17:33 (JST)
こんな設定があったとは知りませんでした。 これで悩みはなくなりました。
ありがとうございました。
吉田
宮城県, - Saturday, January 30, 1999 at 14:25:41 (JST)
エクスプローラのメニューで[表示]-[オプション][表示]
[登録されているファイルの拡張子は表示しない]をオンにすると
Workbooks("Book1") でも動作しました。(Excel97初期版 Windows95)
でわ。(^^)/
ぽう
- Saturday, January 30, 1999 at 13:29:57 (JST)
Workbooks("統合マクロ").Activate
のところでエラーが起きました。
Windows("統合マクロ.Xls").Activate
Worksheets("マクロ").Range("ブック数") = b
と書き換えると上手くいきました。これで解決致しました。
ただ、パソコンによって読める場合と読めない場合があるのはまだ謎なんです。もしこれについて何か分かったらご意見ください。
BUMPERさんありがとうございました。
吉田
宮城県, - Saturday, January 30, 1999 at 09:47:21 (JST)
>確認したのですが名前は同じでした。
う〜む名前同じですか。
それでは
Workbooks("統合マクロ").Activate
Worksheets("マクロ").Activate
Range("ブック数").Activate
誰か助けて!!
を、実行してみてどこでエラーが起こるか、チェックしてみてください。
ところでこのブック、開いてますよね。
開いてないと当然の事ながら、エラーになります。
・・・これ以上は、どうもお手上げなので、
では。
BUMPER
ちきゅう, - Friday, January 29, 1999 at 16:09:55 (JST)
今日さらに違うパソコンでエラーが起きてしまいました。同じプログラムなににどうしてでしょうね。コントロールパネルの設定がちがうのでしょうか?
吉田
宮城県, - Friday, January 29, 1999 at 13:20:43 (JST)
つい気合いが入ってしまって・・・
BUMPERでした。
BUMPER
地球, - Friday, January 29, 1999 at 13:01:31 (JST)
ここタグ使えたんですね〜。失礼しました。
こんにちは、辻 幸宏さん。BUMPERです。
>FOR〜NEXT等のループを使って、セルに連続して値を代入するときに、 >縦の列は数字なので簡単なのですが、横列はアルファベットなので、非常に困ってしまいます。 >特に、代入したい値が100とかあると大変です。 今までは、気合でマクロを1つ1つ書くか、 >ifを使ってのZ次はAAとかってやっていたんですけど、なんか良い方法ありませんか?
そこで、ちょっと作ってみました。
Option Explicit
Option Base 1
Sub al_count()
Dim al As String, al_arr(26) As String
Dim tmp As String, cell_value As String, al_1 As String
Dim I As Integer, max As Integer, Y As Integer, Z As Integer
al = "ABCDEFGHIJKLMNOPQRTUVWXYZ"
For I = 1 To 26
al_arr(I) = Mid(al, I, 1)
Next I
max = 100
Y = 1
al_1 = ""
For I = 1 To max
If Y >= 26 Then
Z = Z + 1
al_1 = al_arr(Z)
Y = 1
End If
cell_value = al_1 & al_arr(Y)
ActiveCell.Value = cell_value
Y = Y + 1
ActiveCell.Offset(0, 1).Activate
Next
End Sub
これを実行すると、ABC・・・AAABAC・・と100個のセルに、横に表示されます。
最初のループは、A−Zまで配列に入れているところ。ひとつひとつ入れるの面倒だし。
で、maxには入力する文字数。al_1 & al_arr(Y)のところで、2文字の文字列を作っている。al_1の初期値は""。
だから、最初は一文字。これが、ループの26回周期でA、B、C・・と変わっていく。
あとは・・・解析してみて(^^;;
他にもやり方あるかもしれないけど、とりえず。
では
BUMPER
地球, - Friday, January 29, 1999 at 12:54:39
(JST)
こんにちは吉田さん、思いっきり久し振りに書きます。BUMPERと申します。
>エラーは下記の部分で起こります。 Workbooks("統合マクロ").Worksheets("マクロ").Range("ブック数").Value
= b >エラー内容は「インデックスが有効範囲にありません。」です。
どなたか原因がお分かりの方宜しくお願い致します。
これは、ブック、シート、セル何でも、この名前のものがないときに出るエラーです。
私もよく(たまにかな?)出ます。(^^;;
まず考えられるのは、ブック、シート、セルの名前が変わってしまって、エラーが出るということ。
これ以外は、まず考えられません。(と思う)
特にセルなんて、すぐに名前が変わったかどうかは分からないので、これもチェックしてください。
もし名前があっていて、このエラーが出るようならば・・またここにかいてください。
では。
BUMPER
地球, - Thursday, January 28, 1999 at 17:48:04
(JST)
どーも、はじめまして。 VBAを始めて1週間の超ビギナーな私ですが、一つ大問題(?)にぶつかっています。 FOR〜NEXT等のループを使って、セルに連続して値を代入するときに、 縦の列は数字なので簡単なのですが、横列はアルファベットなので、非常に困ってしまいます。特に、代入したい値が100とかあると大変です。 今までは、気合でマクロを1つ1つ書くか、ifを使ってのZ次はAAとかってやっていたんですけど、なんか良い方法ありませんか? 非力な私に、どうぞお力をお貸し下さい。
辻 幸宏 <tuji@cmspios.cms.mei.co.jp>
岐阜県, - Thursday, January 28, 1999 at 13:47:22
(JST)
はじめまして,今日は!! EXCEL97を起動しっぱなしで,1時間に一回マクロを起動したいんですが,何かいい方法がありましたら教えてください. 一ヶ月以上動かしたいんですけど・・・. お願いします.
ユウコ <yuko@habilis.co.jp>
東京都, - Wednesday, January 27, 1999 at
14:54:04 (JST)
はじめまして吉田と申します。ExcelでVBAを使用して2ヶ月ほどの初心者です。VBAで、あるプログラムを作成して正常に実行されたのですが、社内の別のパソコンではある記述でエラーが起こってしまいます。その一台のパソコンだけなので何かの設定が違うのではないかと思うのですが、原因が分かりません。エラーは下記の部分で起こります。
Workbooks("統合マクロ").Worksheets("マクロ").Range("ブック数").Value
= b エラー内容は「インデックスが有効範囲にありません。」です。
どなたか原因がお分かりの方宜しくお願い致します。
吉田 <ynao@f.ndk-j.co.jp>
宮城県, - Tuesday, January 26, 1999 at 15:30:47
(JST)
データを抽出するとき罫線も抽出されてしまいます値だけ抽出できないか教えて下さい
松岡進 <matu@eva.hi-ho.ne.jp>
富山県, - Sunday, January 17, 1999 at 00:43:19
(JST)
ACCESS97で帳票を作成中です。あるプログラムでフッターを1ページ目だけに出力させるというものがありまして、プロパティの設定がわからなくて困っております。教えてください。
Holly <horihori@jmail.co.jp>
山口県, - Thursday, January 14, 1999 at 17:57:38
(JST)