アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

Pieris rapae (Linnaeus, 1758)
Oryzias latipes (TEMMINCK and SCHLEGEL, 1846)


A 回答 (3件)

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
みたいな具合に。
    • good
    • 1
この回答へのお礼

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

お礼日時:2011/02/05 07:41

こんばんは!


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
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/02/05 07:43

一例です。


斜体は範囲は、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
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/02/05 07:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!