高速コピーと貼り付け。 EXCEL VBA [マクロ]
以下先日「通りすがり」さんから頂いたコメントをそのままですが、
紹介します。 御指摘の通り同じ形が必要というのが残念です。
1点セル指定でもOKであれば使い勝手が向上するのですが・・・。
*************************************************************************************************
値だけ貼り付けるのであれば、次の記述も高速です。
(貼付け先もコピー元と同じ形で指定する必要がありますが。(^^;))
Set WWR1 = Workbooks("Book1.xls").Worksheets("Sheet1").Range("A1:C10")
Set WWR2 = Workbooks("Book2.xls").Worksheets("Sheet2").Range("E10:G19")
WWR2.Value=WWR1.Value
by 通りすがり (2009-01-18 13:32)
**************************************************************************************************
クリック募金 各サイトに直接つながります。紹介します。 御指摘の通り同じ形が必要というのが残念です。
1点セル指定でもOKであれば使い勝手が向上するのですが・・・。
*************************************************************************************************
値だけ貼り付けるのであれば、次の記述も高速です。
(貼付け先もコピー元と同じ形で指定する必要がありますが。(^^;))
Set WWR1 = Workbooks("Book1.xls").Worksheets("Sheet1").Range("A1:C10")
Set WWR2 = Workbooks("Book2.xls").Worksheets("Sheet2").Range("E10:G19")
WWR2.Value=WWR1.Value
by 通りすがり (2009-01-18 13:32)
**************************************************************************************************
http://www.cosmo-oil.co.jp/kankyo/charity/
http://www.able.co.jp/company/contribute/new-action/clickable/
http://kakaku.com/donation/
http://www.j-energy.co.jp/cp/society/click_tp.php
http://www.chintai.net/contribution/index.html
http://www.nittsu.co.jp/corporate/contribution/1click.html
http://www.daiichisankyo.co.jp/csr/clickdonation/index.html
http://www.nippn.co.jp/csr/unicef/oneclick.html
セル範囲をコピー・転記 変数or配列 EXCEL VBA [マクロ]
ブック1からブック2へ転写をする時に、一度配列に取得を
してから、データを転記します。
この方法を知らない時は、毎回ブック間をコピーペーストで
往復していました。(**)
この方法だとパソコンの負担も時間の負担も少なくて
助かります。(^^)
Sub セル範囲を配列に取り込み転写()
Dim X(20) As Variant
A = "Copy"
B = "指定位置に転写"
For I = 1 To 10
Workbooks("book1.xls").Worksheets(1).Activate
C = A & I
X(I) = Cells.Find(what:=C).Offset(0, 1).Resize(1, 3).Value
Next I
For I = 1 To 10
Workbooks("book2.xls").Worksheets(2).Activate
D = B & I
Cells.Find(what:=D).Offset(0, 1).Resize(1, 3).Select
Selection.Value = X(I)
Next
End Sub
クリック募金 各サイトに直接つながります。してから、データを転記します。
この方法を知らない時は、毎回ブック間をコピーペーストで
往復していました。(**)
この方法だとパソコンの負担も時間の負担も少なくて
助かります。(^^)
Sub セル範囲を配列に取り込み転写()
Dim X(20) As Variant
A = "Copy"
B = "指定位置に転写"
For I = 1 To 10
Workbooks("book1.xls").Worksheets(1).Activate
C = A & I
X(I) = Cells.Find(what:=C).Offset(0, 1).Resize(1, 3).Value
Next I
For I = 1 To 10
Workbooks("book2.xls").Worksheets(2).Activate
D = B & I
Cells.Find(what:=D).Offset(0, 1).Resize(1, 3).Select
Selection.Value = X(I)
Next
End Sub
http://www.cosmo-oil.co.jp/kankyo/charity/
http://www.able.co.jp/company/contribute/new-action/clickable/
http://kakaku.com/donation/
http://www.j-energy.co.jp/cp/society/click_tp.php
http://www.chintai.net/contribution/index.html
http://www.nittsu.co.jp/corporate/contribution/1click.html
http://www.daiichisankyo.co.jp/csr/clickdonation/index.html
http://www.nippn.co.jp/csr/unicef/oneclick.html
メッセージボックス改行表示 EXCEL VBA [マクロ]
調べれば見つかりますが、その時間も短縮したい時があります。
備えあれば憂い少なし。
sub メッセージボックス改行表示()
A = Application.WorksheetFunction.Max(Range("E1:E100"))
B = Application.WorksheetFunction.Min(Range("E1:E100"))
C = Application.WorksheetFunction.Average(Range("E1:E100"))
MsgBox "最大値=" & A & vbCrLf & "最小値=" & B & vbCrLf & "平均値=" & C
End Sub
おまけに、普段使ってはいるのですが、一度設定したきりで変更することもない
ワークシート関数も記載します。
クリック募金 各サイトに直接つながります。備えあれば憂い少なし。
sub メッセージボックス改行表示()
A = Application.WorksheetFunction.Max(Range("E1:E100"))
B = Application.WorksheetFunction.Min(Range("E1:E100"))
C = Application.WorksheetFunction.Average(Range("E1:E100"))
MsgBox "最大値=" & A & vbCrLf & "最小値=" & B & vbCrLf & "平均値=" & C
End Sub
おまけに、普段使ってはいるのですが、一度設定したきりで変更することもない
ワークシート関数も記載します。
http://www.cosmo-oil.co.jp/kankyo/charity/
http://www.able.co.jp/company/contribute/new-action/clickable/
http://kakaku.com/donation/
http://www.j-energy.co.jp/cp/society/click_tp.php
http://www.chintai.net/contribution/index.html
http://www.nittsu.co.jp/corporate/contribution/1click.html
http://www.daiichisankyo.co.jp/csr/clickdonation/index.html
http://www.nippn.co.jp/csr/unicef/oneclick.html
ブック名とシート名を取得。 EXCEL VBA [マクロ]
以前、関数でブック名とシート名を取得する方法を
記載しましたが、今回はマクロでの対処方法です。
現在使用しているブック名(ファイル名)とシート名を
取得。
Sub ブック名とシート名を取得()
BookName = ThisWorkbook.Name
SheetName = ActiveSheet.Name
MsgBox BookName
MsgBox SheetName
End Sub
クリック募金 各サイトに直接つながります。記載しましたが、今回はマクロでの対処方法です。
現在使用しているブック名(ファイル名)とシート名を
取得。
Sub ブック名とシート名を取得()
BookName = ThisWorkbook.Name
SheetName = ActiveSheet.Name
MsgBox BookName
MsgBox SheetName
End Sub
http://www.cosmo-oil.co.jp/kankyo/charity/
http://www.able.co.jp/company/contribute/new-action/clickable/
http://kakaku.com/donation/
http://www.j-energy.co.jp/cp/society/click_tp.php
http://www.chintai.net/contribution/index.html
http://www.nittsu.co.jp/corporate/contribution/1click.html
http://www.daiichisankyo.co.jp/csr/clickdonation/index.html
http://www.nippn.co.jp/csr/unicef/oneclick.html
高速コピーと貼り付け Destination: EXCEL VBA [マクロ]
先日コピーペーストに関して記載しましたが、より高速での転写方法がありました。
Destination: を使ったコピー方法は知っていましたが、高速で処理するとは全く
知りませんでした。
Sub 高速タイプのコピー貼り付け()
Set WWR1 = Workbooks("Book1.xls").Worksheets("Sheet1").Range("A1:C10")
Set WWR2 = Workbooks("Book2.xls").Worksheets("Sheet2").Range("E10")
WWR1.Copy Destination:=WWR2
End Sub
ついでに先日の貼り付けマクロはシート間でのコピー貼り付けでしたが
ブック間での転写としました。
クリック募金 各サイトに直接つながります。Destination: を使ったコピー方法は知っていましたが、高速で処理するとは全く
知りませんでした。
Sub 高速タイプのコピー貼り付け()
Set WWR1 = Workbooks("Book1.xls").Worksheets("Sheet1").Range("A1:C10")
Set WWR2 = Workbooks("Book2.xls").Worksheets("Sheet2").Range("E10")
WWR1.Copy Destination:=WWR2
End Sub
ついでに先日の貼り付けマクロはシート間でのコピー貼り付けでしたが
ブック間での転写としました。
http://www.cosmo-oil.co.jp/kankyo/charity/
http://www.able.co.jp/company/contribute/new-action/clickable/
http://kakaku.com/donation/
http://www.j-energy.co.jp/cp/society/click_tp.php
http://www.chintai.net/contribution/index.html
http://www.nittsu.co.jp/corporate/contribution/1click.html
http://www.daiichisankyo.co.jp/csr/clickdonation/index.html
http://www.nippn.co.jp/csr/unicef/oneclick.html