アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。

マクロ初心者で、VBAがわからず困っております。

マクロで実行したいものが、

①"sheet1"のA1:G10までの表で、A列が空欄の行全体を削除
②削除した表を並べ替え
③並べ変えたものを"Sheet2"のH1へコピー
④"sheet2"のA1:G10までの表で、A列が空欄の行全体を削除
⑤削除した表を並べ替え
⑥並べ変えたものを"Sheet3"のH1へコピー
⑦以降これを”Sheet11"まで繰り返し

このようなマクロを組みたいときにはどのようなマクロを指定すればいいのか、
教えてください。

こんな簡単な内容で躓いており情けないのですが、
よろしくお願いいたします。

A 回答 (2件)

>④"sheet2"のA1:G10までの表で、A列が空欄の行全体を削除


で③で貼り付けた表が一部削除されてしまって良いのでしょうか?
違うならこんな感じかなあ
Sub Sample2()
Dim SNo As Long
Dim DLA As Long
Dim n As Long
For SNo = 1 To 10
   With Worksheets("Sheet" & SNo)
   n = 10
   For DLA = 10 To 1 Step -1
      If .Range("A" & DLA) = "" Then
         .Range("A" & DLA & ":G" & DLA).Delete Shift:=xlUp ’①
         n = n - 1
      End If
   Next DLA
   If n <> 0 Then
      .Range("A1:G" & n).Sort Key1:=.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
      :=xlPinYin, DataOption1:=xlSortNormal ’②
      Worksheets("Sheet" & SNo + 1).Range("H1:N" & n) = .Range("A1:G" & n).Value ’③
   End If
   End With
Next SNo
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
参考にさせていただいて、解析して知識増やせればと思います!

お礼日時:2016/02/29 10:44

この手のものは、各操作をマクロで記録して、内容を解析しながらカスタマイズして組み上げていくと勉強になりますよ。


すると、こんな感じになります。

Sub sample()
Dim SheetNo As Long
For SheetNo = 1 To 10
Worksheets("Sheet" & SheetNo).Select
'①"sheet1"のA1:G10までの表で、A列が空欄の行全体を削除
Range("A1:A10").SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete
'②削除した表を並べ替え
With ActiveSheet
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With .Sort
.SetRange Range("A1:G10")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
'③並べ変えたものを"Sheet2"のH1へコピー
Range("A1:G10").Copy Destination:=Worksheets("Sheet" & SheetNo + 1).Range("H1")
Next SheetNo
End Sub
    • good
    • 0
この回答へのお礼

助かりました!
日々勉強しながら頑張っていきます!

お礼日時:2016/02/29 10:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!