いつもお世話になります。

Dim sh1, sh2 As Worksheet
Set sh1 = Worksheets("sheet1")
Set sh2 = Worksheets("sheet2")

sh1.Range("C6").Value = sh2.Range("F5").Value
として、1つのセルの値ならコピーできるのですが、
sh1.Range("C6:C10").Value = sh2.Range("F5;F9").Value
としても、セルの値を持ってくることができません。
どのように書けば良いのでしょうか?

ちなみに今は、
sh2.Range("F5:F9").Copy
sh1.Range("C5:C9").PasteSpecial Paste:=xlValues
としているのですが、上記だとセルを範囲指定してしまって作業が見えるのでカッコ悪いのです。

このQ&Aに関連する最新のQ&A

A 回答 (7件)

7-samuraiの質問ですみません。


No5のimogasiさん、いつもお世話様です。

Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet2")
Set sh2 = Worksheets("sheet1")
sh1.Range("c1:c5").Value = sh2.Range("A1:A5").Value
End Sub

で、うまくいきますよ。
複数セルの場合Valueは省略できないようです。
    • good
    • 5

#4のshishishishiさんへ:ありがとうございました。


Valueがいるのですね。
前も同じことをおっしゃるケースがあり、疑問を持ったことがあって、なぜかなと思いつつ。
小生はValueの省略の癖がついているのと、Cellsの愛用のため気がつきませんでした。
7-samurai さんへ:回答者へのお礼を書かせて貰いましたが、済みません。
    • good
    • 4

私は馬鹿の1つ覚えで、こう言う場合


For i = 6 To 10
sh1.Cells(i, "C") = sh2.Cells(i - 1, "F")
Next i
で通してます。
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet2")
Set sh2 = Worksheets("sheet1")
'For i = 6 To 10
'sh1.Cells(i, "B") = sh2.Cells(i - 1, "A")
'Next i
sh1.Range("c1:c5") = sh2.Range("A1:A5")
End Sub
#4さんの事由がなくても、上記で私の場合は上手く行きませんでした。
コメントアウトした部分は復活すると上手く行きます。
    • good
    • 1
この回答へのお礼

いつもありがとうございます。
私の場合、For Nextを使うと間違えることが多く、いつも恐る恐る使っているので、普通に使っているimogasiさんがうらやましいです。

> 7-samurai さんへ:回答者へのお礼を書かせて貰いましたが、済みません。
私のつまらない質問で、いつもお世話になっている回答者の皆様の情報交換の場にお役立ていただけるなら、非常に光栄です。

お礼日時:2005/01/22 10:52

> sh1.Range("C6:C10").Value = sh2.Range("F5;F9").Value


> としても、セルの値を持ってくることができません。

変だと思ってみてみました。

そりゃそうでしょう。F5;F9のところがコロンじゃなくセミコロンになってますから。
    • good
    • 0
この回答へのお礼

ものすごく、単純なミスだったのですね・・・。
お恥ずかしい。

一人ごと:以前も同じ形で試してみてだめだったけど、同じ間違いをしていたのかなあ。

P.S> 7-samuraiの質問ですみません。
私のつまらない質問で、いつもお世話になっている回答者の皆様の情報交換の場にお役立ていただけるなら、非常に光栄です。

お礼日時:2005/01/22 10:34

Appliction.ScreenUpdating=False


sh2.Range("F5:F9").Copy
sh1.Range("C5:C9").PasteSpecial Paste:=xlValues
Appliction.ScreenUpdating=True

Application.ScreenUpdating = False
sh2.Range("F5:F9").Copy
sh1.Range("C5:C9").PasteSpecial Paste:=xlValues
Application.ScreenUpdating = True
の誤りでした
    • good
    • 0
この回答へのお礼

教えていただいたコードは、今回の質問のみならず、色々なシーンでつかえそうですね。
ありがとうございました。

お礼日時:2005/01/22 10:23

こんにちは。



↓でどうでしょうか?
--------------------
Sub test()
Dim sh1 As Worksheet, sh2 As Worksheet

Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")

sh2.Range("F5:F9").Copy _
Destination:=sh1.Range("C5")

End Sub
    • good
    • 2
この回答へのお礼

また一つ、新しいコードを覚えました。
ありがとうございました。

お礼日時:2005/01/22 10:53

このコードに対して一番簡単な方法は


Appliction.ScreenUpdating=False
sh2.Range("F5:F9").Copy
sh1.Range("C5:C9").PasteSpecial Paste:=xlValues
Appliction.ScreenUpdating=True
なたは
For I = 6 To 10
Worksheets("sheet2").Cells(I - 1, 6).Value = Worksheets("sheet1").Cells(I, 3).Value
Next
    • good
    • 3

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qシートベルトの固定解除

