タイトル欄のアドレスは、エクセルファンクラブの該当する頁へのリンク先です。
詳しい事は、こちらのお願いをご覧になってください。
1
任意のセル以外に入力できなくするには
2
セルに値入力後と同時にマクロを実行させるには?
3 セルの中で改行するには
4 Bookの保護と解除
5 電卓を起動させるには
6 飛び飛びRangeの記述をCellsでするには?
7
ハイパーリンクで別のファイルのシートのセルを指定するには?
8 =を付けずに,セルの中で計算したい
9
履歴ファイルの数を増やしたい
10 ActivateとSelectの違いは?
11 あるセルを基準に任意のセル範囲を指定
12 アクティブセルの値を取得したいのですが
13 セル選択方法各種
14 フォルダのパスを取得するには
15 キーのコードの書き方
16 メモ帳を起動するには
17 現在開いているbook名を取得するには?
18 フォルダ下のすべてのフォルダ内のファイル名を取得しリンクを貼るには
19 "Me."
とは、どのような意味を持つのでしょうか?
20 セルに入力してある計算式を表示するには
1 | 任意のセル以外に入力できなくするには |
Excel97、Excel2000 共通 1. 列番号Aの左(行番号1の上)の、空白の所をクリックし、全セルを選択状態にします。 2. 書式、セル、保護で、「ロック」のところのチェックを外します。 3. 保護したいセルを選択し、上の「ロック」の所にチェックを入れます。 4. ツール、保護、シートの保護を選んで、OKです。 |
|
入力したい範囲を選択し、書式、セル、保護の、ロックのチェックを外す。 シートタグを右クリック、コードの表示、「挿入」-「標準モジュール」 、右の白い所に下のコードをコピーします Sub Auto_Open() With Worksheets("test") ’ワークシート名を適宜変えてください。 'ロックされていないセルのみ移動可能に .EnableSelection = xlUnlockedCells 'シートの保護 .Protect UserInterfaceOnly:=True End With End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 いったんファイルを閉じて(上書き保存)、再起動します。 |
|
2 | セルに値入力後と同時にマクロを実行させるには? |
Private Sub Worksheet_Change(ByVal Target As
Excel.Range) If Target.Address <> "$A$1" Then Exit Sub If Target.Value = "" Then Exit Sub 'ここに実行したいマクロを書くか、呼び出します End Sub |
|
3 | セルの中で改行するには |
Excel97、Excel2000 共通 改行したい所で、Alt+Enter |
|
4 | Bookの保護と解除 |
現在開かれている全てのブック(ただしこのマクロのブック以外)の全てのシートを保護する。 Sub AllProtect() Dim Bk As Workbook Dim St As Worksheet For Each Bk In Workbooks If Not (Bk Is ThisWorkbook) Then For Each St In Bk.Worksheets St.Protect Next St End If Next Bk MsgBox "保護完了!!" End Sub 現在開かれている全てのブック(ただしこのマクロのブック以外)の全てのシートを保護解除する Sub AllUnprotect() Dim Bk As Workbook Dim St As Worksheet For Each Bk In Workbooks If Not (Bk Is ThisWorkbook) Then For Each St In Bk.Worksheets St.Unprotect Next St End If Next Bk MsgBox "保護解除完了!!" End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
5 | 電卓を起動させるには |
Sub
電卓() Dim ret ret = Shell("C:\WINDOWS\CALC.EXE", vbNormalFocus) End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
6 | 飛び飛びRangeの記述をCellsでするには? |
"Union(Range(Cells(1, 1), Cells(7, 2)), Range(Cells(1, 4), Cells(7, 4)), _Range(Cells(1, 6), Cells(7, 7))).Select" | |
7 | ハイパーリンクで別のファイルのシートのセルを指定するには? |
まずあらかじめ、指定したいセルに名前をつけておきます。 そして、ハイパーリンクを挿入する際、「ファイル名またはwebページ」を選択してから、右の真中よりちょっと下にある 「ブックマーク」をクリックします。 そうすると、定義された名前の一覧が出ますので、それを選べばOKです。 シートだけ指定する場合は、「ブックマーク」の中の「セル範囲」にシート名の一覧がありますので、それを選びます。 「Book1.xls」内の「Sheet3!A10」にハイパーリンクする場合リンク先は次のように指定します。 C:\My Documents\Book1.xls#Sheet3!A10 (シート名の前に半角で # を挟みます) |
|
8 | =を付けずに,セルの中で計算したい http://www.keep-on.com/~excelyou/2000lng1/200006/00060018.txt 「=を付けずに、セルの中で計算したい」 【編集ラウンジ】 |
Excel97、Excel2000 共通 +10+10のように、頭に+を付ける |
|
Excel97、Excel2000 共通 メニューの「ツール」「オプション」の「移行」タブで、「式入力を変更する」にチェック |
|
9 | 履歴ファイルの数を増やしたい |
Excel97、Excel2000 共通 [ツール(T)]−[オプション(O)]−[全般]を開くと、[最近使用したファイルの一覧(R)]の数字を増やす |
|
10 | ActivateとSelectの違いは? |
Selectは選択する、Activateはアクティブにする、ですから、例えば A 複数のシートを選択できるが、複数のシートはアクティブに出来ない ActiveWorkBook.Sheets(Array(1,2)).Select 'シートを2枚選択 ActiveWorkBook.Sheets(Array(1,2)).Activate 'シートを2枚アクティブ B アクティブなブックのシートはSelectできるが、非アクティブなブックは Select出来ない。Activateは可能(ブックごとアクティブになる) |
|
11 | あるセルを基準に任意のセル範囲を指定 |
[基準セル].[適用範囲]としてやればOKです。 Sub test() With ActiveCell.Range("A1:A10") .Borders(xlEdgeLeft).Weight = xlThin .Borders(xlEdgeTop).Weight = xlThin .Borders(xlEdgeBottom).Weight = xlThin .Borders(xlEdgeRight).Weight = xlThin .Borders(xlInsideHorizontal).Weight = xlThin End With End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
12 | アクティブセルの値を取得したいのですが |
A = ActiveCell.Value | |
13 | セル選択方法各種 - マクロでRange("A2:B4")をSelectする方法 |
Range(Cells(2, 1), Cells(4, 2)).Select | |
Range("A2:B4").Select | |
Range("A1:B3").Offset(1, 0).Select | |
Range(Cells(1, 1), Cells(3, 2)).Offset(1, 0).Select | |
Range(Cells(2, "A"), Cells(4, "B")).Select | |
Range("A2:A" & Rows.Count).Select 'A列の2行目から最終行まで選択 | |
Range("A1:C10").ClearContents Range("A2") = " " Range("A3") = " " Range("B4") = " " Range("A2").Activate ActiveCell.CurrentRegion.Select |
|
Set
RNG1 = Range("A2:B2") Set RNG2 = Range("A3:B4") Union(RNG1, RNG2).Select |
|
Intersect(Range("A:B"), Range("2:4")).Select | |
Intersect(Union(Rows(2), Rows(3), Rows(4)), Union(Columns(1),Columns(2))).Select | |
Intersect(Union(Rows(2), Rows(3), Rows(4)), Union(Columns("A"),Columns("B"))).Select | |
Range(Range("A2"), Range("B4")).Select | |
Range(Range("A2:B2"), Range("A4:B4")).Select | |
Union(Range("A2:B2"), Range("A3:B4")).Select | |
For
ROWC = 2 To 4 For COLC = 1 To 2 Union(Selection, Cells(ROWC, COLC)).Select Next Next これは、マクロボタンを押す前のアクティブセルもセレクションに入ってしまいます |
|
[A2:B4].Select | |
Range(Cells(2, "A"), Cells(4, "B")).Select | |
14 | フォルダのパスを取得するには |
ThisWorkbook.Path で、現在のフォルダが分かるので、続けてデータファイルのフォルダ名を指定します。 | |
15 | キーのコードの書き方 http://www.keep-on.com/~excelyou/2000lng4/200009/00090354.txt 「キーダウンイベントってありますか?」 【VBAラウンジ】 http://www.keep-on.com/~excelyou/2000lng4/200005/00050151.txt 「OnKeyで/や*文字を反応させるには?」 【VBAラウンジ】 |
下のコードを、""で囲みます。 使用例 Application.OnKey "{ENTER}", "折り返し機能設定" こちらの、Enterを押した時に移動するセルを変えたいの中の OnKeyメソッドを使ったマクロの方法をご覧下さい |
|
BackSpace Ctrl + Break Caps Lock Clear Delete または Del End Enter (テンキー) Enter Esc Help Home Ins Num Lock Page Down Page Up Return Scroll Lock Tab ↑ ↓ ← → F1 〜 F15 1〜0 1〜0 (テンキー) |
{BACKSPACE} または {BS} {BREAK} {CAPSLOCK} {CLEAR} {DELETE} または {DEL} {END} {ENTER} ~ {ESCAPE} または {ESC} {HELP} {HOME} {INSERT} {NUMLOCK} {PGDN} {PGUP} {RETURN} {SCROLLLOCK} {TAB} {UP} {DOWN} {LEFT} {RIGHT} {F1} から {F15} 1 から 0 {97} {98} {99} {100} {101} {102} {103} {104} {105} {96} |
任意のキーを Alt
キー、Ctrl キー、Shift キーのいずれか 1
つまたは複数と組み合わせて指定できます。 任意のキーを他のキーと組み合わせるときは、次に示すコードを使用します。 Shift + Ctrl ^ Alt % |
|
キーコードの調べ方 Excel97、Excel2000、Excel2002
共通。 ワークシート上に「コントロールツールボックス」ツールバーから持ってきたテキストボックスを置きます。 そのテキストボックスの KeyDown イベントプロシージャとして次のようなコードを書き込みます。 Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) MsgBox "今押されたキーのキーコード:" & KeyCode End Sub これで、テキストボックス上でキーを押すと、コードが表示されます。 表示されたコードを"{}"で囲んで使用します。 【使用例】 Sub miko() MsgBox Chr(77) & Chr(73) & Chr(75) & Chr(79) End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
16 | メモ帳を起動するには |
Sub メモ帳() Dim ret ret = Shell("notepad ", vbNormalFocus) End Sub |
|
17 | 現在開いているbook名を取得するには? |
Sub
test() Dim objbook As Object For Each objbook In Workbooks MsgBox objbook.Name Next End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
18 | フォルダ下のすべてのフォルダ内のファイル名を取得しリンクを貼るには |
Sub
ファイル名取得とハイパーリンク() Dim Path As String, i As Integer, a As String Path = "C:\My Documents" With Application.FileSearch .SearchSubFolders = True .LookIn = Path .FileType = msoFileTypeExcelWorkbooks .Execute For i = 1 To .FoundFiles.Count a = Dir(.FoundFiles(i)) Cells(i, 1).Value = a Cells(i, 1).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=.FoundFiles(i) Next End With End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
19 | "Me." とは、どのような意味を持つのでしょうか? |
Private
Sub CommandButton2_Click() Me.Hide Me.Tag = vbCancel End Sub このコードの使い方は、マクロの使い方(4)ユーザーフォームのモジュールにあります。 Meは、実行中のコードを所有するオブジェクトを表すキーワードです。 ここでは、UserForm1のコ ードモジュール内でMeが使用されているので、MeはUserForm1を表しています。 |
|
20 | セルに入力してある計算式を表示するには |
Excel97、Excel2000 共通 [ツール(T)]→[オプション(O)]→[表示]タブの[ウィンドウオプション]で[数式(R)]にチェック |