2018年05月19日

Excel:漢字をカタカナに変換

こんな関数があったとは知らなんだ。

セル内関数のPHONETICでセルに直接入力した漢字しか変換されない(コピペした漢字は変換できない)けど、vbaのApplicationオブジェクトのGetPhoneticメソッドはパラメータで渡した漢字を全部変換してくれる。

Application.GetPhonetic("東雲") → シノノメ

アドインに関数作っとけばセル内関数として使えていいかも。
Function  GETKANA(Byval Text As Variant) As String
GETKANA = Application.GetPhonetic(Text)
End Function

あとこれAccessやWordには無いみたい。でもExcelがインストールされてれば
CreateObject("Excel.Application").GetPhonetic

ExcelのObject Libraryが参照設定されてれば
Excel.Application.GetPhonetic
で使える。

但し必ずしも正しく変換されるとは限らない。
東西 → トウザイ
東日本 → ヒガシニホン
東雲 → シノノメ
東海林 → トウカイリン
惜しい…日本語って難しいなぁ。
posted by 忘却の達人 at 13:46| Comment(0) | Excel | このブログの読者になる | 更新情報をチェックする

2010年04月01日

Excel:VBAでシートの複数選択

ExcelでVBAでシートの複数選択をするには、配列でシートを指定する。

シート名で指定
Sheets(Array("Sheet1", "Sheet3")).Select

インデックスで指定
Sheets(Array(1, 3)).Select

但し、複数指定した場合は"Range"プロパティが使えないので、串刺しで式や値を設定するには、シートの1つに設定して、"FillAcrossSheets"メソッドで他のシートにコピーする。

× Sheets(Array(1, 2, 3)).Range("C3").Formula = "=SUM(C1:C2)"
○ Sheets(1).Range("C3").Formula = "=SUM(C1:C2)"
  Sheets(Array(1, 2, 3)).FillAcrossSheets Sheets(1).Range("C3")
posted by 忘却の達人 at 21:42| Comment(0) | TrackBack(0) | Excel | このブログの読者になる | 更新情報をチェックする

2010年03月05日

Excel:複数条件の集計

Excelで複数の条件で集計する方法。SUMPRODUCTはいろいろ融通が利きそう。

=SUMPRODUCT((A2:A10={"みかん","りんご"})*B2:B10)
=SUM(SUMIF(A2:A10,{"みかん","りんご"},B2:B10))
posted by 忘却の達人 at 09:07| Comment(0) | TrackBack(0) | Excel | このブログの読者になる | 更新情報をチェックする

2006年10月15日

Excel:VBAで大量データのシートを別のシートにコピーする速い方法

Excel2000
1列ごとにコピーする。全体をまとめてコピーするより遙かに速い。
posted by 忘却の達人 at 05:21| Comment(0) | TrackBack(0) | Excel | このブログの読者になる | 更新情報をチェックする