チャイルドシートを取りはずそうとして,(シートベルトの固定機能が作動しているときに)誤って,チャイルドシートの固定する金具の軸に引っかけてしまい,そのためチャイルドシートが取り外せなくなってしまいました。つまり引っ張っても,固定されてしまってシートベルトが伸びずにはずせなくなってしまったのです。
一度,シートベルトを巻き戻すほかに,シートベルトの固定を解除する方法はないのでしょうか。
車屋さんに頼むしかないのでしょうか。

Aベストアンサー

最近の車のリアシートの、最後までシートベルトを引き出すとカチカチカチカチと引き込まれるタイプですね?

探してもないかとは思いますが、お車によってはどこかをどうにかするとシートベルトが、チャイルドシート固定機構が外れる構造になっているかもしれません。その場合は、お車の取扱説明書に書かれている場合もあると思いますので、まずは探してみて下さい。(外車や高級車ですと、電気的に、裏コマンドで、例えば“どこかのスイッチを何回繰り返し押すとチャイルドシート固定機構が外れる。”なんてことになっているかもしれませんので、)無理に何かをやってみる前に、その辺(取扱説明書や、ディーラーに電話 問い合わせ)をまずよく確かめてみて下さい。

次に、“知恵の輪”的にやってみるしかないです。まず、反対側のシートベルトで、どこまで引き込めばチャイルドシート固定機構がフリーになるのかを確認し、その長さまで何とか引き込めないかを、知恵の輪の様にやってみるのです。これでしばらくやってみても無理でしたら、もう無理です。


次に、どこかを外し始めることになりますが、セダンですと、取扱説明書に、リアシートの外し方が載っている場合が多いです。これは、最近のリアシートは、シートカバーを付けたり外したりしやすいように、工具なしで簡単にリアシートが外れる場合が多いのです。リアシートが外れれば、その分すき間ができますので、その分引き込めてチャイルドシート固定機構がフリーになるかもしれません。
これも、シートを外す前に、反対側ベルトで長さを確認してから作業を始めたほうが良いですね。


フロントシートベルトに付いているアンカー(肩の上にある、肩ベルトの高さを調節する部分。)のようなものがリアシートベルトにも付いておりましたら、最後の手段があります。

