• ベストアンサー

1行おきのデーターを他のシートに詰めて表示する。

1行おきのデーターを他のシートに詰めて表示する。 よろしくおねがいします。 1行おきの(シート【A】)のデーターを、他の(シート【B】)に詰めて表示する。 EXCEL関数で Range("C5").Value =【A】!B5 Range("C6").Value =【A】!B7 Range("C7").Value =【A】!B9 Range("C8").Value =【A】!B11  ~ これをVBAで実施できないでしょうか。

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

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

For X=1 To Y Cells(X+4,3)=Sheets("A").Cells(2*X+3,1).Value Next X Y:繰り返す回数 A:シート名

1211M
質問者

お礼

お礼が遅くなってすみません。 思い通りにできました。 ありがとうございました。

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

その他の回答 (1)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

できます。 "C5"や【A】!B5、にて シート名、セル位置を変数で持つことです。 http://www.voicechatjapan.com/excelvba/VBArei2.htm ここにセルの操作について技術的なこと、他いろいろ記載ありますので、 がんばればたぶん答えが出ると思います。 何がどうなっているか理解した上適用お願いします。 それでもわからないところあれば再度お願いします。

1211M
質問者

お礼

お礼が遅くなってすみません。 これから勉強してみます。 ありがとうございました。

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

