前提・実現したいこと
別のブックからシートをコピーし、貼り付けをした後に、L列にある空白のセル以外を削除してから、さらに空白を詰めたいのですが、ご教授いただければ幸いです。
発生している問題・エラーメッセージ
L列にある空白のセル以外を削除してみたら、空白のセルも消えてしまう。
空白を詰めてみたら、文字が下に下に上書きされてしまう。
エラーメッセージ
該当のソースコード
Dim
1Dim sh As Worksheet 2Dim rE As Long 3Dim i As Long 4Dim toprow As Long 5Dim bottomrow As Long 6Dim k As Integer 7Dim j As Integer 8 9Sub main() 10 11tyusyutu 12CommandButton1_Click 13Tumeru 14End Sub 15 16Sub tyusyutu() 17 18'データのコピー 19 Set wb = Workbooks.Open("C:\Book1.xlsx") 20 Set sh = wb.Sheets(2) 21 rE = sh.Cells(Rows.Count, "B").End(xlUp).Row 22 Range(Cells(5, "B"), Cells(rE, "L")).Copy 23 wb.Close 24 Cells(5, "B").PasteSpecial 25End Sub 26 27Private Sub CommandButton1_Click() 28''''''''''''''''''''''''''''''''''''''''''''''''''' 29 '開始する行 30 toprow = 5 31 '終了する行 32 bottomrow = 74 33 34 For i = bottomrow To toprow Step -1 35 If ActiveSheet.Cells(i, 12) <> "" Then 36 Range("B5:L74").Rows(i).ClearContents 37 End If 38 Next 39''''''''''''''''''''''''''''''''''''''''''''''''''' 40End Sub 41 42Sub Tumeru() 43''''''''''''''''''''''''''''''''''''''''''''''''''' 44j = 5 45For k = 5 To Range("B" & Rows.Count).End(xlUp).Row 46If (Range("B" & k).Rows <> "") Then 47j = j + 1 48Range("B" & k).Resize(, 11).Copy Range("B" & j) 49Range("B" & k).Resize(, 11) = "" 50End If 51Next k 52''''''''''''''''''''''''''''''''''''''''''''''''''' 53End Sub 54 55コード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ほかのbookから貼り付けます。
L列の文字が入っているセルを削除しようとします。
真っ白になる。
下にスクロースすると、一番上の貼り付けたセルが、一番下に降りてしまう。
と、こんな感じになってしまいます。
わかりにくいかもしれませんが、よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー