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

質問です。図のように科目名毎にデータが並んでいます。例えば「現金」の部分の赤枠をシート「現金」に貼り付けたいのです。ただし、この科目が100程あり、三つくらいでしたら、やり方はネットでみつけましたが、100もある場合は、VBAを100シート名を書くことになり大変です。
よって、カラムB (B i *i を変数として)の名前がシート名と一致したもののrange (C:H) (Ci:Hi *iを変数として)をコピーしていくとするには どうすればよろしいでしょうか?

宜しくお願いいたします。

「同じシート名にコピーしていくやり方 VB」の質問画像

A 回答 (1件)

こんばんは!



https://oshiete.goo.ne.jp/qa/10779762.html
↑のサイトとは別の質問で良いのですね?

単純にループさせてみてはどうでしょうか?
↓の画像のようにSheet見出しの2番目以降には、「科目名」が入っているシートが存在している!という前提です。

標準モジュールです。

Sub Sample1()
 Dim i As Long, sN As String
  Application.ScreenUpdating = False
   With Worksheets("Sheet1")
    For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
     If .Cells(i, "C") <> "" Then
      sN = .Cells(i, "B")
      .Cells(i, "C").Resize(, 6).Copy Worksheets(sN).Cells(Rows.Count, "A").End(xlUp).Offset(1)
     End If
    Next i
   End With
  Application.ScreenUpdating = True
   MsgBox "完了"
End Sub

こんな感じではどうでしょうか?m(_ _)m
「同じシート名にコピーしていくやり方 VB」の回答画像1
    • good
    • 0
この回答へのお礼

引き続きご回答くださりありがとうございました。
やってみたのですが、3シートくらいにはデータは飛びましたが、あとはいきませんでした。シート名も同じにしているはずですが、こちらの何かが問題なのだと思います。
またトライしたいと思います。難しいですね~

お礼日時:2018/10/20 12:12

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