(上記が全てが不可でしたら、)“最後の手段”、シートベルトの一番上のアンカーのところのボルトだけを外します。自転車の車輪が外せる程度のDIYが出来るかたがおられましたら、可能な作業ではありますが、100%の自信がある場合以外は、専門家に頼んで下さい。
ラチェットハンドル(http://www.koken-tool.co.jp/img/products/tec/ratchet/3753n.jpg)と ソケットレンチ(http://www.koken-tool.co.jp/catalog/img/main/h4/4400m.jpg)といった工具を必ず使って下さい。

決してこんな モンキレンチ(http://www.kyototool.co.jp/products/catalog/nepros/nwm.jpg)や スパナ(http://www.kyototool.co.jp/products/catalog/nepros/ns2.jpg)は使ってはいけません。

どこのボルトを緩めるかといいますと、リアシートベルトを支えてる、一番上の部分てありますよね?座った時に肩より上に来る部分です(アンカーといいます。)。これは、ボルト1本で取り付けられているのですが、きっとプラスチックの めくらぶた が付いていると思いますが、まずこれを外し、 ボルトを緩める前に、油性マジックインキなどでボルトの頭の一番上に印を付けておくと、あとで締め付けるときの目安になります。
その後、ソケットレンチにて、反時計回りにじわっと緩めます。この時注意して頂きたいのは、緩んだ瞬間に工具がリアガラスに当たって割れないように充分に気を付けて下さい。

ボルトが緩みさえすれば後は簡単です。手でボルトをクルクル緩め、完全に外れる前に、アンカー内にあるスペーサーやワッシャーをなどを なくさないように気を付けて、付いてる順番などを覚えながら外して下さい。

これでかなりの量のベルトが引き込めるようにはなるのですが、これを外したところで、必ずチャイルドシート固定機構が外れるかどうかは分からないというのが実際です。なぜなら、お車が、どの程度ベルトが引き込まれれば固定機構が外れるかや、チャイルドシートがどの程度ベルトを消費(巻き付き)しているかによって、変わってくるのです。

(リアシートの方は、アンカーが内装トリムの中に隠れているタイプの車もあり、その場合は、トリムを外すといったことは、出来そうな気がしても、お勧めできません。  トリムはなれない人が外すと割れてしまったりします。)


リアシート座面を外して、腰より下の部分のシートベルト(左シートなら腰の左側)の取り付け部を外す方法もありますが、ここまでやる場合は、よほど自信がある場合だけにして下さい。
(車をいじくるのが好きでいつもやっているかたですと簡単な作業ですが、そうでない場合は、工具を使う作業については専門家に頼んで下さい。)

最近の車のリアシートの、最後までシートベルトを引き出すとカチカチカチカチと引き込まれるタイプですね?

探してもないかとは思いますが、お車によってはどこかをどうにかするとシートベルトが、チャイルドシート固定機構が外れる構造になっているかもしれません。その場合は、お車の取扱説明書に書かれている場合もあると思いますので、まずは探してみて下さい。(外車や高級車ですと、電気的に、裏コマンドで、例えば“どこかのスイッチを何回繰り返し押すとチャイルドシート固定機構が外れる。”なんてこと...続きを読む

QExcel でシート間の重複データ(Sheet1のA=Sheet2のA かつ Sheet1のB=Sheet2のB)

Excel2000です。

Sheet1のA列・B列・C列・・・にデータが入っています。
Sheet2のA列・B列・C列・・・にデータが入っています。

Sheet1のA列とSheet2のA列は、似たようなデータが入っています。
Sheet1のB列とSheet2のB列も、同様です。
C列以降のデータは、シート間で全然関係ありません。

Sheet1の行データ(A列・B列)が、Sheet2(A列・B列)にも存在しているかどうか、
を知るには、どうすればよいですか。
C列以降の列のデータは、比較する際に使いません。

つまり、
Sheet1のA = Sheet2のA
かつ
Sheet1のB = Sheet2のB
であるような行を知りたいのですが、

どうすればよいのでしょうか。

Aベストアンサー

Sheet1、Sheet2 ともに空いている列に =A1&B1 のような連結データを作り、Matchなどで比較するとか、、、

Sheet1 の E1 =A1&B1
Sheet2 の E1 =A1&B1
Sheet1 の F1 =MATCH(E1,Sheet2!E:E,0)

Qチャイルドシートの固定金具

チャイルドシートを固定するときに使う、固定金具(ロッキングクリップ)はどこで売っているのでしょうか。
ご存知でしたら教えてください。よろしくお願いします。

Aベストアンサー

お近くのオートバックス、イエローハット、ジェームスなどで売ってます。
シートベルトだけでなく、補助ベルトも使ってつけるとしっかり固定できます。

QVBA .Value=.Value ?

とある質問の回答の中で
With セル範囲
 .Formula = "=~式の中身は省略"
 .Value = .Value  '←これ
End With
というものがありました。これは一体どういう働きをするのでしょうか?With を使わずに書くと
Range("A1:C3").Formula="=~"
Range("A1:C3").Value=Range("A1:C3").Value
初めて見ました。

Aベストアンサー

こんにちは。

With セル範囲
 .Formula = "=~式の中身は省略"
 .Value = .Value  '←これ
End With

OkWaveとの分離前に、こういうのを好んで書く人がいましたね。
ループとどちらが速いか、複雑なものでは、こちらの方が速いかもしれません。これは、一種の裏ワザなのです。

#1の方が、mougでの紹介をしていますが、ちょっと違うというか足らないです。(私が、このテクニックを、代弁するというのもおかしな話しなのですが、私も使わないというわけではありません。ただ、あまり格好のよいテクニックでもありません。)

>Range("A1:C3").Formula="=~"  '←ここに複雑な数式を置きます。
>Range("A1:C3").Value=Range("A1:C3").Value

複雑な計算を、Excelのスプレッドシート側にまかせてしまい、後は、その数式が揮発性だったり、そのために重く重くなるのを防ぐために、値貼り付けにしてしまう、という目論見なのです。マクロで、その数式の役割をさせるよりも、実際の数式のほうが楽だからということもあります。例えば、配列数式などが使われたりします。

「Range("A1:C3").Value」の右辺の値を変数で受けて、中身を調べれば分かりますが、配列の中は、数式ではなく、数値または文字列として、格納されています。Rangeオブジェクトにして初めて、数式を格納できるわけです。そして、右辺の値は、2次元配列になって、同じ構造を持つ左辺の範囲に出力されるというわけです。

こんにちは。

With セル範囲
 .Formula = "=~式の中身は省略"
 .Value = .Value  '←これ
End With

OkWaveとの分離前に、こういうのを好んで書く人がいましたね。
ループとどちらが速いか、複雑なものでは、こちらの方が速いかもしれません。これは、一種の裏ワザなのです。

#1の方が、mougでの紹介をしていますが、ちょっと違うというか足らないです。(私が、このテクニックを、代弁するというのもおかしな話しなのですが、私も使わないというわけではありません。ただ、あまり格好のよいテク...続きを読む

Qシート下にサブウーハー固定

シートの下にサブウーハーを設置したいのですが、何か良い固定方法はあるでしょうか?

Aベストアンサー

軽量化でマットをはずしたりしていないのであれば、
マジックテープの硬いほうをマットに触れる面に両面テープで
付けると、車のマットがマジックテープのやわらかいほうの役割を
するので、固定しやすいです。

QRange(Cells(32, 14)).Value = "S" がエラーになります

よろしくお願いします。いつもgooの皆さんに大変お世話になっています。
エクセルは2013です

Range(Cells(32, 14)).Value = "S" がエラーになります
メッセージは「Range メソッドは失敗しました Worksheet オブジェクト」です

32行目の14列にSを書き込みたいので、ネットで調べてやってみたのですが
よく理解できません

14という数値を使って書きたいのですが、どう書き換えたら良いでしょうか
どなたか教えてください

Aベストアンサー

この場合一つのセルですから
Cells(32, 14).Value = "S"
これだけです。Rangeは不要です。

Qお腹で固定するチャイルドシートについて

 12月に第二子が誕生する予定です。第一子は,ベビーシートとチャイルドシートが兼用になっているもの(寝かせられるタイプ)を使っていました。
 第二子の誕生に合わせて,当然もう一つ購入を考えていますが,兼用のものは高いので,下の子はお下がりを使ってもらって,上の子に新しいものを買おうと思っています。
 いまのところ,プリムキッズのようなお腹の部分で固定するタイプを考えています。ただ,肩からベルトで股まで固定するタイプに比べて,お腹のみの固定の方が,事故のときに力を受け止める場所が少ないので,体に負担がかかるのではないかと心配しています。
 国土交通省の実験サイトでは,「良」となっているので大丈夫なのでしょうが,みなさんはどう思われますか?
 また,みなさんは第二子誕生のときはどのように対応されていましたか。よろしくお願いします。

Aベストアンサー

お子さんはおいくつでしょうか?
うちの子は今3歳で、今使ってるチャイルドシート↓
http://www.coscojuvenile.com/product.asp?productID=38のベルトが目イッパイになってきた
(股下カッチンの為)事、最近お友達を乗せてあげることが増えた事等の理由からいずれ使うであろう
(最近使ってますが)ジュニアシートを購入しました。
いわゆる一般的な座台だけのジュニアシートは子供の体に直接シートベルトを装着するので、
・シートベルトが体を圧迫しないか?
・3歳の座高では微妙にシートベルトが首をかすめるのではないか?
・寝てしまった時に・・不安。
と言う不安材料があったのと、寝た時に前の台を抱えて枕代わりにしたりしてたので、前の台は必要だと
思いました。なので今まで使ってたのと同じ形(前台付)のジュニアシートにしました。
考えてらっしゃるプリムキッズも同じような前台付ですよね?

参考までに、うちの購入したジュニアシートです。↓

参考URL:http://www.coscojuvenile.com/product.asp?productID=34

お子さんはおいくつでしょうか?
うちの子は今3歳で、今使ってるチャイルドシート↓
http://www.coscojuvenile.com/product.asp?productID=38のベルトが目イッパイになってきた
(股下カッチンの為)事、最近お友達を乗せてあげることが増えた事等の理由からいずれ使うであろう
(最近使ってますが)ジュニアシートを購入しました。
いわゆる一般的な座台だけのジュニアシートは子供の体に直接シートベルトを装着するので、
・シートベルトが体を圧迫しないか?
・3歳の座高では微妙にシートベルトが首を...続きを読む

Q=IF(Sheet1!MX9="", "",Sheet1!MX9) で表した結果に条件付き書式を

こんにちは、エクセル2010を使っています。

A1セル
=IF(Sheet1!MX9="", "",Sheet1!MX9) B1セル =IF(Sheet1!MY9="", "",Sheet1!MY9)
と数式が入っていて、結果が 29% 36% などとなって居ます。

このセルに、【30%以上の場合は】と条件を与えても動作するどころか空白まで全てに条件が適用されてしまいます。

これを通常通り条件付き書式を与えるにはどうしたら良いでしょうか。

詳しい方、よろしくお願いいたします。

Aベストアンサー

少し面倒ですが、現状のA1、B1の計算式を変えない方法として
条件付き書式をいじってみては?

A1を選択して 条件付き書式 → 新しいルール → 数式を使用して、書式設定するセルを決定 を選択
下部に表示されたテキストボックスに、
=VALUE(A1)>=0.3 (0.3は30%の意)
と入力、設定したい書式を選択して設定する

あとは、A1のセルをコピー、B1に書式のみ貼り付けでOK

Q【エクセル2003】シート保護でズームとスクロールを固定させる方法。

連続投稿すみません。お世話になってます。

シートを保護した後、シートの表示(ズーム)を変えられないようにしたいのですがどのようにすれば良いのでしょうか。70%で固定させて使ってもらいたいのです。

また、スクロールさせないようにする方法も知りたいです。

ご教示のほどよろしくお願いします。

Aベストアンサー

こんにちは。

>シートを保護した後、シートの表示(ズーム)を変えられないよう
本来、表示(ズーム)は、相手のPC環境に依存しているので、ユーザーオプションとして固定する方法はありません。

ですから、以下のように、マクロで行う方法しかありません。

標準モジュールの Auto_Open() や
ThisWorkbook モジュールの Private Sub Workbook_Open()
に、以下の中身をそっくり入れると良いです。


Sub TestZoomFixed()
'-----------------------
  '最初にシートの選択を必ずすること
  Worksheets("Sheet1").Select
  With ActiveWindow
    If .Zoom = 100 Then
      .Zoom = 70
    End If
  End With
  With Application.CommandBars.FindControls(, 925).Item(2)
    .Enabled = False
  End With
'----------------------
End Sub

終了時などに、
標準モジュールに、Sub Auto_Close() や

ThisWorkbook モジュールに
Private Sub Workbook_BeforeClose(Cancel As Boolean)
で、以下の中身を入れてあげます。

その反対は、
ズームは保存されますから、必要がなければ、コメントブロックのままにしてよいです。ただ、他のシートも同時に開いていたブックも、メニューからズームが使えなくなっています。(解決方法はあります)
'---------------------------
  Worksheets("Sheet1").Select
  'With ActiveWindow
  '  .Zoom = 100
  '  End If
  'End With
  With Application.CommandBars.FindControls(, 925).Item(2)
    .Enabled = True
  End With
'---------------------------

>スクロールさせないようにする方法

意味がはっきり分からないというか、取り違えているかもしれませんが、スクロールさせないという意味そのものは、スクロールロックをしてしまうことになるので、たぶん違うと思います。

例えば、使わない行や列を下や右端列まで選択し、

 書式-行-非表示、
 書式-列-非表示

としてしまう方法があります。その後で、

他にも、マクロで、シート・プロパテイのScrollArea というものがあって、その範囲を設定させてしまうと、範囲から外にはスクロールが出来なくなります。

例:
ThisWorkbook モジュールなどに入れてあげます。
Worksheets("Sheet1").ScrollArea ="A1:E10"

こんにちは。

>シートを保護した後、シートの表示(ズーム)を変えられないよう
本来、表示(ズーム)は、相手のPC環境に依存しているので、ユーザーオプションとして固定する方法はありません。

ですから、以下のように、マクロで行う方法しかありません。

標準モジュールの Auto_Open() や
ThisWorkbook モジュールの Private Sub Workbook_Open()
に、以下の中身をそっくり入れると良いです。


Sub TestZoomFixed()
'-----------------------
  '最初にシートの選択を必ずすること
  W...続きを読む

Qウォッチウインドウで確認すると、「Range("a1").Value」は「十」ボタンができる

Sub test()
Dim Strmoji As String
Strmoji = "a"
MsgBox Range("a1").Value
MsgBox Strmoji
End Sub

Range("a1").ValueとStrmojiをウォッチ式に追加して
このコードをF8でデバッグしていくと
Range("a1").Valueの方だけ「十」ボタンが付き、
クリックすると広がりたくさんの情報が表示されています。

これはRangeだからですか?Cellも試してみたけど同じでした。
しかしなぜ、Strmojiは「十」ボタンがでないのでしょうか?

「十」ボタンがでるのとでないのでは何が違うのですか?
よろしくお願いします。

Aベストアンサー

こんにちは。

端的に言って、ウォッチ式の登録が間違ってはいませんか?
添付の図をみてください。

 Range("A1")+....Object/Range
 .Value .........Variant/String
 Strmoji.........String

この前も別の方の質問でも、ウォッチウィンドウがありましたが、値を確認するなら、ローカルウィンドウでも良いと思うのですが……。プラス(+)が右隣に出るのは、オブジェクト・配列・コレクションということになるのだろうとは思うのですが、それは、開ければ分かると思います。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング