- ベストアンサー
マクロでセルのコピーをする方法
E2に関数の結果が入っています。(D2に検索値、範囲は別シート) E2をD2にデータが入っている行まで下にコピーするようなマクロを作りたいのですが、どのような式を書けばよいのでしょうか。 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- エクセルのマクロと関数について
お世話になります。 1)マクロの方法で以下のようにしたいのですが可能でしょうか? 1行目にオートフィルタがかかっていればAAの処理をし、もしオートフィルタがかかっていないのであればBBの処理をしなさい。 というようなマクロです。if~then~else をつかってすると思うのですが、どうもうまくいきません。 2)関数もしくは式を使って以下のようにしたいのですが可能でしょうか?(ほかに方法があるのであれば関数、式にこだわりません) エクセルのデータベース(A1:E100のデータとし、A1:E1は項目が入っており、A1:E1にオートフィルタをかける)からオートフィルタをかけて項目を絞るのですが、出てきた結果の1番上、つまりA2:E2にあるB2とD2の結果を別のシートにある結果欄それぞれ2箇所にコピーする。多分別シートにある結果欄に何らかの関数とか式を入れればいいのかなと思いますが・・・ ちなみに上記2つの質問は関連性はありません。 わかりにくい質問で申し訳ありませんが、必要ならば補足いたします。 かなり困ってますのでよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 検索した文字のセルを基準に範囲指定コピーのマクロ
表題のマクロを教えてください。 検索範囲 シート1のA1:K100 検索する文字 ” 成績 ” コピーする範囲 見つかったセルの下の行から5行~10列まで全部。 貼り付ける場所 シート2のB1 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルの関数のコピー
エクセルの関数を下のセルにコピーをすると、1つずつ関数の式がずれてくるのですが同じ範囲の関数を同じ様に入力したい場合はどうすればいいですか? 例)=VLOOKUP(F3,Sheet2!A1:E5000,2,0) という関数があったとすると 次の行には=VLOOKUP(F4,Sheet2!A1:E5000,2,0) と検索値のみが1つ変わる感じにしたいのですが・・・ コピーでは無理なのでしょうか。やはり1つ1つ数式を入れてやらないとだめでしょうか。
- ベストアンサー
- その他([技術者向] コンピューター)
- マクロでコピー貼り付けやってみたいのですが。
マクロの初心者です。Dim で宣言してやりたいと思っています。 既存のExcelの機能で出来ないことはないと思いますが、敢えて、マクロででないか。 やってみたいと思っています。 やりたいこと等について 1 sheet1のE2:J1109の範囲のデータをコピーしての別sheet2のE3:J1110の範囲に貼り付けたい。 2 その時に最終行を取得してコピーをするとしたら、どんなコードが必要なのか 3 最終行の取得のコードの書き方が分からない 4 ネットで下記のような(一部変更)に作ってみたが、これで良いのでしょうか、わからない。 以上のことを答えて頂けませんか。よろしくお願いします。 Sub テスト() Dim range1 As Range Set range1 = Range("E2:J1109") range1.Copy ActiveSheet.Paste Destination:=("sheet1").Range("E2:J1109") ActiveSheet.Paste Destination:=("sheet2").Range("E3:J1110") Application.CutCopyMode = False End Sub
- ベストアンサー
- Visual Basic
- エクセル:下にコピーをマクロで(条件付)
お世話になります。 エクセルでの入力で、「下にコピー」を多用する仕事があります。 以下の例をマクロでやりたいです。 例 まずC列、D列、E列のうちデータが入っている行がもっとも大きい列を判断します。 C10、D12、E13が各列のデータが入っている最大行の場合、E13の13行目が最大になります。このようにE列が最大になる場合、C列はC10の値を13行目まで下にコピー、D列はD12の値を13行目まで下にコピーします。(Ctrl+D) (ここでいう13行目までというのは最大値E13の13を意味します。) また、C12、D15、E11が各列のデータが入っている最大行の場合、D15の15行目が最大になります。D列が最大になる場合は、C列のC12の値を15行目まで下にコピーします。(E列に対してはなにもしない) さらに、C13、D10、E11が各列のデータが入っている最大行の場合、C13の13行目が最大になります。C列が最大になる場合はなにもしない。 C列、D列、E列のうちデータが入っている行がもっとも大きい列が判断できない場合(C14、D14、E12など最大行が同じ場合)の時も何もしません。 これをマクロでやる場合、どうすればよいでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルの関数 vlookup 関数で式の作り方&コピーの仕方
vlookup関数で、下のように式を入力しますよね。 =vlookup(検索値,検索範囲,列番号) で、列番号のところはその、検索したい列番号にしなければ、いけないのですが、単純に横方向にコピーすると、列番号は、変化しないのですね・・・横に長いデータを使用しているので、列番号を一つずつ書いていくのが、面倒なのですが、みなさん、そうされているのでしょうか?? また、別件で、このように別のシートからデータを持ってくるように作った式のシートを、コピーして、別のファイルに貼り付けると、その検索先が、式を作った場所のままになってしまいますよね(コピー→貼り付けで、数式のみにしても・・・) この解決方法はないのでしょうか??当方、マクロやVBAはわからいのですが・・・・ どなたか、良い方法がありましたら教えてください。よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロでセルの値を下へコピーするには
ご教授下さい。 毎日送られてくる項目数の多い表を、必要な項目のみ取り出して表を整理するマクロを組んで使っています。しかし、日によって行数が違う為、ある列に数式を入力して下へコピーする場合、マクロ操作が終わってからオートフィルを使って下へコピーしています。行数が違っても行数分だけ下へコピーできるマクロを教えて下さい。何卒よろしくお願い致します。 A列 B列 C列 D列 E列 1行 豆 10入 2個 100円 (数式CXD)200円 2行 飴 20入 3個 150円 (数式CXD)450円 3行 餅 10入 4個 100円 (数式CXD)400円 4行 麦 15入 2個 200円 ↓ 5行 米 20入 4個 100円 ↓ 上記のような表でE列の数式を下へコピ-するマクロです。 日によって行数に違いがある場合でも行数分だけ 下へコピー出来るマクロを教えて下さい。
- ベストアンサー
- その他MS Office製品
- エクセルのマクロで行いたいのですが。シート1からシート3(ジャンル別の
エクセルのマクロで行いたいのですが。シート1からシート3(ジャンル別の商品データ)にあるデータを入荷した商品名で検索し、その検索結果の行を入荷した数量分コピーして、シート4(印刷)に上から順に貼り付けます。その結果をバーコードラベルで印刷し、商品に貼り付けていきたのですがどなたか教えてください。現在は、いちいちシート毎で「Ctrl+F」で検索画面を出し、商品名を検索し、なければ別のシートで検索し、該当するものが見つかれば選択して、行をコピーして印刷シートに貼り付けています。とても時間がかかっています。 シート1から3の構成は、ジャンル別で分かれていますが、 A列:商品名、B列:メーカーコード、C列:自社コード、D列:売価、E列:原価、F列:登録日 です。バーコード印刷のマクロは出来てます。 複数のシートから検索し、コピーして、印刷シートに貼り付けるマクロです。 エクセルは2003で、OSはXPのSP3です。
- ベストアンサー
- Visual Basic
- ◯ならば、右セルをコピーし、1セルにまとめるマクロ
エクセルのマクロで、顧客管理情報のシートを作成しています 例えば下のような二列のセルがありまして、(|は、セルの境目を表す) ◯ | A ◯ | B × | C ◯ | D この時、 ◯のついている行の値だけど、つなげたいと思っています。 この場合であれば、得たい値は「A、B、D」という値です。(AとBの間を ”,” などで区切ろうと考えています。 エクセルの関数でいえば「A1&","&A2」といったところでしょうか・・・ そのような操作を、上のテーブルでいえば「◯」のついているセルに対してのみ実行してもらうマクロを組みたいです。 このような場合、どうしたら良いでしょうか? アドバイスを、どうぞよろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- 数式のコピーのズレを直す方法、マクロ、関数のいずれかの方法を教えてください!!
数式のコピーのズレを直す方法、マクロ、関数のいずれかの方法を教えてください!! Sheet1には、計算結果が表示されるようにしてあります。 その結果の数式は、 =IF(Sheet2!A1="","",IF(Sheet2!A1<2,"<",ROUND(Sheet2!A1,2))) と、入っています。 計算結果の表示上、「Sheet1 A1とA2」の2行のセルを結合して1行にしてあって、対して「Sheet2はA1」の1行です。 これをつぎの「Sheet1 A2」に数式をコピペしていくと、 =IF(Sheet2!A2="","",IF(Sheet2!A2<2,"<",ROUND(Sheet2!A2,2))) と、していきたいのですが、 =IF(Sheet2!A3="","",IF(Sheet2!A3<2,"<",ROUND(Sheet2!A3,2))) となってズレてしまいます。 これを300行ほど作らなければならないのです。 数式、1行のセルを2行の結合したセルにコピペできる方法、もしくはマクロや他の関数があれば教えていただきたいです。 わかりにくくて申し訳ありませんが、お願いします。
- ベストアンサー
- Visual Basic
お礼
ありがとうございます! 希望通りの処理ができました。