• ベストアンサー

セル内文字を切取りその行範囲の列の空白セルに貼付

B列3行目から添付のようにセル内にカンマを含む文字がありカンマで区切った文字ごとに切り取り矢印右のように同B列の次の空白行に順に貼り付けたく、その際カンマは削除したいです。また等間隔の名前の行がある中で枠内の空白に文字を張付けたく等間隔行数枠が多くてできればVBAコードがお分かりなる方宜しくお願いします。 環境はwindows7 office2013です。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

回答No.1の追加です。 前回質問の回答No.4のコードを修正してみました。 但し、1つのブロックで空きセルが不足しているときは途中で処理を中止して次のブロックへ移ります。 Sub Sample() Row = 3 Do While Row <= Cells(Rows.Count, 2).End(xlUp).Row For i = Row To Row + 9 Cells(i, 2).Select If InStr(Cells(i, 2), ",") > 0 Then nextrow = Cells(i - 1, 2).End(xlDown).Row If nextrow < Row + 10 Then b = Cells(i, 2) Cells(i, 2) = Left(b, InStr(b, ",") - 1) Cells(nextrow + 1, 2) = Mid(b, InStr(b, ",") + 1, Len(b)) End If End If Next i Row = Row + 11 Loop End Sub

その他の回答 (1)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

