Excel2010 データの行数に応じて表を複製し、データを入れたい

最近の書き込み件数: 今日 0件、昨日 0件
未読分:2件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#2 2015年2月10日(火)22時39分
From: VBA写真
返事 削除 変更
以下のマクロで可能だと思います。

Sub Macro2()
Dim i, j As Integer
Dim MaxR2 As Long
Dim コピー回数 As Integer

MaxR2 = Workbooks("book2.xls").Worksheets("Sheet1").Cells(2, 1).End(xlDown).Row

コピー回数 = (MaxR2 - 2) \ 20

Application.ScreenUpdating = False

For j = 0 To コピー回数

If j >= 1 Then
Workbooks("book1.xls").Activate
Workbooks("book1.xls").Worksheets("Sheet1").Range(Cells(13, 1), Cells(32, 8)).Copy _
Destination:= _
Workbooks("book1.xls").Worksheets("Sheet1").Cells(j * 20 + 13, 1)
End If

For i = 1 To 7

Workbooks("book2.xls").Activate

If i = 1 Then
Workbooks("book2.xls").Worksheets("Sheet1").Range(Cells(j * 20 + 2, i), Cells(j * 20 + 21, i)).Copy _
Destination:= _
Workbooks("book1.xls").Worksheets("Sheet1").Cells(j * 20 + 13, i)

Else

Workbooks("book2.xls").Worksheets("Sheet1").Range(Cells(j * 20 + 2, i), Cells(j * 20 + 21, i)).Copy _
Destination:= _
Workbooks("book1.xls").Worksheets("Sheet1").Cells(j * 20 + 13, i + 1)

End If

Next i

Next j


Application.ScreenUpdating = True

End Sub


よろしくお願いします。

Message#1 2015年2月10日(火)22時16分
From: 初心者VBA
返事 削除 変更
Excel2010 データの行数に応じて表を複製し、データを入れたい

book1とbook2が、両方立ち上がっており、book2からマクロを実行したいと思います

book1.xls (出荷リスト) 、book2.xls (売上明細)

book1のA1からH33までの表(A13からH32までデータを入力する)があります。
book1のデータ入力可能部分に、book2のA行、B行、C行、D行、E行、F行、G行のデータを
book1のA行、C行、D行、E行、F行、G行、H行に落とし込もうと思っております
(B行は空白です)
AとA、BとC、CとD、DとE、EとF、FとG、GとH

book2のデータが20行以内なら下記で可能ですが行数が不定で、
必ずしも20行以内で終わりません
book1とbook2が、両方立ち上がっております

Sub Macro2()

Application.ScreenUpdating = False

Workbooks("book2.xls").Worksheets("Sheet1").Range("A2:A21").Copy
Workbooks("book1.xls").Worksheets("Sheet1").Range("A13:A32").PasteSpecial

Workbooks("book2.xls").Worksheets("Sheet1").Range("B2:B21").Copy
Workbooks("book1.xls").Worksheets("Sheet1").Range("C13:C32").PasteSpecial

Workbooks("book2.xls").Worksheets("Sheet1").Range("C2:C21").Copy
Workbooks("book1.xls").Worksheets("Sheet1").Range("D13:D32").PasteSpecial

Workbooks("book2.xls").Worksheets("Sheet1").Range("D2:D21").Copy
Workbooks("book1.xls").Worksheets("Sheet1").Range("E13:E32").PasteSpecial

Workbooks("book2.xls").Worksheets("Sheet1").Range("E2:E21").Copy
Workbooks("book1.xls").Worksheets("Sheet1").Range("F13:F32").PasteSpecial

Workbooks("book2.xls").Worksheets("Sheet1").Range("F2:F21").Copy
Workbooks("book1.xls").Worksheets("Sheet1").Range("G13: G32 ").PasteSpecial

Workbooks("book2.xls").Worksheets("Sheet1").Range("G2:G21").Copy
Workbooks("book1.xls").Worksheets("Sheet1").Range("H13:H32").PasteSpecial

Application.ScreenUpdating = True
end sub

21行以上の場合、book1のA1からH33までの表を下方部分に複製して、
book2のデータをbook1に落とし込みたいです

book1のA1からH33までの表がありますが、次の表はA34からH66、その次はA67からH99
と言った形で1行ずつ下げて、book2のデータ行数に応じてA1からH33の表を複製して、
データを落とし込みたく思います

VBAで行なうにはどのようにすれば良いでしょうか?
ご教授下さい

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com