タイトル欄のアドレスは、エクセルファンクラブの該当する頁へのリンク先です。
詳しい事は、こちらのお願いをご覧になってください。
1 7555と数値入力したら
07-555、7055と入力したら 07- 55、7005と入力したら
07- 5
2
半角英数カナを全角英数カナに一括変換するには
3 ゼロの値を表示しない
4 2つのセル内の文字を1つのセルにまとめたい
5
セルをダブルクリックして、○をつけたりけしたりするには
6
小文字を大文字に、大文字を小文字に変換するには?
7
マウスでダブルクリックしたときに、セルに記号(例:※)を入力するには
8
郵便番号を入れて、住所を出すには
9 金種表を作るには
10 基本は%表示で、、値が「0」の時は非表示にしたい
11 1つのセル内のデータを2列以上に分割するには
12 セルの内容をクリアするには
13 i が I に、(c) が ? に、(r) が ?
に、勝手に変換されてしまう
14 選択範囲の最大値・最小値
15 最大値、最小値を選んで
色を付けるには
16 クリックした(選択し)セルのデータを常に、"A1"セルに表示するには
17 マウスでクリックした金額だけを合計したい
18 Aに1、B1に+、C1に2、と入っている場合、D1を3にするには
19 ふりがなのみを別のセルに抽出するには
20 10桁の数字を、Enterを押さないで1つずつ別のセルに入力するには
1 | 7555と数値入力したら
07-555、7055と入力したら 07- 55、 7005と入力したら 07- 5 |
Excel97、Excel2000
共通 A1にデータが入っていた場合 =TEXT(INT(A1/1000),"00-")&RIGHT(" "&MOD(A1,1000),3) |
|
2 | 半角英数カナを全角英数カナに一括変換するには |
Excel97、Excel2000
共通 =JIS(変換したいセル) |
|
Sub
選択範囲の半角英数カナを全角に() Dim rs As Range For Each rs In Selection rs.Value = StrConv(rs.Value, vbWide) Next End Sub Sub 選択シートの全セルの半角英数カナを全角に() Dim rs As Range For Each rs In ActiveSheet.UsedRange rs.Value = StrConv(rs.Value, vbWide) Next End Sub Sub 全てのシートの全てのセルの半角英数カナを全角に() Dim rs As Range, Sh As Worksheet For Each Sh In Worksheets Sh.Select For Each rs In ActiveSheet.UsedRange rs.Value = StrConv(rs.Value, vbWide) Next rs Next Sh End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
3 | ゼロの値を表示しない |
Excel97、Excel2000
共通 ツール>オプション>表示>ゼロ値 のチェックを外せばそのシートのゼロは全部消えます。 |
|
該当セルを選択し、[書式]-[セル]
の「表示形式」タブでユーザー定義を選び、 種類のテキストボックスに # と記入します。 |
|
4 | 2つのセル内の文字を1つのセルにまとめたい |
Excel97、Excel2000
共通 A1セルとB1セルの中味をつないでC1セルに書かせるという場合、 =CONCATENATE(A1,B1) |
|
Excel97、Excel2000 共通 =A1&B1 |
|
5 | セルをダブルクリックして、○をつけたりけしたりするには |
Private Sub
Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean) Dim CurShape As Shape Cancel = True For Each CurShape In Shapes If CurShape.TopLeftCell.Address = Target.Cells(1, 1).Address Then CurShape.Delete Exit Sub End If Next With Target Shapes.AddShape(msoShapeOval, .Left, .Top, .Width, .Height).Fill.Visible = msoFalse End With End Sub 下のコードは、BCD列でセルをダブルクリックすると、そのセルの先頭に「赤丸」が付きます。 再度ダブルクリックでリセットになります。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 1 Or Target.Column > 4 Then Exit Sub Select Case Left(Target.Value, 1) Case Is <> "○" Target.Value = "○" & Target.Value Target.Characters(1, 1).Font.ColorIndex = 3 Case "○" Target.Value = Right(Target.Value, Len(Target.Value) - 1) Target.Font.ColorIndex = 1 End Select Cancel = True End Sub このコードの使い方は、マクロの使い方(2)該当するシートのモジュールにあります。 |
|
6 | 小文字を大文字に、大文字を小文字に変換するには? |
Excel97、Excel2000
共通 A1にデータがある場合、他のセルに =UPPER(A1) とすると 大文字 に変換した値が表示されます。 =LOWER(A1) とすると 小文字 に変換した値が表示されます。 この場合、大文字小文字が混ざっていても、全てどちらかに統一して表示されます |
|
Sub test() Dim S1 As String, S2 As String S1 = UCase("abcde") '小文字を大文字に S2 = LCase("ABCDE") '大文字を小文字に MsgBox S1 & " " & S2 End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
Sub
test3() Dim x(2) As String With Worksheets("Sheet1") x(1) = StrConv(.Cells(1, 3).Value, vbUpperCase) '小文字を大文字に x(2) = StrConv(.Cells(1, 4).Value, vbLowerCase) '大文字を小文字に MsgBox x(1) & " " & x(2) End With End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
7 | マウスでダブルクリックしたときに、セルに記号(例:※)を入力するには、 |
Private Sub
Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range,
Cancel As Boolean) Target.Value = "※" End Sub このコードの使い方は、マクロの使い方(2)該当するシートのモジュールにあります。 |
|
8 | 郵便番号を入れて、住所を出すには http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200102/01020251.txt 「指導よろしくお願いします。」 【編集ラウンジ】 http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200205/02050158.txt 「郵便番号を入力すると、下のセルに住所テキストで表示する方法」 【VBAラウンジ】 |
郵便番号変換ウィザード (Excel 2000 用) マイクロソフト ダウンロードセンター | |
Excel97、Excel2000
共通 IMEツールバーの「般」のところをクリック、「人名/地名」を選択します。 (IMEプロパティの郵便番号辞書のチェックを外している場合、それもONにしておきます) セルに例えば、169-0075 と入力し変換(スペース)キーを押すと、「東京都新宿区高田馬場」に変換されます。 |
|
Excel97、Excel2000 共通 IMEプロパティの郵便番号辞書をONにします。 |
|
IMEツールバーの「般」のところをクリック、「人名/地名」を選択します。 (IMEプロパティの郵便番号辞書のチェックを外している場合、それもONにしておきます) 下のコードを書き込んだシートで、B2に郵便番号(492-8269)を入力し?Enter?もしくは?他のセルを選択すると B3に住所を表示します Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo ErrorLine If Target.Address(False, False) = "B2" Then With Target.Offset(1).Validation .Delete .Add Type:=xlValidateInputOnly .IMEMode = xlIMEModeHiragana End With Target.Offset(1).Select SendKeys Target.Value SendKeys "{ }" SendKeys "{ENTER}" End If ErrorLine: End Sub このコードの使い方は、マクロの使い方(2)該当するシートのモジュールにあります。 |
|
9 | 金種表を作るには http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200012/00120103.txt 「金額入力を紙幣と硬貨別々に把握するには」 【編集ラウンジ】 |
Excel97、Excel2000
共通 このような表がある場合 A B C D E F G H I J K 1 金額 万円 5千円 2千円 千円 5百円 百円 50円 10円 5円 1円 A2 に =INT(A2/10000) B2 に =INT((A2-B2*10000)/5000) C2 に =INT((A2-B2*10000-C2*5000)/2000) D2 に =INT((A2-B2*10000-C2*5000-D2*2000)/1000) E2 に =INT((A2-B2*10000-C2*5000-D2*2000-E2*1000)/500) F2 に =INT((A2-B2*10000-C2*5000-D2*2000-E2*1000-F2*500)/100) G2 に =INT((A2-B2*10000-C2*5000-D2*2000-E2*1000-F2*500-G2*100)/50) H2 に =INT((A2-B2*10000-C2*5000-D2*2000-E2*1000-F2*500-G2*100-H2*50)/10) I2 に =INT((A2-B2*10000-C2*5000-D2*2000-E2*1000-F2*500-G2*100-H2*50-I2*10)/5) J2 に =A2-B2*10000-C2*5000-D2*2000-E2*1000-F2*500-G2*100-H2*50-I2*10-J2*5 |
|
10 | 基本は%表示で、、値が「0」の時は非表示にしたい |
Excel97、Excel2000
共通 書式、セル、表示形式、ユーザー定義で、種類の所に下のように入れます。 #%;-#%;#; |
|
11 | 1つのセル内のデータを2列以上に分割するには |
Excel97、Excel2000
共通 分割したいセルを選択し、[データ]、[区切位置]で設定します。 |
|
Excel97、Excel2000 共通 A1セルに 082-222-2333という形式で入力された電話番号を分割します B1セルに =MID(A1,1,FIND("-",A1)-1) C1セルに =MID(A1,FIND("-",A1)+1,LEN(A1)) |
|
082-222-2333という形式で入力された電話番号を、082
と 222 と 2333 に3分割します Sub 分割() Dim TargetRange As Range Dim r As Range Dim CellValue As Variant Dim StartPos As Integer Dim NextPos As Integer Dim ColCount As Integer With ActiveSheet Set TargetRange = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)) End With For Each r In TargetRange CellValue = r.Value StartPos = 1 ColCount = 1 Do NextPos = InStr(StartPos, CellValue, "-", vbTextCompare) If NextPos = 0 Then r.Offset(0, ColCount).Value = "'" & Mid(CellValue, StartPos, Len(CellValue)) Exit Do Else r.Offset(0, ColCount).Value = "'" & Mid(CellValue, StartPos, NextPos - StartPos) StartPos = NextPos + 1 ColCount = ColCount + 1 End If Loop Next Set TargetRange = Nothing Set r = Nothing End Sub |
|
082-222-2333という形式で入力された電話番号を、082
と 222-2333 に2分割します Sub 分割() Dim intRow As Integer Dim vntValue As Variant intRow = ActiveSheet.UsedRange.row For intCount = 1 To intRow '現在のセルの値 vntValue = Cells(intCount, 1).Value If InStr(vntValue, "-") <> 0 Then '市外局番(先頭に ' をつけて文字列にします) Cells(intCount, 2).Value = "'" & Left(vntValue, InStr(vntValue, "-") - 1) Cells(intCount, 3).Value = Right(vntValue, Len(vntValue) - InStr(vntValue, "-")) End If Next End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
A1に123456789とあり、それをB1に123、C1に456、D1に789というふうに分けます。 Sub test() Cells(1, 2).Value = Left(Cells(1, 1).Value, 3) Cells(1, 3).Value = Mid(Cells(1, 1).Value, 4, 3) Cells(1, 4).Value = Right(Cells(1, 1).Value, 3) End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
12 | セルの内容をクリアするには |
Clearメソッド | Range オブジェクトの場合、オブジェクト全体をクリアします。 |
ClearFormatsメソッド | 書式をクリアします。 |
ClearContentsメソッド | 選択範囲から数式と文字をクリアします。 また、グラフからグラフの書式を残したままデータ (系列) をクリアします。 |
13 | i が I に、(c) が ? に、(r) が ? に、勝手に変換されてしまう |
Excel97、Excel2000
共通 ツール、オートコレクト、入力中にオートコレクトのチェックを外すか 該当する文字列を削除します。 |
|
14 | 選択範囲の最大値・最小値 |
Sub 選択範囲最大値() Dim myRange As Range, answer As Long Set myRange = Selection answer = Application.WorksheetFunction.Max(myRange) MsgBox answer End Sub Sub 選択範囲最小値() Dim myRange As Range, answer As Long Set myRange = Selection answer = Application.WorksheetFunction.Min(myRange) MsgBox answer End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
15 | 最大値、最小値を選んで 色を付けるには |
Sub
複数の最大最小値の文字色を変える() Dim seru As Range For Each seru In Selection If seru.Value = Application.WorksheetFunction.Max(Selection) Then seru.Font.ColorIndex = 3 ElseIf seru.Value = Application.WorksheetFunction.Min(Selection) Then seru.Font.ColorIndex = 10 Else seru.Font.ColorIndex = xlColorIndexAutomatic End If Next seru End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
Sub
複数の最大最小値のセル塗りつぶし色を変える() Dim seru As Range For Each seru In Selection If seru.Value = Application.WorksheetFunction.Max(Selection) Then seru.Interior.ColorIndex = 3 ElseIf seru.Value = Application.WorksheetFunction.Min(Selection) Then seru.Interior.ColorIndex = 10 Else seru.Interior.ColorIndex = xlColorIndexNone End If Next seru End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
16 | クリックした(選択し)セルのデータを常に、"A1"セルに表示するには |
Private Sub
Worksheet_SelectionChange(ByVal Target As Range) Application.EnableEvents = False Range("A1").Value = ActiveCell.Value Application.EnableEvents = True End Sub このコードの使い方は、マクロの使い方(2)該当するシートのモジュールにあります。 |
|
Private Sub
Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Row = 1 And Target.Column = 1 Then Target.ClearContents Cells(1, 1) = Target End Sub このコードの使い方は、マクロの使い方(2)該当するシートのモジュールにあります。 |
|
17 | マウスでクリックした金額だけを合計したい http://www.keep-on.com/~excelyou/2000lng2/200007/00070059.txt 「セルを電卓のように使うにはどうすればいいですか?」 【その他ラウンジ】 |
A1〜A5に商品名、B1〜B5に金額(数値)が入っているとします。 C1〜C5に購入個数を表示し、金額合計はD1セルに表示します。 データ範囲(A1〜B5)で右クリックすると、購入個数が1個づつ増加して、D1に合計がでます。 データ範囲でダブルクリックすると、クリアされます。 購入個数を個別に修正する時は、C列の数値を直接変更してください。 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Target.Column > 2 Or Target.Row > 5 Then Exit Sub If Target.Value <> "" Then Cancel = True Select Case Target.Column Case 1 Target.Offset(0, 2).Value = Target.Offset(0, 2).Value + 1 Case 2 Target.Offset(0, 1).Value = Target.Offset(0, 1).Value + 1 End Select Range("D1").FormulaArray = "=SUM(C1:C5*B1:B5)" End If End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column > 2 Or Target.Row > 5 Then Exit Sub Cancel = True Range("C1:C5", "D1").ClearContents End Sub このコードの使い方は、マクロの使い方(2)該当するシートのモジュールにあります。 |
|
18 | Aに1、B1に+、C1に2、と入っている場合、D1を3にするには |
Sub test() Range("D1") = Evaluate(Range("A1") & Range("B1") & Range("C1")) End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
19 | ふりがなを別のセルに抽出するには http://www.keep-on.com/~excelyou/2000lng4/200005/00050058.txt 「ふりがなのみを別のセルにコピーするマクロは?」 【VBAラウンジ】 |
Excel97、Excel2000 共通 A1のセルに入力した内容の振り仮名を、B1のセルに表示します。 B1のセルに =PHONETIC(A1) |
|
Private
Sub Worksheet_Change(ByVal Target As Range) With Target If .Column = 1 Then Application.EnableEvents = False .Offset(0, 1).Value = .Phonetics(1).Text Application.EnableEvents = True End If End With End Sub このコードの使い方は、マクロの使い方(2)該当するシートのモジュールにあります。 |
|
20 | 10桁の数字を、Enterを押さないで1つずつ別のセルに入力するには 内容が重複してましたので、こちらにまとめましたm(_ _)m |