>また等間隔の名前の行がある中で枠内の空白に文字を張付けたく等間隔行数枠が多くてできればVBAコードがお分かりなる方宜しくお願いします。 前回の質問(https://okwave.jp/qa/q9421575.html)と略同じ内容ですが前回の回答を締め切ってから質問しないと違反投稿になるかも知れません。 考え方としては前回質問の回答No.4と同じですが10セル単位の繰り返しになりますのでコードを少し修正すれば良いと思います。 応用でカバーできないのであればプログラミングの能力がないのであなたには無駄なことになると思います。 尚、質問投稿のカテゴリーも僅かにずれています。

kuma0220
質問者

お礼

ありがとうございます。

関連するQ&A

  • セル内文字を切り取りその列の空白セルに貼付け

    B列3行目から添付のようにセル内にカンマを含む文字がありカンマで区切った文字ごとに切り取り矢印右のように同B列の次の空白行に順に貼り付けたく、その際カンマは削除したいのですが行数が多くてできればVBAコードがお分かりなる方宜しくお願いします。 環境はwindows7 office2013です。

  • エクセルで文字最終行の空白セルへ移動

    エクセル2000です。 1000行内で間にとびとび(順不同)に空白セル、他は文字有りです。 (1000行目は文字あり) シートが10個あり、各シートともばらばら(ウィンドー枠固定位置)ですが、ウィンドー枠固定内の行に「最終行へ移動」のボタンを設け、いずれの行からも、最終文字入力の次の行空白セル(AからZ列のいずれか)へ移動したいです。 方法がありますでしょうか? VBAの場合、素人につきVBAへの入力方法等も一緒にお願いします。またVBAの場合、ソフトを立ち上げたら直ぐに実行できるようにしたいです。(立ち上がり時のマクロ警告はあり) よろしくお願いいたします。

  • VBAでセル内の文字列を一行にする方法

    ExcelのVBAで、セル内に折り返しで3行に書かれている文字列を、各文字列間に空白を1つ入れて、1行につなげるにはどうしたらいいですか

  • マクロを使って最終行を取得して、範囲内の空白セルに

    マクロを使って最終行を取得して、範囲内の空白セルに指定の文字列を表示させたいです。 お世話になります。 要件としてはタイトルの通りです。 Excel2013を利用しています。 A列を参照して最終行を取得し、 B列の1~最終行までの空白セルに対して「未入力」という文字列を入力したいです。 この場合、考え方はいろいろあるのでしょうが どのようにコードを組めば良いでしょうか? 自分では、まったく書けていないというのが正直なところです。 そこで御手数ですが、ご協力をお願いいたします。

  • エクセルでA列セルが空白の時その行に罫線を引くには

    エクセルでA列セルが空白の時、その行の下側のみに2重罫線を引くマクロを教えて下さい。 色々試しましたがうまくいきません。例えば下記の様な表で3行目、7行目、12行目の各下側にのみ2重罫線を引くマクロです。行数と空白行は、日々取り込んでいるデータによって変わります。知恵をお貸し下さい。(A列空白セルのC列にはSUM関数を入れております。うまく表記が出来ませんので念のため)        A列   B列   C列 1行     123    酒    100 2行     123    酒    100 3行  ========================  4行     215   ビール   200 5行     215   ビール   200 6行     215   ビール   200 7行 =========================   8行     324    ワイン  300 9行     324    ワイン  300 10行     324    ワイン  300 11行     324    ワイン  300 12行 ========================                 

  • 質問:特定文字列から空白行までの抽出

    質問:特定文字列から空白行までの抽出 お世話になります、ネットで公開されているVBAを修正して何とかなっているVBA初級者です。 毎月excelで出力されたファイルを元に関数で整形したと思っていますが、”北棟2”の開始 するセル位置は解っているのでそれを基準に利用するのは簡単ですが、7777村上まで(空 白があるまで)を抜き出して"sheet_work"もしくは"北棟2"とういうsheetのB8セルに貼り 付けたいと考えています。 北棟2だけではなく、空白に挟まれた行は毎月変動するために関数でのセル指定が役に立ちま せん。この場合、北棟2、南棟1、西棟2、東棟1、東棟3といた文字列の次の行のA,B,C列 から空白が発生する行までを整形しやすいsheetか文字列通りのsheet名のB8セルに貼り付ける 方法が御座いましたらご教授お願いいたします。関数だけで力業で可能でしたらそちらもお教 えお願いします。 以下が出力されますが、空白から空白までは一定では無く、増減します。 小計の行は不要です。      A   B  C 5   xxxxxx名   日付  6   7       北棟2 8   1111 鈴木  5 9   2222 武田  5 10   11200 山田  5 11   4444 高橋  4 12   5555 佐藤  5 13   6666 小林  4 14   7777 村上  0 15    16       小計  28 17   18       南棟1 19   1001 中村  4 20   1002 伊藤  5 21   1003 吉田  4 22   20110 佐々木  5 23   1005 木村  3 24   1006 渡辺  0 25   1007 田中  4 26   27       小計  25 28   29       西棟2 30   10020 森  2 31   2010 岡田  1 32   2033 池田  0 33   2058 井上  5 34   35       小計  8 36   37       東棟1 38   7854 石田  4 45       東棟3 46   4471 石岡  2

  • エクセル2002で、ある列が空白なら、その空白のある行は削除する方法

    エクセル2002で、 ある列に空白のセルがあった場合、その行を削除する方法を教えてください。 例えば、B列を選択して、 編集、ジャンプ、セル選択、空白セル、OKとたどって、 セルB11、セルB22、セルB33が空白セルなら、 11,22,33の行を削除する方法を教えてください。

  • 範囲内である文字列が含まれていたら,違うセルに表示させる

    A4:A10という範囲(同じ行)の中に,ある文字列が含まれていたら,違うセルに○と表示する,それ以外は空欄という式をつくるにはどうしたら良いでしょうか。 文字列は同じ行の中で同じ文字が1回以上登場することはありません。 A B C あ い う か き く・・・ D E F い え お き く こ・・・ G H I う お い こ け き・・・ 1行目の文字列(あいうかきく)の行の中に「あ」が含まれていたらAセルにアと表示し, 3行目文字列(うおいこけき)に「う」があったらIにウと表示する。それ以外は空欄。 アルファベットのセルには色をつけたりといった書式条件ではなく特定の文字列を表示させたいです。 「IF(B42="あ","ア",""」の場合,B42のセルの中身が「あ」だったらアと表示する,それ以外は空欄。という意味になりますでしょうか? これで,B42セルだけではなくB42:B50という範囲の中に「あ」という文字列があったら…と思いましてご相談です。宜しくお願いします。

  • エクセルで1行目が空白の場合、列を削除したい

    こんにちは!質問をお願いします。 エクセルで表を作成していますが、1行目が空白のセルがある場合に、その列を削除したいのですが、VBAでどのようなコードにすればよいでしょうか? ※上記のD列を削除し左詰めにしたい。(空白セルはAからBBまでの間で、特定の位置以降で発生します。) ※ちなみに1行目には、=N というようにほかのセルを参照し、文字の入力があれば表示するようにしています。 初心者につき、うまく説明できていないかもしれませんが、よろしくお願いいたします。

  • 列と行にある指定文字が一致したセルの一行下の値

    表2セル"A"を表1B列から探し同行にある"合計"という文字の1行下の数値及び2行下の数値を表2のH4,H5セルに入力し同様に"B","C"に対しても行いたいのですがどなたか関数が解る方よろしくお願いします。環境はoffice2019です。

専門家に質問してみよう