Excel VBA質問箱 IV

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

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


8761 / 13644 ツリー ←次へ | 前へ→

【31252】異なるブック間でのデータの書き込み ももちゃん 05/11/15(火) 16:18 質問[未読]
【31255】Re:異なるブック間でのデータの書き込み Kein 05/11/15(火) 16:58 回答[未読]
【31258】Re:異なるブック間でのデータの書き込み ももちゃん 05/11/15(火) 17:43 発言[未読]
【31259】Re:異なるブック間でのデータの書き込み Kein 05/11/15(火) 17:46 発言[未読]
【31262】Re:異なるブック間でのデータの書き込み Mik 05/11/15(火) 21:37 回答[未読]
【31265】Re:異なるブック間でのデータの書き込み ももちゃん 05/11/16(水) 9:47 発言[未読]
【31268】Re:異なるブック間でのデータの書き込み Kein 05/11/16(水) 11:55 発言[未読]
【31269】Re:異なるブック間でのデータの書き込み ももちゃん 05/11/16(水) 12:20 お礼[未読]
【31301】Re:異なるブック間でのデータの書き込み Mik 05/11/16(水) 20:18 回答[未読]
【31346】Re:異なるブック間でのデータの書き込み ももちゃん 05/11/18(金) 9:36 発言[未読]

【31252】異なるブック間でのデータの書き込み
質問  ももちゃん  - 05/11/15(火) 16:18 -

引用なし
パスワード
    異なるブック間でデータを転記させたいのですが、

ブックAAA                 ブックBBB
 シート1                  シート1 
  A  B  C  D・・           A  B  C  D・・
1 ああ かか ささ             1 ああ ささ  
2 いい きき しし             2 いい しし 
3 うう くく すす             3 うう すす 
4 ええ けけ せせ             4 ええ せせ 

こんな感じで転記させたいんですけど。

【31255】Re:異なるブック間でのデータの書き込み
回答  Kein  - 05/11/15(火) 16:58 -

引用なし
パスワード
   両方のブックを開いている、という前提で

Workbooks("AAA.xls").Sheets("Sheet1").Range("A:A, C:C") _
.Copy ThisWorkbook.Sheets("Sheet1").Range("A1")

というコードを、ブックBBBに入れて実行します。

【31258】Re:異なるブック間でのデータの書き込み
発言  ももちゃん  - 05/11/15(火) 17:43 -

引用なし
パスワード
   Kein さん こんにちわ
>Workbooks("AAA.xls").Sheets("Sheet1").Range("A:A, C:C") _
                          ↑
                  ここの範囲はどういう意味なんですか?

【31259】Re:異なるブック間でのデータの書き込み
発言  Kein  - 05/11/15(火) 17:46 -

引用なし
パスワード
   あなたの質問内容からは、B列(か行のデータ)を抜いて A列とC列のみを転記したい
ように解釈されましたので、Range("A:A, C:C") と指定したわけですが・・。

【31262】Re:異なるブック間でのデータの書き込み
回答  Mik  - 05/11/15(火) 21:37 -

引用なし
パスワード
   ▼ももちゃん

ブックAAAのマクロモジュールに貼り付けて、試してみてください。
AAAとBBBのブックをフォルダーに入れてください。

Sub ブックBBBにAAAをコピー()
 
 Dim BBB As Workbook
 
  Set BKO = Workbooks.Open(ThisWorkbook.Path & "\BBB.xls")
  
 With ThisWorkbook.Sheets(1)
    .Range("A:A, C:C").Copy BKO.Sheets(1).Range("A1")
   
 End With
 
  BKO.Close False

  Set BKO = Nothing
  
End Sub

【31265】Re:異なるブック間でのデータの書き込み
発言  ももちゃん  - 05/11/16(水) 9:47 -

引用なし
パスワード
   おはようございます。

Keinさん
 解釈されている通りです。私がお聞きしたかったのは意味でして。
 初歩的かも知れないんですが、Range("A:A, C:C")で最初がA、最後がAのセルってどう いう事?イマイチ分からなかったもので。
 失礼しました。


Mikさん
 コードを実行したところ、ブックBBBが開いて、閉じるんですが何も転記されていなん のですが。

【31268】Re:異なるブック間でのデータの書き込み
発言  Kein  - 05/11/16(水) 11:55 -

引用なし
パスワード
   >Range("A:A, C:C")で最初がA、最後がAのセル
任意の列を指定しようとするとき、VBAでは何通りかの表現方法があります。
その中でワークシート関数を使うときの表現に最も近いのは、Range("A:A", C:C")
という書き方でしょう。なので比較的分かりやすいかと思って使ってみました。
ちなみにその表記法で行を指定するなら、Range("1:1, 3:3") などとします。
これで 1行目と3行目が指定できます。意味は何か ? と聞かれればそれだけのことです。

【31269】Re:異なるブック間でのデータの書き込み
お礼  ももちゃん  - 05/11/16(水) 12:20 -

引用なし
パスワード
   Kein さん 
どうも丁寧な説明有り難うございます。
使った事がなかったもので、勉強になりました。

【31301】Re:異なるブック間でのデータの書き込み
回答  Mik  - 05/11/16(水) 20:18 -

引用なし
パスワード
   ▼ももちゃん さん:
ごめんなさい、一部訂正です。
False⇒Trueに変更してください。
変更後のコードです。試してみてください。

Sub ブックBBBにAAAをコピー()
 
 Dim BBB As Workbook
 
  Set BKO = Workbooks.Open(ThisWorkbook.Path & "\BBB.xls")
  
 With ThisWorkbook.Sheets(1)
    .Range("A:A, C:C").Copy BKO.Sheets(1).Range("A1")
   
 End With
 
  BKO.Close True '←Falseでは無くTrueです。訂正します。

  Set BKO = Nothing
  
End Sub

【31346】Re:異なるブック間でのデータの書き込み
発言  ももちゃん  - 05/11/18(金) 9:36 -

引用なし
パスワード
   おはようございます。

Mik さん 上手くいきました。
AAAとBBBが別フォルダにあった場合はどうなるのでしょうか?

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