Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3282 / 13645 ツリー ←次へ | 前へ→

【63120】vbscriptでのAUTOFITの書き方 excel支持者 09/10/9(金) 17:30 質問[未読]
【63121】Re:vbscriptでのAUTOFITの書き方 yoshi 09/10/9(金) 18:22 回答[未読]
【63122】Re:vbscriptでのAUTOFITの書き方 excel支持者 09/10/9(金) 18:57 質問[未読]
【63123】Re:vbscriptでのAUTOFITの書き方 excel支持者 09/10/9(金) 20:47 質問[未読]
【63124】Re:vbscriptでのAUTOFITの書き方 neptune 09/10/9(金) 20:53 回答[未読]
【63125】Re:vbscriptでのAUTOFITの書き方 neptune 09/10/9(金) 20:54 発言[未読]
【63130】Re:vbscriptでのAUTOFITの書き方 excel支持者 09/10/10(土) 10:41 質問[未読]
【63139】Re:vbscriptでのAUTOFITの書き方 excel支持者 09/10/10(土) 13:34 質問[未読]
【63142】Re:vbscriptでのAUTOFITの書き方 n 09/10/10(土) 17:49 発言[未読]
【63149】Re:vbscriptでのAUTOFITの書き方 bykin 09/10/10(土) 21:25 発言[未読]
【63150】Re:vbscriptでのAUTOFITの書き方 excel支持者 09/10/10(土) 21:42 お礼[未読]
【63151】Re:vbscriptでのAUTOFITの書き方 excel支持者 09/10/10(土) 21:43 お礼[未読]

【63120】vbscriptでのAUTOFITの書き方
質問  excel支持者  - 09/10/9(金) 17:30 -

引用なし
パスワード
   お世話をかけます

vbscriptでcreateobjectしてexcelアプリを起動して
autofitマクロを実行することろで
エラーになります

xl.ActiveSheet.Cells(Application.Rows.Count, 1).End(xlUp).Row

Application関数が使えないようです

宜しくお願いします

【63121】Re:vbscriptでのAUTOFITの書き方
回答  yoshi  - 09/10/9(金) 18:22 -

引用なし
パスワード
   >vbscriptでcreateobjectしてexcelアプリを起動して
>autofitマクロを実行することろで
>エラーになります
>xl.ActiveSheet.Cells(Application.Rows.Count, 1).End(xlUp).Row
>Application関数が使えないようです

ACreateObject等の場合、定義したオブジェクト変数(xl)
を介してコード中のオブジェクトを参照します。これ基本です。
( xl. を付ける)

【63122】Re:vbscriptでのAUTOFITの書き方
質問  excel支持者  - 09/10/9(金) 18:57 -

引用なし
パスワード
   ▼yoshi さん:
>>vbscriptでcreateobjectしてexcelアプリを起動して
>>autofitマクロを実行することろで
>>エラーになります
>>xl.ActiveSheet.Cells(Application.Rows.Count, 1).End(xlUp).Row
>>Application関数が使えないようです
>
>ACreateObject等の場合、定義したオブジェクト変数(xl)
>を介してコード中のオブジェクトを参照します。これ基本です。
>( xl. を付ける)

お世話様です

xl.をつけてもうまくいかないです

予知しないエラーになってしまいました

【63123】Re:vbscriptでのAUTOFITの書き方
質問  excel支持者  - 09/10/9(金) 20:47 -

引用なし
パスワード
   ▼excel支持者 さん:
>▼yoshi さん:
>>>vbscriptでcreateobjectしてexcelアプリを起動して
>>>autofitマクロを実行することろで
>>>エラーになります
>>>xl.ActiveSheet.Cells(Application.Rows.Count, 1).End(xlUp).Row
>>>Application関数が使えないようです
>>
>>ACreateObject等の場合、定義したオブジェクト変数(xl)
>>を介してコード中のオブジェクトを参照します。これ基本です。
>>( xl. を付ける)
>
>お世話様です
>
>xl.をつけてもうまくいかないです
>
>予知しないエラーになってしまいました

自己レスの追加です

やりたいことは、
範囲指定して、その範囲にAUTOFITコマンドを発行できれば
いいのですが、そのやり方がわかりません

スタートセルから、X軸、Y軸の値は分かるのですが
その終点の位置の取り方が分かりません(AF47等)

宜しくお願いします

【63124】Re:vbscriptでのAUTOFITの書き方
回答  neptune  - 09/10/9(金) 20:53 -

引用なし
パスワード
   ▼excel支持者 さん:

>xl.ActiveSheet.Cells(Application.Rows.Count, 1).End(xlUp).Row
>
>Application関数が使えないようです
applicationはexcelのものなのに、Application・・・とやってはapplication
はどこを見ればよいのか判りませんね。これが原因です。

【63125】Re:vbscriptでのAUTOFITの書き方
発言  neptune  - 09/10/9(金) 20:54 -

引用なし
パスワード
   ▼neptune さん:
連投ごめんなさい。
yoshi さんと同じ事を言ってますね。表現が違うだけです。

【63130】Re:vbscriptでのAUTOFITの書き方
質問  excel支持者  - 09/10/10(土) 10:41 -

引用なし
パスワード
   ▼neptune さん:
>▼neptune さん:
>連投ごめんなさい。
>yoshi さんと同じ事を言ってますね。表現が違うだけです。

お世話様でございます

未知の実行時エラー(前の状態と同じ)
のままです

【63139】Re:vbscriptでのAUTOFITの書き方
質問  excel支持者  - 09/10/10(土) 13:34 -

引用なし
パスワード
   ▼excel支持者 さん:
>▼neptune さん:
>>▼neptune さん:
>>連投ごめんなさい。
>>yoshi さんと同じ事を言ってますね。表現が違うだけです。
>
>お世話様でございます
>
>未知の実行時エラー(前の状態と同じ)
>のままです

自己レスの追加です

      Dim sel
      Dim col
      
      sel = 4
      col = 1
      
      xl.ActiveSheet.Range(xl.Cells(sel,col),xl.Cells( sel + excelsel, col + excelline)).Select
      xl.Selection.EntireColumn.AutoFit

この書き方で解決いたしました

AUTOFITは出来たのですが、範囲はセレクトされた状態のままになっています
セレクトを解除するにはどうしたら、いいのでしょうか

【63142】Re:vbscriptでのAUTOFITの書き方
発言  n  - 09/10/10(土) 17:49 -

引用なし
パスワード
   xl.ActiveSheet.Range(xl.Cells(sel, col), xl.Cells(sel + excelsel, col + excelline)).EntireColumn.AutoFit

xl.ActiveSheet.Columns(col).Resize(, excelline + 1).AutoFit
など。
『セレクトを解除』というより最初からSelectしなければ良いです。

【63149】Re:vbscriptでのAUTOFITの書き方
発言  bykin  - 09/10/10(土) 21:25 -

引用なし
パスワード
   こんばんわ。
なんか違う方法で解決してるみたいでっけど・・・

>vbscriptでcreateobjectしてexcelアプリを起動して

で、

>xl.ActiveSheet.Cells(Application.Rows.Count, 1).End(xlUp).Row



>xl.をつけてもうまくいかないです

っちゅーことは
xl.ActiveSheet.Cells(xl.Rows.Count, 1).End(xlUp).Row
ってやって、

>予知しないエラーになってしまいました

ってことなんかな?
これは、しゃーないんですわ。

何故なら、VBSではxlUpっちゅうExcelライブラリの中の定数が使えんからです。
だって参照設定できへんもんねー
・・・ってことでxlで始まる定数については、数値で直接指定せんとあきまへん。

xl.ActiveSheet.Cells(xl.Rows.Count, 1).End(-4162).Row

てな感じ。

あと、xlを多用するんやったら、Withを使ったほうがすっきりすると思いまっせ。
ほな。

【63150】Re:vbscriptでのAUTOFITの書き方
お礼  excel支持者  - 09/10/10(土) 21:42 -

引用なし
パスワード
   ▼n さん:
>xl.ActiveSheet.Range(xl.Cells(sel, col), xl.Cells(sel + excelsel, col + excelline)).EntireColumn.AutoFit
>や
>xl.ActiveSheet.Columns(col).Resize(, excelline + 1).AutoFit
>など。
>『セレクトを解除』というより最初からSelectしなければ良いです。

ありがとうございました

解決しました

【63151】Re:vbscriptでのAUTOFITの書き方
お礼  excel支持者  - 09/10/10(土) 21:43 -

引用なし
パスワード
   ▼n さん:
>xl.ActiveSheet.Range(xl.Cells(sel, col), xl.Cells(sel + excelsel, col + excelline)).EntireColumn.AutoFit
>や
>xl.ActiveSheet.Columns(col).Resize(, excelline + 1).AutoFit
>など。
>『セレクトを解除』というより最初からSelectしなければ良いです。

ありがとうございました

助かりました

3282 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free