Excel VBA質問箱 IV

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

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


2829 / 13646 ツリー ←次へ | 前へ→

【65729】最終セル あや 10/6/24(木) 10:03 質問[未読]
【65730】Re:最終セル ponpon 10/6/24(木) 10:27 発言[未読]
【65731】Re:最終セル Jaka 10/6/24(木) 10:34 発言[未読]
【65733】Re:最終セル あや 10/6/24(木) 10:43 発言[未読]
【65737】Re:最終セル ponpon 10/6/24(木) 12:15 発言[未読]
【65749】Re:最終セル REV 10/6/25(金) 2:02 発言[未読]
【65750】追伸 REV 10/6/25(金) 2:35 発言[未読]
【65751】追伸の追伸 REV 10/6/25(金) 3:00 発言[未読]

【65729】最終セル
質問  あや  - 10/6/24(木) 10:03 -

引用なし
パスワード
   マクロにて、行削除をしています。

そこで、最終セルが行削除前のセルになってしまうので

最終行から最終セルまでの不必要な行を削除し、

上書き保存をすることで解消するのですが…


上書き保存以外での対応方法はありませんか?


理由は、1.保存以外のタイミングで保存はしたくない
       (VBA内だと利用者が知らないうちに保存されていまう)
     2.毎回保存をすると遅い

【65730】Re:最終セル
発言  ponpon  - 10/6/24(木) 10:27 -

引用なし
パスワード
   ▼あや さん:
>そこで、最終セルが行削除前のセルになってしまうので>
>最終行から最終セルまでの不必要な行を削除し、

最終行と最終セルの違いは?

>
>上書き保存をすることで解消するのですが…

どうして上書き保存をすると解消するのですか??

私だけかもしれませんが・・・
よく意味がわかりません。

【65731】Re:最終セル
発言  Jaka  - 10/6/24(木) 10:34 -

引用なし
パスワード
   こんにちは。
多分上書き保存しないと解消されないと思います。

ここに書いてあるぐらいですから、(目安箱から引っ張ってきた。)
「最後のセル」の位置を修正する方法
ht tp:スラスラsupport.microsoft.comスラdefault.aspx?scid=kb;ja;JP405492

【65733】Re:最終セル
発言  あや  - 10/6/24(木) 10:43 -

引用なし
パスワード
   ponponさん

たとえばなんですが…

A1からA10までデータを入力して

5・6・7行を行削除し、

編集-ジャンプ-セル選択-最後のセル とすると

A10が最後のセルになります。

最後のセルがA7になってほしいので、上書き保存をしてから

編集-ジャンプ-セル選択-最後のセル とすると

A7が最後のセルになります。


Jakaさん

そうですか、教えていただいてありがとうございますm(_ _)m

【65737】Re:最終セル
発言  ponpon  - 10/6/24(木) 12:15 -

引用なし
パスワード
   ジャンプ 最後のセルですね。
一度入力するとそこを記憶するので
Jakaさんの言うとおりだと思います。
失礼しました。

【65749】Re:最終セル
発言  REV  - 10/6/25(金) 2:02 -

引用なし
パスワード
   ▼あや さん:

こんばんわ

ひょっとして終わった感じ・・・?

>理由は、1.保存以外のタイミングで保存はしたくない
>       (VBA内だと利用者が知らないうちに保存されていまう)
>     2.毎回保存をすると遅い

一応、まったく同じ理由でうちで使ってるコード出しておきますね^^
やりたいことが違ってたらごめんなさいm(_ _)m

Dim moto As String

Rows(5).Delete '試しに5行目消してみる

Selection.SpecialCells(xlCellTypeLastCell).Select  '位置ずれ確認

Application.ScreenUpdating = False
Application.DisplayAlerts = False

moto = ActiveSheet.Name
ActiveSheet.Copy after:=ActiveSheet

ActiveSheet.Name = moto & "B"
Worksheets(moto).Delete

Worksheets(moto & "B").Name = moto

Selection.SpecialCells(xlCellTypeLastCell).Select '結果の確認

Application.DisplayAlerts = True
Application.ScreenUpdating = True

汎用に書き換えてありますが
原理はこれで行けるかと^^

うちのデータは
対象のシート名も固定なので
もう少し簡素化されてます。

ちなみに扱ってるデータは
A〜Nまでで500件程度のレコードです。

まぁ、サクッと動くからいいかなぁ
くらいで使ってますw

ごっそりコピってるなんて
きっとバレてないwうんうんw

jaka さん
こんばんわですw
実は質問でこのサイトに来たんですが
似たような経験があったんで^^;
でわでわ、またどこかで宜しくです^^v

【65750】追伸
発言  REV  - 10/6/25(金) 2:35 -

引用なし
パスワード
   ▼あや さん:

うちの環境だけか分かりませんが(Excel 2003)
シートの削除&コピーを頻繁に繰り返すと
シートのコピー&挿入でエラーがでます。
(マクロを使わなくてもコピーも挿入もできなくなります。)

一応、エラートラップで
メッセージを出して対応してますが
(保存して再起動みたいな内容で^^;)
毎回保存するよりいいやと思って使ってます。

今のところ頻繁に使うコードではないので
このメッセージが出たという話は聞いていませんが
参考までに^^;

(実は常識・・・?解決方法を知らないので
今度、どこかで聞いてみますw)

【65751】追伸の追伸
発言  REV  - 10/6/25(金) 3:00 -

引用なし
パスワード
   荒らしてすみませんm(_ _)m

>うちの環境だけか分かりませんが(Excel 2003)
>シートの削除&コピーを頻繁に繰り返すと
>シートのコピー&挿入でエラーがでます。
>(マクロを使わなくてもコピーも挿入もできなくなります。)
>

このエラーの件、気になって調べてみました・・・
MSサイトにありました;;

[MSサイトより]
この問題は、次のサンプル コードのように、ブックに定義名を指定してから、ブックを保存したり閉じたりせずにワークシートを複数回コピーした場合に発生することがあります。

どうやら仕様らしいです・・・大変失礼しました。


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