• ベストアンサー

エクセルでセル中の学名の一部を斜体にしたい

エクセル2007でA列に学名だけの入ったデータが数百行あるのですが、その列の属名と種小名の部分(下の例でいうとPierisとrapaeを斜体(イタリック)にマクロなどで一括でしたいのです。簡単に言うと2つ目の半角空白までということですが、どなたかご教授お願いしたいです。よろしくお願いします。 Pieris rapae (Linnaeus, 1758) Oryzias latipes (TEMMINCK and SCHLEGEL, 1846) ・ ・ ・

  • reimy1
  • お礼率64% (244/379)

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

Sub macro1()  Dim h As Range  For Each h In Range("A:A").SpecialCells(xlCellTypeConstants, xlTextValues)  With h   .Font.FontStyle = "標準"   .Characters(1, InStr(InStr(.Value, " ") + 1, .Value, " ") - 1).Font.FontStyle = "斜体"  End With  Next End Sub みたいな具合に。

reimy1
質問者

お礼

ありがとうございました 正しくこれです。 Characters関数がミソみたいですね。 勉強してみます。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! A列の1行目からデータがあるとします。 一例です。 Sub test() Dim i, j As Long On Error Resume Next For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row j = WorksheetFunction.Find("@", WorksheetFunction.Substitute(Cells(i, 1), " ", "@", 2)) - 1 Cells(i, 1).Characters(Start:=1, Length:=j).Font.Italic = True Next i End Sub こんな感じではどうでしょうか?m(__)m

reimy1
質問者

お礼

ありがとうございました。 A列のデータが正しく斜体に出来ました。 改良すればB列からもできそうですね。 助かりました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 斜体は範囲は、1文字目から" ("までとしています。 Sub sample() For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row wk = InStr(Cells(i, "A"), " (") With Cells(i, "A").Characters(Start:=1, Length:=wk).Font .FontStyle = "斜体" End With Next End Sub

reimy1
質問者

お礼

ありがとうございました。 括弧の所まで正しく斜体にできました。 質問の仕方が悪かったですが、学名には括弧のつかないものも ありますので、全ては対応出来ませんが、参考になりました。

関連するQ&A

  • 植物の学名

    くだらない質問ですがどなたか教えていただけると助かります。 植物や生物の学名には二名法と呼ばれる、「属名」と「種小名」が ありますが、後者の「種小名」はなんと読むのですか? そのまま普通に(しゅしょうめい)でいいんでしょうか?

  • アロマテラピーの精油の学名、種小名

    アロマで使う精油の学名や、属名、種小名って、分かりやすく言ったらなんですか??名前をこんなに分けて、どういう意味があるんですか? 調べても小難しくて理解できないんです。

  • 植物の学名について

    こんにちは。植物の学名について質問があります。 あるAという学名の植物があるのですが、そのAの属が何種類あるのか調べたいのですが、どのようなサイト、文献から調べればよいでしょうか?国際植物命名規約によって学名は管理されてるとよく聞きますが、具体的に網羅していて、検索できる場所はあるのでしょうか? 具体的に教えていただけると助かります。 また素人的な質問で申し訳ないのですが、学名は属名+種小名で構成されているとされていますが、学名を管理している機関があったとして、例えば私が調べようとしているAという学名が登録されていないという場合はありえるのでしょうか?学名が存在しない植物は時々あるみたいですが・・。 最後の質問なのですが、植物には和名(英名)というものがありますがこれはどこかの機関が命名しているのでしょうか?できればこちらも教えていただけると助かります。

  • 植物の学名の解釈について 特に"var."について

    植物の学名について質問です。 学名が,属名+種小名で表現されることは理解していますが, 植物ではしばしば"var."がつくことがあります。 また,この意味が変種の意味であることも理解していますが, もう少し詳しく教えてください。 たとえば ヤブソテツという和名には Cyrtomium fortunei J.Sm. var. fortunei として書く場合と, Cyrtomium fortunei J.Sm. として書く場合の2通りがあると思います。 これは同じ和名のヤブソテツに対して, 2種類の形態のものがあると考えてよいのでしょうか? つまり, Cyrtomium fortunei J.Sm.と, Cyrtomium fortunei J.Sm. var. fortuneiは, 別の形態的特徴を持っているという意味なのでしょうか? それとも単に Cyrtomium fortunei J.Sm.として書く場合は, 他の変種もすべて含めて考える場合に, 広義の意味で書く場合のみ使う学名なのでしょうか?

  • マクロにて空白のセルを一括して消去でなく削除したい

    空白のセルを一括して、空白セルについた色も含めてマクロで全て削除したい。 現在のデータ(仕様)について 1.Sheet2に列ごとにセルに色をつけ、データもあるとします。 2.A列10行・B列6行・C;列18行というように、列によってデータの入った範囲が違います。 3.どの行も途中に空白セルはなく、詰めたデータです。 以上です マクロで一括処理したいと思いますが、このようなことができるコードを教えて頂けませんか。よろしくお願いします。

  • エクセルのマクロで文字の置換について

    エクセルのマクロを使った文字の置換についてお聞きしたことがありましす。 やりたいイメージは例として添付の画像としてアップしましたが、 ・エクセルシートに英数文字列の表がある(例では2行2列ですが、実際は6行48列ぐらいです) ・その表を各英数文字列の間に半角カンマ","を入れて、メモ帳に貼り付けたい   ※実際メモ帳に貼り付ける動作は手動で行うので、クリップボード上で「各英数文字列    の間に半角カンマ","が入っている状態」で構いません。 ・各英数文字列の最初の2文字は必ず"0a"、その後の英数字は3桁または4桁です。 ちなみに、エクセルシートで英数文字列の表をそのままコピーしてメモ帳でペーストすると 各英数文字列の間にスペース(空白)が入ってしまいます。 その後、メモ帳で置換などを使い半角カンマ","を入れてもいいのですが、そこまでをマクロで行いたいと思っております。 上記のことがそもそもエクセルのマクロで出来るかどか分かりませんが、なにか有用な方法がございましたらご教授お願い致します。  ※使用OS:Windows7、エクセルバージョン:2007

  • 【エクセル】セル内の右側のみ半角スペース削除

    セル内にある半角スペースのうち、右側にあって、文字に囲まれていないものを一括削除する方法をさがしています。 例)※␣と?は半角スペース。?のみを削除する。       列A 行1 test01??? 行2 test02␣01???? 行3 ␣test03␣114? 宜しくお願いします。

  • エクセルで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行 ========================                 

  • エクセルで入力済みのセルのみ見つけて・・

    エクセルで入力済みのセルだけを見つけ出して、 指定した場所に並べる作業をマクロで1発で出来るようにしたいのですが、その方法を教えてください。 シートが37シートあります。(sheetA1~sheetA12,sheetB1~sheetB12,sheetC1~sheetC12,sheet37) それぞれセルC5からC20まで数値が入っていますが、 最終行はC20とは限りません。(sheet37はまとめるためのシートで空白) C15が最終行の場合もあれば、C18が最終行の場合もあります。 各シートそれぞれ最終行が違います。(列は同じですスタートもC5です) 各シートのC列の入力済みのセルの数値をsheet37のB1セルから順番に縦に並べたいのです。 A,B,Cのシート順にC列に入力された数値を縦に並べます。 空白は無しで詰めて並べます。 これを1回の作業でできるマクロを教えてください。 それから入力済みの最終行を見つけ出すマクロの部分を表示して頂けるとありがたいです。 宜しくお願いします。

  • エクセルの空白セルの選択

    こんにちは いつもお世話になっています。  エクセルの空白セルの選択について教えてください。 A列、B列にデータがあります。それぞれの列で空白セルがありますが、同じ行で両列ともに空白のセルだけを選択する方法を教えてください。  単に「ジャンプ」から空白セルを選択すると片方にデータがある行のセルも選択してしまいます。片方にデータのある行は残し、両列ともに空白の行を削除したのです。  よろしくお願いします。

専門家に質問してみよう