HOME 検索 索引 もくじ 関数目次 前ページへ 次ページへ
タイトル欄のアドレスは、エクセルファンクラブの該当する頁へのリンク先です。
詳しい事は、こちらのお願いをご覧になってください。
21 保護したシートの、行幅列幅を変更するには?
22 行番号または、列番号をクリックしたときだけ、保護を解除するには?
23 データが入力されている一番最後の行を取得するには?
24 選択範囲の列幅・行高さを均等に揃えるには?
25 選択したセルの行(列)番号が奇数か偶数かを判断するには?
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
21 | 保護したシートの、行幅列幅を変更するには? http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200107/01070022.txt 「シートの保護後にセルの幅調整をするには?」 【編集ラウンジ】 |
Sub
miko_test2() Dim a As Long, b As String, aa As Integer, bb As Integer Dim aaa As Integer, bbb As Integer On Error Resume Next a = Application.InputBox(Prompt:="行幅を変更する行番号を入力してください", Type:=1) aaa = Rows(a).RowHeight aa = Application.InputBox(Prompt:="行幅を入力してください" & Chr(13) & _ "現在の行幅は" & aaa & "です", Type:=1) b = Application.InputBox(Prompt:="行幅を変更する列名を入力してください", Type:=2) bbb = Columns(b).ColumnWidth bb = Application.InputBox(Prompt:="列幅を入力してください" & Chr(13) & _ "現在の列幅は" & bbb & "です", Type:=1) ActiveSheet.Unprotect Rows(a).RowHeight = aa Columns(b).ColumnWidth = bb ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
22 | 行番号または、列番号をクリックした時だけ、保護を解除するには? http://www.keep-on.com/excelyou/2001lng4/200107/01070109.txt 「ロックしたセルを含む行を削除可能にするには?」 【VBAラウンジ】 |
Private Sub Worksheet_SelectionChange(ByVal
Target As Range) If Target.EntireColumn.Address = Target.Address Or _ Target.EntireRow.Address = Target.Address Then ActiveSheet.Unprotect Else ActiveSheet.Protect End If End Sub このコードの使い方は、マクロの使い方(2)該当するシートのモジュールにあります。 行番号を選択した時のみ解除する場合、2行目のコードを If Target.EntireRow.Address = Target.Address Then 列番号のみの場合、 If Target.EntireColumn.Address = Target.Address Then にします。 |
|
23 | データが入力されている一番最後の行を取得するには? http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200107/01070330.txt 「データが入力されているセルの最大行を求めるには?」 【VBAラウンジ】 |
Sub Max_R() MsgBox Cells.SpecialCells(xlLastCell).Row End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
24 | 選択範囲の列幅・行高さを均等に揃えるには? |
1行だけ、または65536行全て選択(列番号で選択)している場合は列幅だけを揃えます。 1列だけ、または256列全て選択(行番号で選択)している場合は行高さだけを揃えます。 端数が出る場合、大きめにするか小さめにするか指定します。 私の環境では、行高さ最小値0.75、列幅最小値0.12ですので、とりあえずそれでやりました。 もし、環境が違うようでしたら、この数値を変更してください。 '行高さ最小値0.75、列幅最小値0.12 Sub 列幅行高さ均等2() Dim R1 As Long, R2 As Long, i As Long, kei As Double, amari As Single kei = 0 If Selection.Rows(Selection.Rows.Count).Row <> 65536 Then R1 = Selection.Row R2 = Selection.Rows(Selection.Rows.Count).Row For i = R1 To R2 kei = kei + Rows(i).RowHeight Next Range(Rows(R1), Rows(R2)).RowHeight = kei / (R2 - R1 + 1) amari = kei - Selection.RowHeight * (R2 - R1 + 1) If amari > 0 Then If MsgBox(amari & " 余りました。範囲内で全てのセルの高さを均一にできません。" & vbCrLf & _ "大きめにしますか? 小さめにしますか? 大きめなら「はい」を選んでください。", _ vbYesNo) = vbYes Then Range(Rows(R1), Rows(R2)).RowHeight = kei / (R2 - R1 + 1) + 0.75 End If ElseIf amari < 0 Then If MsgBox(amari & " 余りました。範囲内で全てのセルの高さを均一にできません。" & vbCrLf & _ "大きめにしますか? 小さめにしますか? 小さめなら「はい」を選んでください。", _ vbYesNo) = vbYes Then Range(Rows(R1), Rows(R2)).RowHeight = kei / (R2 - R1 + 1) - 0.75 End If End If End If kei = 0 If Selection.Columns(Selection.Columns.Count).Column <> 256 Then R1 = Selection.Columns(1).Column R2 = Selection.Columns(Selection.Columns.Count).Column For i = R1 To R2 kei = kei + Columns(i).ColumnWidth Next Range(Columns(R1), Columns(R2)).ColumnWidth = kei / (R2 - R1 + 1) amari = kei - Selection.ColumnWidth * (R2 - R1 + 1) If amari > 0 Then If MsgBox(amari & " 余りました。範囲内で全てのセルの列幅を均一にできません。" & vbCrLf & _ "大きめにしますか? 小さめにしますか? 大きめなら「はい」を選んでください。", _ vbYesNo) = vbYes Then Range(Rows(R1), Rows(R2)).ColumnWidth = kei / (R2 - R1 + 1) + 0.12 End If ElseIf amari < 0 Then If MsgBox(amari & " 余りました。範囲内で全てのセルの列幅を均一にできません。" & vbCrLf & _ "大きめにしますか? 小さめにしますか? 小さめなら「はい」を選んでください。", _ vbYesNo) = vbYes Then Range(Rows(R1), Rows(R2)).ColumnWidth = kei / (R2 - R1 + 1) - 0.12 End If End If End If End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
25 | 選択したセルの行(列)番号が奇数か偶数かを判断するには? http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200210/02100312.txt 「選択したセルの列番号が偶数か奇数かを調べるには?」 【VBAラウンジ】 |
Sub
test() If Selection.Row Mod 2 Then MsgBox "奇数行" Else MsgBox "偶数行" End If If Selection.Column Mod 2 Then MsgBox "奇数列" Else MsgBox "偶数列" End If End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |