Excel VBA質問箱 IV

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

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


9572 / 13644 ツリー ←次へ | 前へ→

【26583】行のアドレス取得。 kouka 05/7/11(月) 9:50 質問[未読]
【26584】Re:行のアドレス取得。 IROC 05/7/11(月) 9:51 回答[未読]
【26586】Re:行のアドレス取得。 kouka 05/7/11(月) 10:56 質問[未読]
【26588】Re:行のアドレス取得。 IROC 05/7/11(月) 13:41 回答[未読]
【26595】Re:行のアドレス取得。 kouka 05/7/11(月) 19:26 発言[未読]
【26618】Re:行のアドレス取得。 IROC 05/7/12(火) 10:31 回答[未読]
【26628】Re:行のアドレス取得。 kouka 05/7/12(火) 11:39 お礼[未読]

【26583】行のアドレス取得。
質問  kouka  - 05/7/11(月) 9:50 -

引用なし
パスワード
   こんにちは、koukaです。
わからないので教えてください。

行のアドレスって取得することが可能ですか?
例えば、行を1〜10まで任意の条件によって選択して、
その後削除したいのですけど、うまくいかないのです。
行の選択自体はとびとびにはならないで、
必ず2〜10までとか、8〜10までとかの選択になります。
行のアドレスを変数に入れることは可能でしょうか?
教えてください、よろしくお願いします。

【26584】Re:行のアドレス取得。
回答  IROC  - 05/7/11(月) 9:51 -

引用なし
パスワード
   EntireRow を試してみてください。

Selection.EntireRow.Delete

【26586】Re:行のアドレス取得。
質問  kouka  - 05/7/11(月) 10:56 -

引用なし
パスワード
   こんにちは、IROCさん。
>EntireRow を試してみてください。
>
>Selection.EntireRow.Delete
すみません、これは↑これで勉強になりましたが、
うまくいきませんでした・・・。

私の作っているもの自体は、別シートの中からオートフィルタで条件表示して、
それをxlDownで選択後、コピーして貼り付けている為に、
なぜか空白のはずなのに情報が残っている状況?なのです。
その後、PRN形式でテキスト出力をするのですが、
無駄な改行が残ってしまいます。
そこで行ごと削除してしまえば大丈夫そうなので、
行の削除がしたかったのですが、それがわかりません(T_T)

なにか他にもいい命令がありましたら、教えてください。
よろしくお願いします。

【26588】Re:行のアドレス取得。
回答  IROC  - 05/7/11(月) 13:41 -

引用なし
パスワード
   オートフィルタで抽出したデータを
他のシートにコピー、貼り付けすると
空白行は発生しないと思いますけど・・・?

現在のVBAはどのようなものですか?

【26595】Re:行のアドレス取得。
発言  kouka  - 05/7/11(月) 19:26 -

引用なし
パスワード
   こんばんは、IROCさん。

簡単に書くと以下の通りです。  
  Sheets("'元シート'").Select
  Selection.AutoFilter Field:=3, Criteria1:="<>'抜き出す条件'", Operator:=xlAnd
  Range("C2").Select
  Range(Selection, Selection.End(xlDown)).Select
  Selection.Copy
  Sheets("'移すシート'").Select
  Range("E1").Select
  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
  Sheets("'元シート'").Select
  Range("H2").Select
  Range(Selection, Selection.End(xlDown)).Select
  Application.CutCopyMode = False
  Selection.Copy
  Sheets("'移すシート'").Select
  Range("F1").Select
  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
と、いうような単純なことしかしてないのですが。。。
すみません、よろしくお願いします。

【26618】Re:行のアドレス取得。
回答  IROC  - 05/7/12(火) 10:31 -

引用なし
パスワード
   問題なのは、コピーする際に余分なデータもコピーされて
貼り付け後に、最終セルの位置がおかしいということか、
それとも、貼り付け後のデータの最終データと最終セルの違いを取得し
余分な行を削除するのかどちらでしょうか?

前者であれば、コピー方法を見直せばよいでしょうし、
後者であれば最終データのセル位置を取得する条件が必要です。

【26628】Re:行のアドレス取得。
お礼  kouka  - 05/7/12(火) 11:39 -

引用なし
パスワード
   こんにちは、IROCさん。

>問題なのは、コピーする際に余分なデータもコピーされて
>貼り付け後に、最終セルの位置がおかしいということか、
>それとも、貼り付け後のデータの最終データと最終セルの違いを取得し
>余分な行を削除するのかどちらでしょうか?
>
>前者であれば、コピー方法を見直せばよいでしょうし、
>後者であれば最終データのセル位置を取得する条件が必要です。

前者の内容です。
ちょっとコピー方法を見直してみようと思います。
また、わからなくなったら教えてください。
ありがとうございました。

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