• ベストアンサー
  • すぐに回答を!

エクセルのマクロの事?

エクセルで A1あ、B1い、C1う A2え、B2お、C2か A3き、B3く、C3け 以下続く このようになっている物を A1あ A2い A3う A4え A5お A6か A7き A8く A9け こんな感じにマクロを使って変更したいのですが、どのようにすればいいでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数45
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.4
  • Wendy02
  • ベストアンサー率57% (3570/6232)

こんにちは。 データが、もう少し、複雑な内容でしたら、以下のようなコードではうまくいかないとは思いますが、初歩的なマクロなら、こんな風にしますね。別に、マクロの経験があってもなくても構わないですが、この程度なら、[標準モジュール]に貼り付けて、[Alt+F8] で呼び出すだけで、結構です。 内容を説明してください、ということになると、ちょっと・・・(^^ゞ 書き出し場所は、Worksheets("Sheet2") になっています。 このマクロの場合は、同じシートの自同じ場所には、上書きは出来ませんから、配列変数にデータを確保しなければなりません。 '標準モジュールに書き出してください。 '----------------------------------------- Sub Test1() Dim r As Range Dim c As Variant Dim i As Long Set r = Range("A1").CurrentRegion Application.ScreenUpdating = False i = 1 '初期値 For Each c In r  If Not (IsEmpty(c.Value)) Then   Worksheets("Sheet2").Cells(i, 1).Value = c.Value   i = i + 1  End If Next c Application.ScreenUpdating = True Set r = Nothing End Sub

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございました。解決しました。

関連するQ&A

  • Excel n行毎の合計数値

    Excelで2行毎、できればn行毎に合計値を求めるセルを作りたいのです。 A1:A10に{1,2,3,,,,}と値が入っているとして、B1から B1=A1+A2 B2=A3+A4 B3=A5+A6 というふうになり、B1=3,B2=7,B3=11,,,と1行毎に合計する範囲がズレていくような列を作るには どうすればいいでしょうか? C1=A1+A2+A3 C2=A4+A5+A6 C3=A7+A8+A9 となっていくような列を作る必要も出てきそうなので、 n行合計ずつ以外でも出来る方法をお願いします。

  • エクセルのマクロ

    A列とB列に以下のような感じでデータが入ってます。 A列 A1  1 A2  あ A3  い A4  う A5  え A6  2 A7  お A8  か A9  3 A10  さ A11  し A11  す B列 B1   1 B2   a B2  2 B3  b B4  c B5  3 B6  d B7  e 両列に共通しているのは数字の1から始まり、1の後に何らかのデータが続いた後に2がきて、また何らかのデータが続いた後に3がきます。 そんな感じで数値が増えて両列とも500(行ではなく数値が)まであります。 この二つの列のデータを合わせたものをC列に表したいのですが。 その規則ですが。まず1がきて、その後にB列の1から下のデータ(2の前まで)がきて、次にA列の1から下のデータ(2の前まで)がきます。2以下も同様になります。 C1  1 C2  a C3  あ C4  い C5  う C6  え C7  2 C8  b C9  c C10  お C11  か C12  3 C13  d C14  e C15  さ C16  し C17  す C列のデータを求めるマクロを教えてもらいたいのですが。 よろしくお願いします。

  • エクセルのマクロで"~"を用いた数字の連番

    エクセルのマクロで"~"を用いた数字の連番 について、ちょっと困っています。 以下のように、セルに入力があります。 A1:0 A2:1 A3:2 A4:3 A5:4 A6:5 A7:6 A8:7 A9:8 A10:9 A11:10 次に、B1~B11の任意のセルに "無" もしくは "有" の文字を入力し、 B列に"有"の文字が入力されているA列の数字を"~"を用いて連番にしたい。 ただし、「0」は独立した値とし、「B1:有、B2:有」の場合、「0~1」ではなく、 「0,1」とカンマ区切りとする。 (例) A1:0/B1:有 A2:1/B2:有 A3:2/B3:無 A4:3/B4:有 A5:4/B5:有 A6:5/B6:有 A7:6/B7:無 A8:7/B8:無 A9:8/B9:有 A10:9/B10:無 A11:10/B11:無 ⇒ 『 A12 = 0,1,3~5,8 』としたい。 マクロでご教授いただけると幸いです。 よろしくお願いいたします。

その他の回答 (3)

  • 回答No.3

> あくまでも、質問は例であって、データは300件以上あります。 > これを手作業で行うのは困難なので質問しています。 そんなのは解っています。 あなたがどれくらいマクロのことを知っているのか解らないので、このような補足要求をしただけです。 > 手作業ではやりません。もしやるとすると挿入、コピー、貼り付けの繰り返ししか思いつきません。 その「挿入、コピー、貼り付け」をマクロ記録して、それをもとにして、For~NextやDo While~Loopなどで繰り返します。 まさか、マクロ作成依頼、というわけじゃないですよね?

共感・感謝の気持ちを伝えよう!

  • 回答No.2

マクロを組んだ経験はあるのですか? 経験のある無しで説明の仕方が随分違ってくると思います。 今のシートを直接加工するのでは無く、複数のループを使って別シートにデータを貼り付けていく方法を取るのが簡単でしょう。 ループのカウントの為には、worksheets("sheetname").cells(i,j)の表記を理解されているかどうかも説明の判断基準になると思いますよ。

共感・感謝の気持ちを伝えよう!

  • 回答No.1

もし、マクロではなく、あなたが手作業でやるとしたら、どういうやり方をしますか?

共感・感謝の気持ちを伝えよう!

質問者からの補足

手作業ではやりません。もしやるとすると挿入、コピー、貼り付けの繰り返ししか思いつきません。 あくまでも、質問は例であって、データは300件以上あります。 これを手作業で行うのは困難なので質問しています。

関連するQ&A

  • エクセルシートの票データの置き換えについて、

    エクセルのシートに (A1)から(D50)まで一覧表があり、それぞれ200個のセルに文字が入力されています。 これを別のシートに縦一列に並び替えたいのですが、 A1=(A1) A2=(B1) A3=(C1) A4=(D1) A5=(A2) A6=(B2) A7=(C2) A8=(D2) A9=(A3) A10=(B3)  ・  ・  ・ A199=(C50) A200=(D50) 出来れば簡易言語で、それで無理ならマクロでも結構です。 よろしくお願いします。

  • エクセル等でのデータ抽出

     こんばんは、愚生は、エクセルデータベースの全くの初心者でございます。以下の質問をさせていただきたく、ブログをたてたせてもらいました。 以下のようなA列に日付;B列に地名;C列に数値が載せたtableがございます。(行数は総計約5000程度まで続きます) A1: 2009/10/3, B1: 東京; C1: 12000 A2: 2009/10/3, B2: 大阪; C2: 10000 A3: 2009/10/3, B3: 名古屋; C3: 7000 A4: 2009/10/3, B4: 京都; C4: 3000 A5: 2009/10/3, B5: 金沢; C5: 500 A6: 2009/10/3, B6: 神戸; C6: 4000 A7: 2009/10/5, B7: 大阪; C7: 7000 A8: 2009/10/5, B8: 東京; C8: 8000 A9: 2009/10/5, B9: 京都; C9: 5000 A10: 2009/10/5, B10: 横浜 C10; 4000  A11: 2009/10/6, B11: 東京; C11: 9000 A12: 2009/10/6, B12: 大阪; C12: 7000 A13: 2009/10/6, B13: 名古屋; C13; 8000 A14: 2009/10/6, B14: 京都; C14: 4000 A15: 2009/10/6, B10: 横浜; C15: 5000 2009/10/3には計6個のデータがあります 2009/10/3には計4個のデータがあります 2009/10/6には計5個のデータがあります →   「各日にちごとに、C列の値が大きい順にベスト3ずつを選び、表示させたい訳でございます。」 A1: 2009/10/3, B1: 東京; C1: 12000 A2: 2009/10/3, B2: 大阪; C2: 10000 A3: 2009/10/3, B3: 名古屋; C3: 7000 」 A4: 2009/10/5, B6: 東京; C6: 8000 A5: 2009/10/5, B7: 大阪; C7: 7000 A6: 2009/10/5, B8: 京都; C8: 5000 」 A7: 2009/10/6, B9: 東京; C9: 9000 A8: 2009/10/6, B10: 名古屋 C10; 8000 A9: 2009/10/6, B11: 大阪; C11: 7000 」  もし、mysql (SQL server)等のデータベストソフトが必要な場合も、対処させていただきます。  それでは、よろしくお願い申し上げます。

  • EXCELでの計算

    タテ100行ヨコ10列のデータの入った表があります。 A1*B1+A2*B2+A3*B3+……+A99*B99+A100*B100を簡単に計算する関数はありませんか? 同様にA1*C1+A2*C2+A3*C3+……A99*C99+A100*C100というように10列共計算したいのです。

  • エクセルの並び替えで順番どうりにならない

    エクセル2003です。 並び替えでA列を対象にして 以下のように並び替えたいです。 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 ですが並び替えを実行すると A1 A10 A11 A12 A13 A2 A3 A4 A5 A6 A7 A8 A9 B1 B10 B11 B12 B2 B3 B4 B5 B6 B7 B8 B9 となってしまいます どのような方法がありますか。 よろしくお願いします。

  • EXCEL シート保護するとマクロが正常動作しない

    こんにちは。 よく使うコピー&貼り付けを、マクロにして、ボタンの設定をしました。 他人に計算式をいじられたくないので、シート保護をかけています。 が、そのマクロを一度使うと、計算式が正常にコピーされません。 そこ自体の計算式は非常に単純なものなのですが・・・ 例) A1 B1+C1 A3 B3+C3 A5 B5+C5 (上下でセルを結合させています) A20 B20C+C20 (A21とA22でセルを結合させています) マクロ 1)「A1:A6」コピー&値貼り付け&コピー 2)A8:A13 貼り付け ※上記もそれぞれ上下2セルを結合しています。 3)「A20」コピー 4)「A1:A6」へ貼り付け ※消えた計算式を復活 これだけのことです。 ですが、シート保護を外すと何度も繰り返し使えますが、 保護した途端一度きりになってしまいます。 一体に何に問題があるのでしょうか?

  • EXCEL 並び替え

    a1 a4 a7 a10 a13 a16 a19 a2 a5 a8 a11 a14 a17 a20 a3 a6 a9 a12 a15 a18 a21 b1 b4 b7 b10 b13 b16 b19 b2 b5 b8 b11 b14 b17 b20 b3 a6 b9 b12 b15 b18 b21 上記のような3x7で一セットのかたまりのデータ(実際は文字列がはいっています)を下記のように簡単に横に並び替えるにはどうしたらよいでしょうか。各このセットが1枚のエクセルに最大30セットあり、EXCELは20ファイル程あるので手早くならびかえる方法を探しています。 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21

  • Excelのピボットテーブルで

    Excelのピボットテーブルで ラベル部分の下は空白になっていますが、 ここを同じラベルでコピーできないでしょうか? A1 B1 C1     C2     C3  B2 C1     C2 A2 B1 C1     C2     C3 を A1 B1 C1 A1 B1 C2 A1 B1 C3 A1 B2 C1 A1 B2 C2 A2 B1 C1 A2 B1 C2 A2 B1 C3 のように。

  • エクセル マクロでこんな事が出来ますでしょうか?

    エクセル マクロで以下の内容の事が出来ますでしょうか? よろしくお願いします。 A列のセルに対応する数値が変更された場合、 その増減分を変更があった(箇所-4)までのセルも 増減分の数値に変更される。 何かボタンを押してではなく、数値が変更されたら、以下のように 他のセルも増減分変更される。 例   A1=10 A2=10 A3=10 A4=10 A5=10 A6=10 A7=10 A8=10 A9=10 A10=10  例(1)  1、A5=10  の数値 10→15に変更。  2、A5=15  の数値が変更されたのを受けて  A4=15 A3=15 A2=15 A1=15 も増減分 変更される  例(2)  1、A3=10  の数値 10→15に変更。  2、A3=15  の数値が変更されたのを受けて  A2=15 A2=15 A1=15 も増減分 変更される  【注意】 A10に戻ることは無くA1まで変更される

  • エクセル関数 マクロ

    EXCELで作ってある表に数字を入力する時、 (例)セルA1⇒B1⇒C1(⇒D1⇒F1)と入力した後エンターキーを押したら、 セルA2⇒B2⇒C2(⇒D2⇒F2)へ、またエンターキーを押したら、 セルA3⇒B3⇒C3(⇒D1⇒F3)と移動する方法(関数?マクロ?!)を教えて下さい。

  • エクセルのマクロ

    セルA1に、a2からa90までの任意の文字を入力した後にマクロを実行します。 セルA1にa7と入力されている時はセルB1にa6と表示され、セルA1にa86と入力されている時はセルB1にa85と表示されるようなマクロを教えてもらいたいのですが。 B1は必ずA1の数字の部分が1つ少なくなるということです。