関連するQ&A

  • Excelで、A列、B列の値を新しいシートに3行ごとにどんどん貼り付け

    Excelで、A列、B列の値を新しいシートに3行ごとにどんどん貼り付ける。 という事をしたいのですが、VBAを始めたばかりなので上手く書くことが出来ません。 例)    A列   B列   101  りんご    102  ぶどう   103  オレンジ   104   桃   105  バナナ      ・      ・      ・ これを別のシートに    A列   B列   101  りんご (2行あける)   102  ぶどう (2行あける)   103  オレンジ (2行あける)    104   桃 (2行あける)    105  バナナ      ・      ・      ・ と表示したいのです。 現在は下記のようなリンクで表示していますが、 件数が少ない時は4件から多い時は800件と幅があります。 出来れば表の一番下(空欄になる部分)まで繰り返し処理をしたいと思っています。 セルの中身が表示されるならリンクでもコピーでも構いません。 現在のマクロ Sub Macro2() Worksheets("Sheet2").Select Range("C11").Value="=Sheet1!A2" Range("C14").Value="=Sheet1!A3" Range("C17").Value="=Sheet1!A4" Range("C20").Value="=Sheet1!A5" Range("C23").Value="=Sheet1!A6" Range("H11").Value="=Sheet1!B!" Range("H14").Value="=Sheet1!B2" Range("H17").Value="=Sheet1!B3" Range("H20").Value="=Sheet1!B4" Range("H23").Value="=Sheet1!B5" End sub 45行分まで書いたところで途方に暮れております。 よろしくお願いいたします。

  • エクセルVBA ワークシート関数の使用について

    エクセル2003VBA ワークシート関数の使用についての質問です よろしくお願いします。 4桁の数字を、千の位・百の位・十の位・一の位に分解する関数ですが 例えば A1に4桁の数字があり、B1に千の位を表示する場合ですが ワークシート関数の場合 B1=MOD(INT($A$1/1000),10) となりますが VBAにてそのまま使用し Range("B1").value=Application.WorksheetFunction.MOD(INT(Range("A1")/1000),10)とするとエラーになります。 エラーになる原因は、いろいろ調べたら分かったのですが この様に、一発でB1に計算結果を入れたいのですが、どうしたらよろしいでしょうか 現在は、 Range("C1").Formula = "=MOD(INT(A1/1000),10)" Range("B1").value=Range("C1").value 一旦、C1に置き換えてから行っています。 よろしくお願いします

  • エクセルで複数行の抽出結果データを表示したい

    こんばんは。行き詰ってどうしようもありませんので質問いたします。どうかご教授ください。 エクセルの抽出データ表示についてなのですが、sheet2にデータを置き、sheet1に結果表示を行おうと思っております。 問題なのは、sheet2にあるデータが複数行にわたっているということと、データがかなり多いということです。 例としてsheet2は以下のようだとします。   A       B      C      D 1 ルート1 大阪→  奈良→   京都 2       滋賀   ←三重    ←  3 ルート2 大阪→  京都→   奈良 4       滋賀   ←三重    ← 5 ・・・以下 データが続く・・・・ Sheet1の任意のセルで「ルート1」を選択すると、選択セルの下あたりにsheet2のB1:D2を表示したいのです。 ルートが20ほどあるのですが、1つのセルに20回のIF文を使えないし・・VLOOK関数、HLOOK関数などはそれぞれ1行、1列しか対応していないので複数行の表示ができないし・・ もちろんVBAなどわからない素人です。 もう半分あきらめかけている状態ですが、もし!うまくいく方法があるのでしたらお教えください。 お願いいたします。

  • エクセルでシート1の連続している行をシート2に表示

    こんにちは。エクセルでの作業方法の質問です。 早速ですが、シート1のA列が縦に1日~月末まで月日表示されています。その1日分は2行を結合して1日分となっています。 また1日分の横(B列~Z列)に数字のデータが並んでいます。 その中で1日分の行だけを隣のシート2に表示したいのです。 さらにその表示する1日分のデータ(B列~Z列)は、いわゆる現在の 日付『=TODAY()』のようにエクセルを開いた時に当日のデータをシート1から持ってきて表示(参照?)したいのです。 例えば:シート1に下記のデータがあります。 A   B   C    D    E 7/1  6    3    9    11 7/2  10   2 8 15 7/3 2 1 8 12 今日が7/2だとしたら上記シート1から 7/2 10 2 8 15の行だけをシート2の任意の 行に表示させたいわけです。 翌日になったら、7/3の行をシート2の同じ位置に 表示させたいのです。 前日(この場合7/2のデータは上書きされて7/3のデータ が表示されればよいです。) 以上ですが、質問の表現方法がうまくなくてすみません。 どうか、よろしくお願いします。

  • エクセルでシート1の連続している行をシート2に表示

    こんにちは。エクセルでの作業方法の質問です。 早速ですが、シート1のA列が縦に1日~月末まで月日表示されています。その1日分は2行を結合して1日分となっています。 また1日分の横(B列~Z列)に数字のデータが並んでいます。 その中で1日分の行だけを隣のシート2に表示したいのです。 さらにその表示する1日分のデータ(B列~Z列)は、いわゆる現在の 日付『=TODAY()』のようにエクセルを開いた時に当日のデータをシート1から持ってきて表示(参照?)したいのです。 例えば:シート1に下記のデータがあります。 A   B   C    D    E 7/1  6 3 9 11 7/2  10 2 8 15 7/3 2 6 1 7 今日が7/2だとしたら上記シート1から 7/2 10 2 8 15の行だけをシート2の任意の 行に表示させたいわけです。 翌日になったら、7/3の行をシート2の同じ位置に 表示させたいのです。 前日(この場合7/2のデータは上書きされて7/3のデータ が表示されればよいです。) 以上ですが、質問の表現方法がうまくなくてすみません。 どうか、よろしくお願いします。

  • EXCEL 入力された数値を別シートから検索したい

    EXCELで、以下のようなデータシートを作成しています。   A   B   C   D   E 1 あ  10 2 い  20 3 う  30 4 え  40 5 お  50 別シートのA1に「30」と入力したら、 B1に「B3」とデータシートの「30」が入力されている セルのアドレスを表示したいのです。 もしくは行番号だけでもいいのですが、 このような場合、どの関数を使用すればよろしいのでしょうか? VBAは避けたいです。 よろしくお願いします。

  • シートの非表示について

    マクロを始めたばかりで解読はできるのですが、まだまだ自分で文書を作ることが出来ません。どなたか教えて下さい。 (1)まず、A,B,C,Dのシートを作ります Aシート = 入力シート Bシート = 入力シートで入力したデーターを表にして表示されるシート Cシート = 入力シートのセルA1~A15までのデーターがCシートのA1~A15に表示されるシート Dシート = 入力シートのセA16~A30までのデーターがDシートのA1~A15に表示されるシート (2)マクロボタン『非表示』を押す (3)シートが下記のように非表示される Aシート = 表示 Bシート = 表示 Cシート = シートのセルA1に入力があれば表示、無ければ非表示 Dシート = シートのセルA1に入力があれば表示、無ければ非表示 (If Sheets("Cシート").Range("A1").Value <> "" Then)みたいな というマクロを作りたいのですが。

  • 縦に並んだシートのセルデーターを他のシートに1行間隔で転記する

    よろしくお願いします。 シート【あ】のデーターを、シート【い】のようにしたいのですが 方法を、教えてください。 シートあ     A   B   C   D 1        55 2        66 3        77 4 5      ↓ ↓ シート【い】     A   B   C   D 1            55 2     3            66 4 5            77 Private Sub CommandButton2_Click() Range("C1:C124").ClearContents For i = 1 To 124 Step 2 For j = 1 To 124 Cells(i, "C").Value = Cells(i, "B").Value Next Next End Sub と、してみたのですが、だめでした。

  • 違うシートにデータを抜き出したい。

    エクセルのシート2に    A   B   C    D 1 物件A ○  情報a 情報b 2 物件B -  情報a 情報b   3 物件C ○  情報a 情報b と、4行目以降もあります。 そして、シート3にシート2のB列で”○”となっている物件だけの表を作りたいのです。    A    B    C 1 物件A  情報a 情報b 2 物件C  情報a 情報b  この下にもどんどん続けていきたい。 ※シート2はシート1のデータがマクロによって表示されている。  例)シート1の物件Aが終了になると、シート2の物件Aが消えて物件Bが1行目に表示される。 ※シート2のデータはほとんどシート1のデータがマクロによって表示されている。  シート2に”○”と表示されるのもシート1に入力してるから。 ※このマクロを作った人はすでに退職していて、社内でこのマクロを解明できる人がいない。  ちなみに私はマクロ初心者です。

  • 更新データを別シートに表示

    下記のように横方向にいくつものデータが表示され、毎秒ごとに実測機器によって下に更新されるようになっている。 Sheet1 _____A______B______C______D 1___12_____13____14_____15 このsheet1のデータをあらかじめ作っておいたsheet3の監視画面の指定の場所にVBAを使用し表示させたいです。データ更新されるので処理を繰り返し、更新される最新のデータを毎回表示させるようにしたいです。 Sheet3 ________________A___________B___________C 1___________データ1_______________データ2 2______________12_______________________13 3___________データ3________________データ4 4______________14_______________________15 エクセルのバージョンは2003です。