[[20020625233750]] 『関数で数式から数値を貼付けしたい』(サクラ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『関数で数式から数値を貼付けしたい』(サクラ)

またお世話になります。 (サクラ)

マクロを使わず関数を使って数式から数値を貼付けしたいのですが可能でしょうか?

実はマクロの記録で貼付けを行い正しく動作したのですが、それ以上の条件つけ等が私の力では

全く手におえません。

例)関数から作成した1年分の集計表(シート1)の数値のみを別のシート2に全く同じ

  表の形式で貼付けを。

  シート1のb7:K18をシート2のb7:k18の数値を貼り付ける。


 Sheet1の表の列幅、行の高さ,フォント色やパターンなどを、別のSheet2に全く同じ表の形式で値を貼付けたい。

@Sheet1の列番号と行番号の交点(A列の左側)をクリックすると、Sheet全体が選択されます。(Ctrl+A)でもできます。

ASheet全体をコピーします。

BSheet2を選択し、Ctrl+AでSheet2全体を選択して、Enterで貼り付けます。

CSheet2のB7:K18を選択してマウスの右クリックメニューでコピーします。

D同じく右クリックメニューの【形式を選択して貼り付け】で【値】をチェックしてOK,Enterで完成します。

 試してみて下さい。

 (シニア)

有難うございます。

 その方法をすでに同じように確認もできており、またマクロ記録で値のみの貼付けもやって

みました。うまく出来たのですが。

実はマクロ記録でやりたかったのですが条件つけや特定セルの値から貼付け先を変える、等

編集でアレンジしたいのですが入門者なので手が出ません。そこで関数を使って行えないかと

思って質問させていただいた次第です。(ゴスミマセン、サクラ)

関数では無理があるのでしょうか?


 バトンタッチしましたkazu です。

 サクラさん、この際ですからVBAを覚えてください。

 シート1のB7からK18の範囲を選択して、シート2のB7からK18の範囲に値で貼り付け

 るとマクロは↓のようになります。

 Sub Macro1()

 ' Macro1 Macro マクロ記録日 : 2002/6/29  ユーザー名 : kazu

     Range("B7:K18").Select

     Selection.Copy

     Sheets("Sheet2").Select

     Range("B7:K18").Select

     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _

     SkipBlanks:=False, Transpose:=False

 End Sub

 このマクロで何を変更したいのでしょうか?

(kazu)

kazuさん、有難うございます。

上記マクロのなかでvlookupを挿入し

 =VLOOKUP('4月'!C2,データベース!B4:M63,2) <--抽出した2番目の値は番地を入れてあります。

 これで抽出した値(セル番地)を

Range("B7").Select のB7を変数(セル番地)として使いたいのですが。

 vlookupで見つけた所(列番号1)のセル値(番地)を抜き出せる方法を考えていたのですが、

それよりもデータベースシートのセルC列に直接番地を入れごまかしました。

APPLICATIONを追加を現在読んでいるところです。 (サクラ)

 VLOOKUPをマクロ外のデータベースシートのA2で行い。

 その値をマクロで実行させるとエラーになりました。

 ”RangeクラスのpastSelectメッソッドが失敗しました”

 

    Sheets("集計データ").Select

    Range("B7:AC18").Select

    Selection.Copy

    Sheets("データベース").Visible = True

    Sheets("データベース").Select

    BANCHI = Range("A2").Value

    Range(BANCHI).Select

    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _

        False, Transpose:=False

    Sheets("6ヶ月").Select

End Sub

    未熟なもので解決に至りません。


 マクロにVLOOKUPを組み込みました。

 コピーする前にVLOOKUPしたいのか、後なのかなど情報が不足しているので、

 間違いが多いと思いますが、このマクロを中心に進めてゆきましょう。

 (kazu)

 Sub Macro1()

 ' Macro1 Macro マクロ記録日 : 2002/6/29  ユーザー名 : kazu

 Dim adr As Variant,rng1 As Range, rng2 As Range

     ' 元シートをコピー・sheet1

     Sheets("Sheet1").Select

     Range("B7:K18").Select

     Selection.Copy

     '目的シートに貼り付け・sheet2

     Sheets("Sheet2").Select

     Range("B7:K18").Select

     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _

     SkipBlanks:=False, Transpose:=False

     'シート1のC2をキーにしてシート3のテーブルB4:C8を探す

     Set rng1 = Worksheets("Sheet1").Range("C2")

     Set rng2 = Worksheets("Sheet3").Range("B4:C8")

     adr = WorksheetFunction.VLookup(rng1, rng2, 2)

     '求めたアドレスを選択する

     Range(adr).Select

 End Sub


kazuさん、早速行ってみました。 GOODです。

 私の方法でも翌日立ち上げ直したら動きました。何だったのかな?

いろいろ参考になり大変有難う御座いました。 初歩の初歩なので苦闘の連続!!

何度もお聞きするかと思いますがお許し下さい。 感謝!!


 とりあえず、動いてよかったですね。

 (kazu)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.