• ベストアンサー

エクセルのマクロについて質問です。

sparの回答

  • spar
  • ベストアンサー率46% (35/75)
回答No.1

モジュールに貼り付けて動かしてみて下さい Dim A_Len As Integer 'A1の文字列の文字数 Dim i As Integer Dim R As Integer Sub Dousa() R = 1 A_Len = Len(Sheet1.Cells(1, 1).Value) 'A1の文字数をLen関数で調べて、A_Lenに代入 For i = 1 To A_Len 'A1の文字列 1,2,3 の1文字目からA_Len文字目まで ここではA_Len=5 If Mid(Sheet1.Cells(1, 1).Value, i, 1) <> "," Then 'Mid関数で 1,2,3 のi文字目から1文字目が","どうかか調べる ここでは","じゃなかったら・・・ Sheet1.Cells(R, 5) = Mid(Sheet1.Cells(1, 1).Value, i, 1) ' ","じゃなかったら、 1,2,3 のi文字目から1つをセル(R,5)に書き出す Sheet1.Cells(R, 6) = Sheet1.Cells(1, 2).Value '同時にB1の abc をセル(R,6)に書き出す R = R + 1 '書き出すセルの縦を進めていく(表現しにくい・・・)最初はR=1なので、(1,5)と(1,6)、IF文が正を返したらRに1を足していく End If Next i End Sub ちょっと見難いかと思いますが、こんな感じを基本に勉強して頂ければと思います ただ、1,2,3の書き出しに関して、セルが変わるなら改行という表現ではないですね 上記は改行ではなく、抜き出し?となっています あとはLen,Mid関数を調べてもらえばいいかと思いますが、他にも手法はあるので色々とチャレンジしてみて下さいっ!

aaaabesi
質問者

お礼

ありがとうございます!!! 改行といわず抜き出しですね。ご指摘ありがとうございます。 頑張って勉強します。ありがとうございます!!

関連するQ&A

  • エクセルでカンマ区切り文字を各行に分解するマクロを書きたい

    WindowsXP Excel2003 エクセルで以下ができるマクロを書きたいです。 B列にはカンマ区切りで文字列が入っています。 カンマ区切りの数は行によって様々です。 この表をB列のカンマ区切り文字を各行に分解したいです。 その際、A列とC列は分解前の値と同様です。 このようなマクロは書けますかね? A列     B列     C列 あ     a,b,c    100 い     d,e     200 う     f      300 え     g,h     400     ↓ A列     B列     C列 あ     a      100 あ     b      100 あ     c      100 い     d      200 い     e      200 う     f      300 え     g      400 え     h      400

  • エクセル マクロ

    エクセル マクロで、シート1のA1セルないの文字列(数式)をクリックボードにコピーするマクロを組みたいのですが、セルのコピーは出来るのですが、文字列のみコピーが出来ません。貼り付けは任意でするので必要ないです。 初心者で何もわかりません。よろしくお願いします。

  • エクセルでこんなマクロ

    マクロの初心者ですが、 エクセルで、 「A」、「B」、「C」、「コピーA」、「コピーB」 というファイル名のエクセル開いていたときに、 「コピーA」、「コピーB」というファイルだけを閉じてくれるような マクロを 「C」のファイル上で作成することは可能でしょうか。 ファイル名はABC・・・以降多数あります。 何卒よろしくお願い致します。

  • エクセルのマクロで特定の文字があるときだけコピーできるようにしたい

    エクセルのマクロで特定の文字があるときだけコピーできるようにしたい エクセルでこういう表があるとします ココカラ 1 * 2 b 15 3 * 4 d 19 5 e 25 6 * 7 g 35 8 * 9 j 46 10 k 54 ココマデ このような表があるとき、マクロを使ってもしB列に「*」以外の文字(この場合アルファベットのb) があるときは左のセル(2)をずっと下のセルにコピー(仮にA50とします)した後、右のセル(15)をB51にコピー、 次は文字が「*」なのでコピーはせずにd列になったら4と19をC50,D51にコピー・・・ という作業をセルに「ココマデ」と書いているところまで繰り返す、というマクロを作りたいのですが、どうすれば いいのでしょうか?

  • エクセルのマクロの質問です。

    エクセルのマクロの質問です。 こんにちわ。エクセルのマクロを始めて間もないものです。 下記ようなマクロを組みましたが「Windows("B.xls").Activate」(※の部分)でとまってしまいます。 なぜかもわからず困っています。 Workbooks.Open Filename:="B.xls" For i = 1 To 1000 Step 1 Range(Cells(i, 1), Cells(i, 5)).Select Selection.Copy Windows("A.xls").Activate Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Select ActiveSheet.Paste ※ Windows("B.xls").Activate Next i 一応、動作としては Bのマクロを開く→ループ始点(1000回繰り返す) 一回目⇒A1~B5をコピー→Aのエクセルを開く→A列のセル1行目に貼り付ける→Bのエクセルを開く 二回目⇒A2~B5をコピー→Aのエクセルを開く→A列のセル2行目に貼り付ける→Bのエクセルを開く . . . ループ終点 こんな感じで作成しましたが、どうしても上手く動かないで困っています。 無駄な動作が多いかもしれませんが、ぜひアドバイスをお願いします。 また、もっと簡単な動作ができるのであればそちらもお願いします。

  • エクセル【マクロ】について

    初心者です。 エクセルでシート1のA1からA10まで決めた文字(abc)という文字を検索して、検索文字があるセルの1行をコピーしてシート2のA1から下へ貼り付けるというマクロ(VBA)を作成したいと考えています。 詳しい方、よろしくお願いします。

  • エクセルマクロについて

    お世話になります。 エクセルのマクロについて不慣れなためご質問させてください。 下のような表がありこれを集計して新しく表にしなおしたいと思っています。 1列目 2列目 A    XXXX B    XXXX C    XXXX A    XXXX A    XXXX B    XXXX 1列目の同じ文字列を数えて表を作りなおしたいのです。 1列目  2列目 A     3   ←数えた回数を入れたいと思います B     2 C     1 初めの表はマクロで作成出来たのですが2つめの表を作成する エクセルマクロを作成したいと思っています。 サンプルを頂けると助かります。

  • エクセル2003の集計で

    エクセル2003の集計で セルA列にコンマ区切りで数値が入っているのですが これをセルB列でで集計することってできますか? A列の数値の数はバラバラです このような感じです↓ A1 1,2,3 B1 6 A2 2,3 B2 5 A3 9,1,7 B3 17 よろしくお願いします

  • Excel 2003のマクロについて

    セルにある文字列に”-”を加え、別のセルに移したいです。 例/ABCDEFGHIJ→ABC-DEFGH-IJ としたいです。 文字列の“-”の入る位置は、「例/」の位置で固定です。 Excel2003を使用しています。 マクロ等で一発変換できる方法はありますか? マクロ初心者なので、教えて下さい。宜しくお願い致します。

  • Excelマクロにて文字列連結

    現在Excelのマクロにて文字列の連結を行っているのですが、 繋いだ文字列を改行を付けて連結を行いたいです。 セルとセルの中の文字列を改行を付けて連結するにはどうしたらいいのでしょうか? 例 A1セル「あああ」 B1セル「いいい」 C1セル「あああ       いいい」 Worksheets(sheet1).Range("C1").Value = Worksheets(sheet1).Range("A1").Value + Worksheets(sheet1).Range("B1").Value をすると 「あああいいい」と1行で表示されてしまいます。     ↑ ここに改行を入れるにはどうしたらいいのでしょうか? 以上、宜しくお願いします。