Excel VBA質問箱 IV

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

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


12658 / 13645 ツリー ←次へ | 前へ→

【9347】選択された範囲のみのデータ処理を行いたい! まゆん 03/11/30(日) 15:39 質問
【9350】Re:選択された範囲のみのデータ処理を行い... INA 03/11/30(日) 16:13 回答
【9354】Re:選択された範囲のみのデータ処理を行い... まゆん 03/11/30(日) 16:53 質問
【9358】Re:選択された範囲のみのデータ処理を行い... INA 03/11/30(日) 17:57 回答

【9347】選択された範囲のみのデータ処理を行いた...
質問  まゆん  - 03/11/30(日) 15:39 -

引用なし
パスワード
   VBA初心者のまゆんです。ご教授お願いします。
Excelシートの中に下記のような表があるとします。
ユーザーに範囲を指定させその選択された範囲内で処理をおこないたいと考えています。 処理内容は別なworksheetへデータを転記させるという処理です。
DATE   Item  QTY  Amount
2003/12/1 tabaco 20個 200円
2003/12/2 Choco 30個 100円
2003/12/2 tabaco 15個 200円
2003/12/3 Ice   5個 150円

この表に対し
set area=application.inputbox(prompt:="処理範囲を指定してください", Type=8)
を使ってみたのでですが、範囲が指定できてもその後どうVBAを書けばいいのかアイディアが見つかりません。
構文的には->範囲がしていされました。例:A3:D4
      指定された範囲のデータを別なworksheetのそれぞれ指定する場所へ貼      り付けなさい。
という作業をさせたいのですが方法はありますでしょうか?
恐れ入りますがご教授の程お願い致します。

【9350】Re:選択された範囲のみのデータ処理を行い...
回答  INA  - 03/11/30(日) 16:13 -

引用なし
パスワード
   マクロ化する意味のない処理に思えますが・・


Sub Sample2()
Dim myRange As Range
Dim pastecell As Range

  Set myRange = Application. _
         InputBox("処理範囲を指定してください", Type:=8)

  MsgBox myRange.Address & " が指定されました。"

  Set pastecell = Application. _
          InputBox("貼付け先のセルを指定してください", Type:=8)

  myRange.Copy Destination:=pastecell
  
  pastecell.Select
  
  MsgBox "完了!"
  
End Sub

【9354】Re:選択された範囲のみのデータ処理を行い...
質問  まゆん  - 03/11/30(日) 16:53 -

引用なし
パスワード
   Inaさん
早速の回答有難うございました。
ちょっと私の説明不足でございました。改めて何をしたいかを説明させてください。
処理をしたい範囲を指定した後、A2のCellの値は別のシートのE2のところへ
貼り付け、A3の値は別シートのB1のことろへ貼り付けなさいという指示をかけたいのです。範囲を選択して貼り付けることは簡単ですが、指定した範囲内でのおのおののcellの値を別なシートの指定する場所へ貼り付けることがどうすればできるのかがわからないのです。指定した範囲がA1:E5とするとA行がおわったら同じ作業をB行D行、E行をチェックし、データをそれぞれ指定する場所へ貼り付けたら終了という構想を描いております。この内容でご教授いただけませんでしょうか?お手数をおかけいたします。よろしくお願い致します


▼INA さん:
>マクロ化する意味のない処理に思えますが・・
>
>
>Sub Sample2()
>Dim myRange As Range
>Dim pastecell As Range
>
>  Set myRange = Application. _
>         InputBox("処理範囲を指定してください", Type:=8)
>
>  MsgBox myRange.Address & " が指定されました。"
>
>  Set pastecell = Application. _
>          InputBox("貼付け先のセルを指定してください", Type:=8)
>
>  myRange.Copy Destination:=pastecell
>  
>  pastecell.Select
>  
>  MsgBox "完了!"
>  
>End Sub

【9358】Re:選択された範囲のみのデータ処理を行い...
回答  INA  - 03/11/30(日) 17:57 -

引用なし
パスワード
   法則が正確にわかりませんが、
copyメソッドを使わないで、値だけ別シートに転記したいのであれば、

Worksheets("sheet2").Range("E2").Value = _
Worksheets("sheet1").Range("C2").Value

のように、valueで値を渡せます。

Private Sub CommandButton1_Click()
Sub Sample2()
Dim myRange As Range

  Set myRange = Application. _
         InputBox("処理範囲を指定してください", Type:=8)

  MsgBox myRange.Address & " が指定されました。"

  
  Worksheets("sheet2").Range("E2").Value = myRange.Value
  Worksheets("sheet2").Range("B1").Value = myRange.Offset(1).Value

End Sub

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