Excel VBA質問箱 IV

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

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


14 / 13234 ツリー ←次へ | 前へ→

【80371】ForーNext トキノハジメ 19/2/4(月) 18:39 質問[未読]
【80372】Re:ForーNext マナ 19/2/4(月) 19:14 発言[未読]
【80373】Re:ForーNext トキノハジメ 19/2/4(月) 22:09 質問[未読]
【80374】Re:ForーNext よろずや 19/2/4(月) 22:23 回答[未読]
【80377】:ForーNext トキノハジメ 19/2/5(火) 9:29 お礼[未読]

【80371】ForーNext
質問  トキノハジメ  - 19/2/4(月) 18:39 -

引用なし
パスワード
   いつもお世話になります。

下記のコードをFor−Nextにするにわうどすればよいのでしょうか。

Range("AU12:AU29").Copy
Range("C12:T12").PasteSpecial , Passte:=xlValues, Transpose:=True
Range("AU32:AU49").Copy
Range("C13:T13").PasteSpecial , Passte:=xlValues, Transpose:=True
Range("AU52:AU69").Copy
Range("C14:T14").PasteSpecial , Passte:=xlValues, Transpose:=True
Range("AU72:AU89").Copy
Range("C15:T15").PasteSpecial , Passte:=xlValues, Transpose:=True
Range("AU92:AU109").Copy
Range("C16:T16").PasteSpecial , Passte:=xlValues, Transpose:=True


With Range("BL11")
  .AutoFilter Field:=1. Criteria1:="8"
  .AutoFilter Field:=2. Criteria1:="1"
  .CurrentRegion.Copy Range("BE11")
  .AutoFilter
End Witu
With Range("BL11")
  .AutoFilter Field:=1. Criteria1:="8"
  .AutoFilter Field:=2. Criteria1:="2"
  .CurrentRegion.Copy Range("BE31")
  .AutoFilter
End Witu

With Range("BL11")
  .AutoFilter Field:=1. Criteria1:="8"
  .AutoFilter Field:=2. Criteria1:="3"
  .CurrentRegion.Copy Range("BE51")
  .AutoFilter
End Witu

With Range("BL11")
  .AutoFilter Field:=1. Criteria1:="8"
  .AutoFilter Field:=2. Criteria1:="4"
  .CurrentRegion.Copy Range("BE71")
  .AutoFilter
End Witu

With Range("BL11")
  .AutoFilter Field:=1. Criteria1:="8"
  .AutoFilter Field:=2. Criteria1:="5"
  .CurrentRegion.Copy Range("BE91")
  .AutoFilter
End Witu

以上2組ですが、教えて下さい。
宜しくお願い致します。

【80372】Re:ForーNext
発言  マナ  - 19/2/4(月) 19:14 -

引用なし
パスワード
   ▼トキノハジメ さん:

こうでしょうか

Sub test()
  Dim k As Long

  For k = 0 To 4
    Cells(12 + k * 20, "AU").Resize(18).Copy
    Cells(12 + k, "C").PasteSpecial Paste:=xlValues, Transpose:=True
  Next


  With Range("BL11").CurrentRegion
    .AutoFilter Field:=1. Criteria1:="8"
  
    For k = 0 To 5
      .AutoFilter Field:=2, Criteria1:=k + 1
      .Copy Range("BE" & 11 + k * 20)
    Next
    .AutoFilter
  End With
  
End Sub

【80373】Re:ForーNext
質問  トキノハジメ  - 19/2/4(月) 22:09 -

引用なし
パスワード
   ▼マナ さん:
>▼トキノハジメ さん:
>
>こうでしょうか
>
>Sub test()
>  Dim k As Long
>
>  For k = 0 To 4
>    Cells(12 + k * 20, "AU").Resize(18).Copy
>    Cells(12 + k, "C").PasteSpecial Paste:=xlValues, Transpose:=True
>  Next
>
>
>  With Range("BL11").CurrentRegion
>    .AutoFilter Field:=1. Criteria1:="8"
>  
>    For k = 0 To 5
>      .AutoFilter Field:=2, Criteria1:=k + 1
>      .Copy Range("BE" & 11 + k * 20)
>    Next
>    .AutoFilter
>  End With
>  
>End Sub

早速の回答有り難う御座います。

Criteria1 のところで文字が赤くなってしまうのですが、
打ち込み間違いはないと思うのですが
宜しくおねがいいたします。

【80374】Re:ForーNext
回答  よろずや  - 19/2/4(月) 22:23 -

引用なし
パスワード
   横レスです

    .AutoFilter Field:=1. Criteria1:="8"
              ↓
    .AutoFilter Field:=1, Criteria1:="8"

【80377】:ForーNext
お礼  トキノハジメ  - 19/2/5(火) 9:29 -

引用なし
パスワード
   ▼マナ さん:よろずや さん

ありがとう御座いました。

大変プログラムが短くなりました。

これからもよろしくお願いいたします。

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