• ベストアンサー

VBAプログラムを教えてください

Sheet1のA1セルに○と入力した時にSheet2のB2~B10セルのデータをSheet1のA2~A10セルにコピーするプログラムを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

シート1のA1が ○ か それ以外 とする ○のときは シート1のA2=シート2のB2  ・・・  シート1のA10=シート2のB10 とする シート1のA2に =IF($A$1="○",Sheet2!B2) 書き込む これを、A10まで引っ張ってコピーする 以上

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAプログラムを教えてください2

    A1セルに1を入力したときにA5セルにシート2のA10セルの値を入力、A1セルにBを入力したときにはA5セルにシート2のB10セルの値を入力したいのですがどういうプログラムを組めばいいのでしょうか教えてください。

  • VBAにてデータを振り分けたい。

    2つのシート(sheet1、sheet2)があり、sheet2に振分けるデータ(下表)を作成しておきます。   (列)  A   B   C   D (行)   1     山   川   地   空  2     ○   △   ×   □  3     ア   イ    ウ   エ (1)ユーザーフォームを作成し、その中にコンボボックスを作成して山を入力する。 山は、セルA1へ、川は、セルB2へ、地は、セルC3へ、空は、セルD1、それぞれ 決められたセルにコピーされる(すべてsheet1へコピー)。 (2)にコンボボックスにて○を入力する。○はセルA1へ、△は、セルB2へ、×は、 セルC3へ、□は、セルD1へ、それぞれ決められたセルにコピーされる(すべて sheet1へコピー)。 ちなみに(1)と(2)のコピーされるセルの位置は同じ場所です。 というようなものをExcelのVBAにて作成したいのですが、VBAは、まだよくわかりません。 出来れば、sheet1のセルに数式などを入力したくはないのですが...。 どうか皆様のご指導を宜しくお願い致します。

  • ExcelのVBAにてキーになるものを入力すると、その関連データを振り分ける

    2つのシートがあり、sheet2に振分けるデータ(下表)を作成しておきます。   (列)  1   2   3  (行)   1     A   B   C  2     ○   △   ×  3     ア   イ    ウ (1)sheet1にコンボボックスにてAを入力する。AはセルA1(固定)に、BはセルC3(固定)に、Cは、セルE5にそれぞれ決められたセルにコピーされる。 (2)sheet1にコンボボックスにて○を入力する。○はセルA1(固定)に、△は、セルC3(固定)に、×は、セル(E5)にそれぞれ決められたセルにコピーされる。 (1)と(2)のコピーされる場所は、同じ場所です。 というようなものをExcelのVBAにて作成したいのですが、VBAは、あまりよくわかりません。 宜しくお願い致します。

  • ExcelのVBAにてキーになるものを入力してデータを振分けたい

    2つのシートがあり、sheet2に振分けるデータ(下表)を作成しておきます。   (列)  1   2   3  (行)   1     A   B   C  2     ○   △   ×  3     ア   イ    ウ (1)sheet1にコンボボックスにてAを入力する。A、B、Cは、それぞれ決められたセルにコピーされる。 (2)sheet1にコンボボックスにて○を入力する。○、△、×は、それぞれ決められたセルにコピーされる。 (1)と(2)のコピーされる場所は、同じ場所です。 というようなものをExcelのVBAにて作成したいのですが、VBAは、あまりよくわかりません。 宜しくお願い致します。

  • エクセルVBAのプログラム

    A.xlsからB.xlsのファイル(最初はA..xlsのみが開いています)へのデータ転送をしたいのですが、プログラムが組めません(>n<)  すみませんが誰か助けてください。 行いたい作業は以下の通りです。 ※デスクトップにあるB.xlsを開く ※A.xlsのセル「A1~A5」をコピーしてB.xlsのAの列の列で空欄の行を見つけて、列と行を入れ替えて貼り付ける(もしB.xlsのA10までデータが入力されていたら、貼り付ける場所はA11~F11になります) ※B.xlsは作業終了後自動保存して閉じる その際に ※A.xlsのセル「A1」にはデータ名が記入されているのでB.xlsのAの列にその名前があれば、そこに上書きする形にしたい。 ※A.xlsのA2のセルには「55,23」のように二つの数字が「,」でつながって入力されているので、B.xlsに貼り付けるときには、二つのセルにわけてそれぞれの数字を貼り付けたい。 お手数おかけしますがよろしくお願いいたします。

  • VBAについて

    いつもお世話になっています マクロ・VBA超初心者です。 質問させてください。 現在シート1の完売のセルの欄に○が入っていれば日付をみてシート2の同じ日付の隣のセルに○を入力しようと思っているのですが、シート2の日付を検索はしているんですが入力がいきません Sheet1  ↓セルA1 ↓セルB1  5月26日   26           B1のセルはDAY(A1)にて出してます         完売  A氏     ○             Sheet2  ↓A列   ↓B列 5月  1日  ・  ・  ・  26日    ○           ←シート1の所に○が付いているとシート1セルB1と同じ  27日                  日付の隣のセルに○を入力  28日 VBA Sub test() Sheets("Sheet2").Select Range("A1").Select Do Until ActiveCell = "" ActiveCell.Offset(1, 0).Activate If ActiveCell.Value = Worksheets("Sheet1").Range("B2") Then ActiveCell.Offset(0, 1).Activate If ActiveCell.Value <> "○" Then ActiveCell.Valu = "○" ActiveCell.Offset(0, -1).Activate Else ActiveCell.Offset(0, -1).Activate End If Else End If Loop Sheets("Sheet2").Select Range("A1").Select End Sub どこが間違っているかわからない状態です。 分かりにくい説明ではあるんですが教えてください お願いします。

  • エクセル vba

    VBA初心者です。 sheet2にb1からb2、b3とデータを入力していきます。 (常に最新データが下に増えていきます) sheet1のb3へsheet2の最新データ10個を(b3が常に最新データになるよう)貼り付けしたいのですがプログラムの組み方がわかりません。 最初の1個は出るようになりました;; また10個の数字をいつでも変更できるようsheet1のb1のセルに10と入力 すれば10個貼り付け、20と入力すれば20個貼り付けなども可能でしょうか?

  • EXCEL2010 VBAで空白行以外をコピー

    EXCEL2010を使用しています。 シートAではセルA1からA10に順にデータを入力していきます。 A1からA10のすべてにデータを入力する場合やA1からA4のみデータを入力する場合等があります。 このA1からA10のデータをシートBのA1からJ1にコピーしたいと思っています。 空白以外のデータをコピーして、コピー後はシートBのA1:J10で空白の列は削除したいと 思っています。 (例) シートA A1 ○ A2 ○ A3 × A4以降すべて空白 シートB A1 ○ B1 ○ C1 × D1からJ1までは列ごと削除 これをVBAで作成したいのですがどなたか詳しい方押してください。

  • Excelで、少しプログラムのようなことがしたいのですが・・・

    『A.csv』と『B.xls』のように、別々のexcelfile(または、sheet)で、どちらにも同じ項目の『C』という列があるとします。 その列の入力されているデータ(数値)が一致したとき、『B.xls』のfile(または、sheet)の『C』という列のセルにそのデータ(数値)記入させる。 …みたいなプログラムをExcelでしたいのですが、できるでしょうか?

  • EXCELのデータベース利用について(VBA)

    VBA初心者の者です。 下記の様なEXCELファイルを作りたいのですが、どのようにすれば良いのか まったくわかりません。 ACCESSでの構築が簡単なのかもしれませんが、データ量がそれほど多くないことと 職場にACCESSがないため、可能であればEXCELで構築したいと考えています。 私自身、プログラムの知識がなく、EXCEL VBAのサイトを確認するのですが、いまいち どうすれば良いのかわかりません。 ぜひご教授の程よろしくお願いします。 3つのシートの構成は以下になります。 【入力シート】 A1セルに文字列(A~Z)入力欄 【○○データシート】 A列に A~Z の文字列 B列に 001~100までの数値 C列に 001~100までの数値 D列に 001~100までの数値 E列に 001~100までの数値 例)    A列   B列   C列   D列   E列 1   A   001 2   B   001    002    003   004 3   C   003 4   D   002    003 【▽コマンドシート】 A列に 001~100までの一意の数字 B列に 文字列(コマンド) C列に 文字列(コマンド詳細) 例)    A列    B列    C列 1   001   xx     blank 2   002   xxx△   xxx 3   003   xxxx    x○ 4   004   xxxxx   xxx 【欲しいVBA】 1、入力シートのA1セルに○○データシートのA列に該当するA~Zの 文字列を入力。 2、○○データシートのB列~F列までの数値を参照 3、2の数値において▽コマンドシートのA列に記載ある番号と紐づけを行い、 ▽コマンドシートのB列、C列に記載がある文字列を入力シートのB列、C列にコピー ※コピー時は▽コマンドシートの書式や体裁情報も含めてコピー。 例としては以下になります。 入力シートの A1セルにDを入力した場合は 入力シート    A列    B列    C列 1   D    xxx△  xxx 2        xxxx    x○ 3 以上、ご教授よろしくお願いします。

このQ&Aのポイント
  • TS8530のネットワーク設定について、Windows上でのアドレス表示とプリンターのネットワーク情報が異なる疑問が出てきました。
  • WindowsからのPingには、アドレス11と21に対して応答がありますが、Canon Inkjet Smart ConnectのリモートUIが接続できない問題が発生しています。
  • プリンター用のアドレスは1つだと思われますが、現在は2つ使用されているようです。設定に何か問題があるのでしょうか?
回答を見る