Excel VBA質問箱 IV

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

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


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

【43722】文字列の連続移動 風車やしち 06/10/23(月) 21:15 質問[未読]
【43723】Re:文字列の連続移動 かみちゃん 06/10/23(月) 21:18 発言[未読]
【43729】Re:文字列の連続移動 風車やしち 06/10/24(火) 5:26 質問[未読]
【43734】Re:文字列の連続移動 ゆと 06/10/24(火) 9:59 発言[未読]
【43735】Re:文字列の連続移動 風車やしち 06/10/24(火) 11:45 発言[未読]
【43739】Re:文字列の連続移動 Kein 06/10/24(火) 13:48 回答[未読]
【43758】Re:文字列の連続移動 風車やしち 06/10/24(火) 18:46 お礼[未読]

【43722】文字列の連続移動
質問  風車やしち  - 06/10/23(月) 21:15 -

引用なし
パスワード
   随分試行錯誤しましたが、僕の力では限界です。
頭から煙が出ました。。
ご教授を御願いいたします。
シートの中にある文字列を(どの位置にあるか分からない)シートの一番上に順番を替えずに移動させる。
後から入力された文字列は(どの位置にあるか分からない)その下に詰めて移動させる。
よろしく御願いします。


A  | B  |  C  |  D  | E
-------------------------------------


金曜日    8    30    17    30
土曜日    8    30    17    30
日曜日    8    30    17    30


金曜日    8    30    17    30
土曜日    8    30    17    30
日曜日    8    30    17    30

***********移動後*****************

A  | B  |  C  |  D  | E
-------------------------------------
金曜日    8    30    17    30
土曜日    8    30    17    30
日曜日    8    30    17    30
金曜日    8    30    17    30
土曜日    8    30    17    30
日曜日    8    30    17    30

【43723】Re:文字列の連続移動
発言  かみちゃん  - 06/10/23(月) 21:18 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>シートの中にある文字列を(どの位置にあるか分からない)シートの一番上に順番を替えずに移動させる。
>後から入力された文字列は(どの位置にあるか分からない)その下に詰めて移動させる。

シートイメージから何がしたいのかわかりません。
単純に空白行を削除するだけではないのでしょうか?

【43729】Re:文字列の連続移動
質問  風車やしち  - 06/10/24(火) 5:26 -

引用なし
パスワード
   ▼かみちゃん さん:
おはようございます。
シート"DF2"にちらばる文字列を、シート"DF2(2)"の2行目から順に並べたいと思っていますが、エラーがでます。
シート"DF2(2)"のコピー開始行を求めるところで、「インデックスが範囲外・・」となります。

'DF2最終行
GetE = Worksheets("DF2").Range("A:A").Find("*", , xlValues, , , xlPrevious).Row

'DF2開始行
For s10 = 2 To 1000
If Worksheets("DF2").Cells(s10, 1) = "" Then
  n = 0 'ダミー
  Else
  GetS = s10
  Exit For
End If
Next s10

'DF2(2)開始行
For s20 = 2 To 1000
If Not Worksheets("DF2(2)").Cells(s20, 1) Then
  n = 0 'ダミー
  Else
  GetS2 = s20
  Exit For
End If
Next s20

'コピー
Worksheets("DF2").Rows(CStr(GetS) + ":" + CStr(GetE)).Select
 Selection.Copy

'貼り付け
Worksheets("DF2(2)").Rows(CStr(GetS2)).Paste
 
'削除
Worksheets("DF2").Rows(CStr(GetS) + ":" + CStr(GetE)).Select
 Selection.Clear

【43734】Re:文字列の連続移動
発言  ゆと  - 06/10/24(火) 9:59 -

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

>'DF2(2)開始行
> If Not Worksheets("DF2(2)").Cells(s20, 1) Then
このIf文の条件判定は、これであっていますか?

行方向で全ての項目に空欄がなければ、
範囲選択→ジャンプ機能→空白を指定→削除(上方向)
でいけるのではないでしょうか。

【43735】Re:文字列の連続移動
発言  風車やしち  - 06/10/24(火) 11:45 -

引用なし
パスワード
   ▼ゆと さん:
コメントありがとうございます。
ジャンプ機能? ですか。。
ヘルプにありますねぇ。
恥ずかしながら初めて聞く言葉ですが、ちょっと勉強してみます。

>>'DF2(2)開始行
>> If Not Worksheets("DF2(2)").Cells(s20, 1) Then
>このIf文の条件判定は、これであっていますか?
>
>行方向で全ての項目に空欄がなければ、
>範囲選択→ジャンプ機能→空白を指定→削除(上方向)
>でいけるのではないでしょうか。

【43739】Re:文字列の連続移動
回答  Kein  - 06/10/24(火) 13:48 -

引用なし
パスワード
   提示されているコードは解析してませんが、DF2シートのA列で値が入力されている
セルがある行全体を、DF2(2)シートの二行目から隙間なくコピペする。
ということなら

Worksheets("DF2(2)").Rows("2:65536").ClearContents
Worksheets("DF2").Range("A:A").SpecialCells(2).EntireRow _
.Copy Worksheets("DF2(2)").Range("A2")

ぐらいで出来ます。

【43758】Re:文字列の連続移動
お礼  風車やしち  - 06/10/24(火) 18:46 -

引用なし
パスワード
   ▼Kein さん:
ありがとうございます。
完全解決です。
なにぶん、初心者ですので、また御教授の程御願いいたします。


>提示されているコードは解析してませんが、DF2シートのA列で値が入力されている
>セルがある行全体を、DF2(2)シートの二行目から隙間なくコピペする。
>ということなら
>
>Worksheets("DF2(2)").Rows("2:65536").ClearContents
>Worksheets("DF2").Range("A:A").SpecialCells(2).EntireRow _
>.Copy Worksheets("DF2(2)").Range("A2")
>
>ぐらいで出来ます。

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