- ベストアンサー
Excel 2007 VBAで セル内数値の反映が出来ません
Excel 2007 VBAで セル内数値の反映が出来ません プログラム中に、セルの数値を参照したいのですが、うまく行きません。 下記にて、コピー元セル指定の範囲指定が、+H3 が反映できません。 ↓ Sheets("会員台帳").Select Range(Cells(CopymotoRS, 62), Cells(CopymotoRS + H3 - 1, 71)).Select Application.CutCopyMode = False Selection.Copy
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
多分、kyoutanukiさんが知りたいのは以下のような事だと思います。 Sheets("会員台帳").Select Range(Cells(CopymotoRS, 62), Cells(CopymotoRS + Range("H3").Value - 1, 71)).Select Application.CutCopyMode = False Selection.Copy 下記のように纏められます。 <例1> Sheets("会員台帳").Select Range(Cells(CopymotoRS, 62), Cells(CopymotoRS + Range("H3").Value - 1, 71)).Copy <例2> With Sheets("会員台帳") .Range(.Cells(CopymotoRS, 62), .Cells(CopymotoRS + .Range("H3").Value - 1, 71)).Copy End With 貼り付け先を指定して With Sheets("会員台帳") .Range(.Cells(CopymotoRS, 62), .Cells(CopymotoRS + .Range("H3").Value - 1, 71)).Copy Destination:=Sheets("Sheet1").Range("A1") End With とすればシートを選択せずにコピペができますし コピーモードにならないので Application.CutCopyMode = False の必要もありません。
その他の回答 (3)
- hoiho1010
- ベストアンサー率11% (13/113)
♯3さんが書かれていますね H3は ”H3” であってセルを意味していません H3自体を変数とするならば Dim H3 As Integer などと宣言しなければいけません そのうえで H3=Range("h3").Value とします 変数をかえさず直接Range("h3").Valueとしてもかまいません 基本的な事がわかっていないようですね 今のうちに基本の勉強をしたほうがいいですね この先 そういうつまらないところで躓いて先に進まなくなってしまいます 大村あつし氏の かんたんExcelVBAシリーズは比較的わかりやすいと思います
お礼
ありがとうございました。 何も解らず質問をしてごめんなさい。 基本的なことが解っていないのです。 顔を洗って出直します。でも先がないかも 基本的な勉強をしているうちに、当方の命がなくなるかも、 全ての人があなたと同レベルでないと言うことも知っておいて下さい。 だから質問しているのです。 だからこの質問箱があるのです。 と私は思います・・・ 質問に回答を頂いていて申し訳ないですが、 残念 残念
- hoiho1010
- ベストアンサー率11% (13/113)
追伸 行の指定だとすれば Range("h13").Row です
お礼
ありがとうございました
- hoiho1010
- ベストアンサー率11% (13/113)
H13ってナンデスカ? 変数でなければ Range("h13").Value ではないのですか?
お礼
ありがとうございました 当方理解力がなくてすみませんでした。
補足
変数に、セル H3 の数値を加えて、コピー範囲を指定したいのです。 コピー範囲の 左上から右下の右下部分に H3 の数値を加えたいのです。
お礼
貴殿のお察しの通りでした。 例1で入力したところ、バッチリ思ったとおりに稼動しました。 これでいろんなことを前に進めることが出来ます。 当方初心者で、何も解ってない70歳の老人です。 何も解らず質問をしてごめんなさい。 貴殿からご提案頂いた件は、もう少し勉強をしてから取り入れたいと思っています。 本当に、ご親切に、お教え頂きありがとうございました。