Gutenberg & LIQUID BLOCKS

カバー画像としてミカンの写真を使っています。オーバーレイの色は薄いブルーを使っています。

最近の何枚かの写真を使います。

5枚の写真をギャラリーとして使いました。

長兄からの贈り物

カバー画像としてミカンの写真を使っています。オーバーレイの色は薄いブルーを使っています。

音楽ファイルを挿入しています。ヘレンシャピロの「悲しき片思い」です。

↑当記事の作成に当たっては上のリンクの記事を参照しました。
LIQUID BLOCKSは無料
LIQUID PRESSは有料

函館塩ラーメン五稜郭の塩ラーメンといかめし

↑人気ブログランキングに参加しています。ポチっと1票を!

CodeMirror Blocksの構造解析

アイキャッチ画像は20日国分寺麻布茶房で行われた際のウェートレスによるプレッシャーのお茶出し。これにより講義は80分で切り上げた。店は混んでいたしこれは致しかたない。

<!-- /wp:codemirror-blocks/code-block -->

<!-- wp:codemirror-blocks/code-block {"lineNumbers":true} -->
<div class="wp-block-codemirror-blocks-code-block code-block"><pre>#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo32.py sessin managed &amp; username get
from flask import Flask, redirect, request, render_template, url_for, session
 
app = Flask(__name__)
 
@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo07.html')


<!-- 中略 -->

@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('func'))
 
app.secret_key = 'B0Qp89i/2xY F~XHH!jnVVLWX/,%QR'
 
if __name__ == '__main__':
    app.run(debug=True)</pre></div>
<!-- /wp:codemirror-blocks/code-block -->

<!-- wp:paragraph -->

プログラムの先頭部分と最後の部分<pre … </pre>でCodeが囲われている。

Line No無し
<!-- wp:codemirror-blocks/code-block -->
<div class="wp-block-codemirror-blocks-code-block code-block"><pre>#!/usr/bin/python3
# -*- coding: utf-8 -*-

Line番号が無しの場合は{“lineNumbers”:true}の指定がない。

<!-- wp:codemirror-blocks/code-block {"lineNumbers":true} -->
<div class="wp-block-codemirror-blocks-code-block code-block"><pre>#!/usr/bin/python3
# -*- coding: utf-8 -*-

Line番号がトゥルーになっている。

Line Wrapping無し
<!-- wp:codemirror-blocks/code-block {"lineNumbers":true,"lineWrapping":false} -->
<div class="wp-block-codemirror-blocks-code-block code-block"><pre>#!/usr/bin/python3
# -*- coding: utf-8 -*-

Line Wrapping無しの指定。

Editorable on frontend
<!-- wp:codemirror-blocks/code-block {"lineNumbers":true,"lineWrapping":false,"readOnly":true} -->
<div class="wp-block-codemirror-blocks-code-block code-block"><pre>#!/usr/bin/python3
# -*- coding: utf-8 -*-

Editorable on frontendを指定すると”readOnly”:trueになる。

上記指定による状況をプレビュー、ログオフで見ようと思ったが表示されなかった。

再びSyntaxHighlightその2

code Highlightしない件、ライン番号も表示されない。インデントはされる。

191215Editor内その1
191215Editor内その1

191215Editor内その1(まだ色表示されている-Line番号も表示されている)

191215Editor内その2
191215Editor内その2

191215Editor内その2(プレビューすると色が消えてしまった)

191215Editor内その3
191215Editor内その3

191215Editor内その3(再びプレビューすると色が復活)

191215Editor内その4
191215Editor外

191215Editor内その4(公開するとプレーンテキストになってしまう-Line番号も消えてしまう)

↑人気ブログランキングに参加しています。ポチっと1票を!

再びSyntaxHighlight

固定ページではSyntaxHighlightされた、さて投稿ページではどうなるか?

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo32.py sessin managed & username get
from flask import Flask, redirect, request, render_template, url_for, session
 
app = Flask(__name__)
 
@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo07.html')
 
@app.route('/program', methods=['GET', 'POST'])
def program():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo03.html')
 
@app.route('/program1', methods=['GET', 'POST'])
def program1():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo04.html')
 
@app.route('/program2', methods=['GET', 'POST'])
def program2():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo05.html')
 
@app.route('/param/<parameter>')
def show_user_profile(parameter):
    if 'username' in session:
        html = render_template('demo07.html',name = str(parameter))        
        return html
    return 'You are not logged in. from param processing'
 
@app.route('/reset', methods=['GET', 'POST'])
def reset():
    session['username'] = 'monkey'
    return render_template('check31.html')
 
@app.route('/')
def func():
    if 'username' in session:
        html = render_template('demo07.html',name = str(session['username']))        
        return html
    return 'You are not logged in'
 
@app.route('/check', methods=['GET', 'POST'])
def check():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('func'))
    return render_template('check31.html')
 
@app.route('/',methods=['POST'])
def index():
 
    if (request.form['attr'] == 'need'):
 
        success = False
        name = request.form["username"]
        passwd = request.form["pass"]
        att1 = request.form['attr']
        my_message = "keyword処理は?"
    else:
        con1 = request.arg.get('_ControlID')
        pg1 = int(request.arg.get('_PageID'))
        act1 = request.arg.get('_ActionID')
        flg1 = request.arg.get('getFlg')
        html = render_template('demo07.html', con = con1, pg = str(pg1), act = act1, flg = flg1)        
        return html
 
    user_data = [{"id":"カリフラワー", "pass":"hanakyabetsu"},{"id":"西行法師", "pass":"masako"},{"id":"monkey", "pass":"kayochan"},{"id":"program1", "pass":"pass1"}]
 
    for i in range(0, 10):
        if user_data[i]["id"] == name:
            if user_data[i]["pass"] == passwd:
                success = True
                session['username'] = name
                return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)
            else:
                continue
        else:
            continue
    success = False
    return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)
 
@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('func'))
 
app.secret_key = 'B0Qp89i/2xY F~XHH!jnVVLWX/,%QR'
 
if __name__ == '__main__':
    app.run(debug=True)

Python program(CodeMirror Blocks in GutenbergではHighlight表示されている)

↑人気ブログランキングに参加しています。ポチっと1票を!

WP5.3 WP SyntaxHighliter Powershell Classic Editorの組み合わせ

WP5.3 WP SyntaxHighliter Powershell Classic Editorの組み合わせ

#USBログオフ時メッセージプロンプト処理
#メッセージ文
$messagePath="C:\temp\usbmessage.txt"
#ログ出力パス
$usbLOG="C:\temp\test\usblog.txt"
 
#--------------------------------------
#メッセージボックス
#--------------------------------------
function MessageBox([string]$p_value = "")
{
    [Void][Windows.Forms.MessageBox]::Show($p_value,"お知らせ","OK", "Warning")
}
 
 
$crUSB = Get-WmiObject -Class win32_usbhub | ? { $_.name -eq "USB 大容量記憶装置" } | ? { $_.status -eq  "OK" }
 
 
if ($crUSB) {
    write-output "$env:computername,$env:username,$(get-date)" >> $usbLOG
 
    #Windowsフォームのロード
    [Void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms");
 
    MessageBox $([String]::Join("`r`n", (Get-Content $messagePath)))
    
}

WP5.3 Gutenberg7.1.0 Enlighter2.12.0の組み合わせ

#USBログオフ時メッセージプロンプト処理
#メッセージ文
$messagePath="C:\temp\usbmessage.txt"
#ログ出力パス
$usbLOG="C:\temp\test\usblog.txt"
  
#--------------------------------------
#メッセージボックス
#--------------------------------------
function MessageBox([string]$p_value = "")
{
    [Void][Windows.Forms.MessageBox]::Show($p_value,"お知らせ","OK", "Warning")
}
  
  
$crUSB = Get-WmiObject -Class win32_usbhub | ? { $_.name -eq "USB 大容量記憶装置" } | ? { $_.status -eq  "OK" }
  
  
if ($crUSB) {
    write-output "$env:computername,$env:username,$(get-date)" >> $usbLOG
  
    #Windowsフォームのロード
    [Void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms");
  
    MessageBox $([String]::Join("`r`n", (Get-Content $messagePath)))
     
}

Enlighterで表示

↑人気ブログランキングに参加しています。ポチっと1票を!

WP SyntaxHighlighter with WP5.3default & Classic Editor

WP SyntaxHighlighter with WP5.3default & Classic Editor

def add_tax(astring):
    items = astring.split()
    price = int(items[1]) * 1.1
    items[1] = str(int(price))
    return " ".join(items)

s = add_tax("Goods 1000 2019/07/03")
print(s)

↑人気ブログランキングに参加しています。ポチっと1票を!

def add_tax(astring):
    items = astring.split()
    price = int(items[1]) * 1.1
    items[1] = str(int(price))
    return " ".join(items)

s = add_tax("Goods 1000 2019/07/03")
print(s)

Enlighter使用(in Gutenberg)

Python with CodeMirror Blocks in Classic Editor

 

def add_tax(astring):
    items = astring.split()
    price = int(items[1]) * 1.1
    items[1] = str(int(price))
    return " ".join(items)

s = add_tax("Goods 1000 2019/07/03")
print(s)
def add_tax(astring):
    items = astring.split()
    price = int(items[1]) * 1.1
    items[1] = str(int(price))
    return " ".join(items)

s = add_tax("Goods 1000 2019/07/03")
print(s)

Visual Basic4度目のUP

Sub チェック()
    Dim i As Long 'カウンタ変数 ※→「開発」→「マクロ」→「Module1」→「ツール」→「マクロ」→「チェック」→「編集」
    Dim myTemporary As Long    'あまりの処理
    Dim myAmari As Long
    Dim myGANS As Long   'Counter Good Answer
    Dim SRT_BS As Long   'Displacement Count Area
    Dim ST_PTR As Long   '生徒のラインナンバー
    Dim myANSWR As Boolean  '割り算の商と余りが両方あってなければいけない
    ' Code
    myGANS = 0  'Initialize
    myANSWR = False
    Sheets("Sheet1").Select 'Select Sheet1
    myOperator = Cells(1, 10).Value
    
    For i = ORG_CLM To DST_CLM
        'A列の値とC列の値の和がE列に入力された答えと正しいか判定
        If myOperator = "+" Then
            SRT_BS = 5
            If Cells(i, NUM1_RW).Value + Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "-" Then
            SRT_BS = 10
            If Cells(i, NUM1_RW).Value - Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "*" Then
            SRT_BS = 15
            If Cells(i, NUM1_RW).Value * Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "/" Then
            SRT_BS = 20
            If Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value) = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myANSWR = True
               
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
                
            End If
             myTemporary = Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value)
             myAmari = Cells(i, NUM1_RW).Value - myTemporary * Cells(i, NUM2_RW).Value
             If Cells(i, AMAR_RW).Value = myAmari Then
                 Cells(i, AMAR_RW).Font.Color = vbBlue
                 If myANSWR = True Then
                    myGANS = myGANS + 1
                 End If
             Else
                 Cells(i, AMAR_RW).Font.Color = vbRed
             End If
        End If
    Next i
    If myGANS = SEIKAI_SU Then
        MsgBox "全問正解です。おめでとう!"
    Else
        MsgBox "もうちょっと!"
    End If
    
    SRT_RW = Cells(1, 13).Value  'Bias Locate depend on 横 operator
    Sheets("Sheet2").Select
    SRT_BS = SRT_BS + SRT_RW    'Fix Count Location
    ST_PTR = Cells(1, 14).Value     'Current 生徒の行
    Cells(1, 15).Value = SRT_BS '横のLocation
    Cells(ST_PTR, SRT_BS) = myGANS  '正解数を入れる
    Sheets("Sheet1").Select 'Change Manage Page To Question Page
End Sub

Sub リセット()
    Dim i As Long            'カウンタ変数
    Dim myTemporary As Long
    UserForm3.Show  'Show List2
    Sheets("Sheet2").Select 'Select Sheet2
    If IsNumeric(Cells(1, 11).Value) Then
       ' MsgBox "True"
        If Cells(1, 11).Value = 0 Then
            ST_NUM = 4
            Cells(1, 11).Value = ST_NUM
        Else
            ST_NUM = Cells(1, 11).Value '前回からの登録簿のスタート値を使用
            'MsgBox ST_NUM
        End If
    Else
        ST_NUM = 4 '生徒ライン番号初期化
        Cells(1, 11).Value = ST_NUM '生徒ライン番号初期化
        MsgBox ST_NUM  'for debug
    End If
    If MsgBox("追加登録しますか?", vbYesNo) = vbYes Then  '追加登録をするか?
        Do While Cells(1, 12).Value <> "End" '後でENDをセットするルーチンを作る事
            If Cells(1, 12).Value = "End" Then  '登録作業エンド
                 Sheets("Sheet2").Select 'Select Sheet2
            End If
            Cells(1, 10).Value = "Error" 'Error Flag On?
            Do While Cells(1, 10).Value = "Error"
                FRM_USER.Show   'User Form Show Registry ID
            Loop
            Cells(1, 10).ClearContents 'Error Flag On?
        Loop    'New Loop End
    Else
        MsgBox "今回は登録しません。"
        Sheets("Sheet2").Select
        Cells(1, 12).Value = "End"
    End If
    '問題出題
        Sheets("Sheet2").Select 'Servey Loop End
        If Cells(1, 12).Value = "End" Then
            Cells(1, 12).ClearContents  'For debug
            Sheets("Sheet1").Select 'Select Sheet1
            UserForm1.Show  'UserForm1 Show 加減乗除
            UserForm2.Show  '桁数セット
        End If
        Sheets("Sheet1").Select 'Select Sheet1
        myBias = Cells(1, 11).Value      'WorkCell for Bias Value
        myOperator = Cells(1, 10).Value  'Workarea for Operator
    
        For i = ORG_CLM To DST_CLM
            Cells(i, ANSW_RW).ClearContents        '値をクリア
            Cells(i, AMAR_RW).ClearContents
            Cells(i, ANSW_RW).Font.Color = vbBlack '文字色を黒に
            Cells(i, AMAR_RW).Font.Color = vbBlack
            Cells(i, NUM1_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力
            Cells(i, OPR_RW).Value = myOperator      '四則演算子を入れる
            Cells(i, NUM2_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力
            If myOperator = "-" Then
            myTemporary = Cells(i, NUM1_RW)
                If Cells(i, NUM1_RW) < Cells(i, NUM2_RW) Then
                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)
                    Cells(i, NUM2_RW) = myTemporary
                End If
            End If
            If myOperator = "/" Then
            myTemporary = Cells(i, NUM1_RW)
                If Cells(i, NUM1_RW) < Cells(i, NUM2_RW) Then
                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)
                    Cells(i, NUM2_RW) = myTemporary
                    If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide
                        Cells(i, NUM2_RW) = 1
                    End If
                Else
                   If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide
                        Cells(i, NUM2_RW) = 1
                    End If
                End If
            End If
        Next i
End Sub

Option Explicit
Dim strMSG As String
Public ST_NUM As Long
Private Sub TextBox2_Change()
MsgBox "Box2"
Unload Me
End Sub

Private Sub TextBox3_Change()
MsgBox "Box3"
Unload Me
End Sub

Private Sub FRM_USER()
    MsgBox "FRM_USER()"
    Unload Me
End Sub
Private Sub CMD_OK_Click()  'UserForm_Click()
    'MsgBox "Execute _Click() on Registry"
    Sheets("Sheet2").Select 'Select Sheet2
    If OptionButton1.Value = True Then      '登録終了
        Cells(1, 12).Value = "End"
    End If
    If OptionButton2.Value = True Then
        Cells(1, 12).ClearContents
    End If
    If OptionButton3.Value = True Then
        Cells(1, 13).Value = "指定" 'Fix Row
    End If
    '入力内容のチェック
    If Trim$(TXT_NAME.Text) = "" Then
        strMSG = "氏名が入力されていません。"
    ElseIf Trim$(TXT_CODE.Text) = "" Then
        strMSG = "生徒Noが入力されていません。"
    ElseIf Trim$(TXT_SCLNM.Text) = "" Then
        strMSG = "学校名が入力されていません。"
    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) <> True Then
        strMSG = "生徒Noが数字ではありません。"
    ElseIf Len(Trim$(TXT_CODE.Text)) <> 5 Then
        strMSG = "生徒Noは5桁で入力してください。"
    ElseIf Trim$(TXT_CODE.Text) < 10000 Then
        strMSG = "生徒Noは10000以上で入力してください。"
    End If
    Sheets("Sheet2").Select 'Select Sheet2
    If Trim$(strMSG) <> "" Then
        Cells(1, 10).Value = "Error" 'Set Error Flag
        MsgBox strMSG
    Else
        Cells(1, 10).ClearContents 'Clear Error Flag
        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット
        
        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名
        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No
        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名
        ST_NUM = ST_NUM + 1 'Sheet2の行No
        Cells(1, 11).Value = ST_NUM 'Save 生徒No
    End If
    Unload Me
End Sub
Option Explicit

Private Sub CommandButton1_Click()
    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List
    'Unload Me
End Sub
Private Sub ListBox1_Click()
    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No
    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4
    Sheets("Sheet2").Select
    Cells(1, 14).Value = ListBox1.ListIndex + 4
    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR
End Sub

Option Explicit
Dim strMSG As String
Public ST_NUM As Long
Private Sub TextBox2_Change()
MsgBox "Box2"
Unload Me
End Sub

Private Sub TextBox3_Change()
MsgBox "Box3"
Unload Me
End Sub

Private Sub FRM_USER()
    MsgBox "FRM_USER()"
    Unload Me
End Sub
Private Sub CMD_OK_Click()  'UserForm_Click()
    'MsgBox "Execute _Click() on Registry"
    Sheets("Sheet2").Select 'Select Sheet2
    If OptionButton1.Value = True Then      '登録終了
        Cells(1, 12).Value = "End"
    End If
    If OptionButton2.Value = True Then
        Cells(1, 12).ClearContents
    End If
    If OptionButton3.Value = True Then
        Cells(1, 13).Value = "指定" 'Fix Row
    End If
    '入力内容のチェック
    If Trim$(TXT_NAME.Text) = "" Then
        strMSG = "氏名が入力されていません。"
    ElseIf Trim$(TXT_CODE.Text) = "" Then
        strMSG = "生徒Noが入力されていません。"
    ElseIf Trim$(TXT_SCLNM.Text) = "" Then
        strMSG = "学校名が入力されていません。"
    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) <> True Then
        strMSG = "生徒Noが数字ではありません。"
    ElseIf Len(Trim$(TXT_CODE.Text)) <> 5 Then
        strMSG = "生徒Noは5桁で入力してください。"
    ElseIf Trim$(TXT_CODE.Text) < 10000 Then
        strMSG = "生徒Noは10000以上で入力してください。"
    End If
    Sheets("Sheet2").Select 'Select Sheet2
    If Trim$(strMSG) <> "" Then
        Cells(1, 10).Value = "Error" 'Set Error Flag
        MsgBox strMSG
    Else
        Cells(1, 10).ClearContents 'Clear Error Flag
        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット
        
        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名
        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No
        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名
        ST_NUM = ST_NUM + 1 'Sheet2の行No
        Cells(1, 11).Value = ST_NUM 'Save 生徒No
    End If
    Unload Me
End Sub

Option Explicit
Public myOperator As String
Const OPR_RW As Integer = 2


Private Sub CommandButton1_Click()   'UserForm_Click()
         Sheets("Sheet1").Select 'Select Sheet1
        If OptionButton1.Value = True Then
            myOperator = "+"
        End If
        If OptionButton2.Value = True Then
            myOperator = "-"
        End If
        If OptionButton3.Value = True Then
            myOperator = "*"
        End If
        If OptionButton4.Value = True Then
            myOperator = "/"
        End If
        'MsgBox myOperator
        Cells(1, 10).Value = myOperator   'Save Operator as String
        Unload Me
End Sub

'Private Sub UserForm_Click()
'    'UserForm.Show
'    MsgBox "Before CommandButton1"
'End Sub
Private Sub UserForm_Click()

End Sub


Option Explicit
Public myBias As Long
Public SRT_RW As Long
Private Sub CommandButton1_Click()  'UserForm_Click()
         Sheets("Sheet1").Select 'Select Sheet1
         SRT_RW = 0 'Initialize Operator Bias Location
        'MsgBox "Before CommandButton1"
        If OptionButton1.Value = True Then  '1桁
            myBias = 10
            SRT_RW = SRT_RW + 0
        End If
        If OptionButton2.Value = True Then  '2桁
            myBias = 100
            SRT_RW = SRT_RW + 1
        End If
        If OptionButton3.Value = True Then  '3桁
            myBias = 1000
            SRT_RW = SRT_RW + 2
        End If
        If OptionButton4.Value = True Then  '4桁
            myBias = 10000
            SRT_RW = SRT_RW + 3
        End If
        'MsgBox myBias
        Cells(1, 11).Value = myBias  'Save 桁数
        Cells(1, 13).Value = SRT_RW
        Unload Me
End Sub

'Private Sub UserForm_Click()
'    MsgBox "Here is UserForm2"
    'UserForm2.Show
'End Sub
Private Sub UserForm_Click()

End Sub
Option Explicit

Private Sub CommandButton1_Click()
    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List
    'Unload Me
End Sub
Private Sub ListBox1_Click()
    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No
    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4
    Sheets("Sheet2").Select
    Cells(1, 14).Value = ListBox1.ListIndex + 4
    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR
End Sub

エディター内ではシンタックス・ハイライトしないと指定したのに色付けされている。多分ログオフしたらプレーン表示されるに違いない。GutenbergのBugに違いない!

WP5.3 classic editor WP SyntaxHighlighterに戻してみた。改行が効かずに1行になってしまったがSyntaxHighlightはされている。

Sub チェック()
    Dim i As Long 'カウンタ変数 ※→「開発」→「マクロ」→「Module1」→「ツール」→「マクロ」→「チェック」→「編集」
    Dim myTemporary As Long    'あまりの処理
    Dim myAmari As Long
    Dim myGANS As Long   'Counter Good Answer
    Dim SRT_BS As Long   'Displacement Count Area
    Dim ST_PTR As Long   '生徒のラインナンバー
    Dim myANSWR As Boolean  '割り算の商と余りが両方あってなければいけない
    ' Code
    myGANS = 0  'Initialize
    myANSWR = False
    Sheets("Sheet1").Select 'Select Sheet1
    myOperator = Cells(1, 10).Value
     
    For i = ORG_CLM To DST_CLM
        'A列の値とC列の値の和がE列に入力された答えと正しいか判定
        If myOperator = "+" Then
            SRT_BS = 5
            If Cells(i, NUM1_RW).Value + Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "-" Then
            SRT_BS = 10
            If Cells(i, NUM1_RW).Value - Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "*" Then
            SRT_BS = 15
            If Cells(i, NUM1_RW).Value * Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "/" Then
            SRT_BS = 20
            If Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value) = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myANSWR = True
                
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
                 
            End If
             myTemporary = Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value)
             myAmari = Cells(i, NUM1_RW).Value - myTemporary * Cells(i, NUM2_RW).Value
             If Cells(i, AMAR_RW).Value = myAmari Then
                 Cells(i, AMAR_RW).Font.Color = vbBlue
                 If myANSWR = True Then
                    myGANS = myGANS + 1
                 End If
             Else
                 Cells(i, AMAR_RW).Font.Color = vbRed
             End If
        End If
    Next i
    If myGANS = SEIKAI_SU Then
        MsgBox "全問正解です。おめでとう!"
    Else
        MsgBox "もうちょっと!"
    End If
     
    SRT_RW = Cells(1, 13).Value  'Bias Locate depend on 横 operator
    Sheets("Sheet2").Select
    SRT_BS = SRT_BS + SRT_RW    'Fix Count Location
    ST_PTR = Cells(1, 14).Value     'Current 生徒の行
    Cells(1, 15).Value = SRT_BS '横のLocation
    Cells(ST_PTR, SRT_BS) = myGANS  '正解数を入れる
    Sheets("Sheet1").Select 'Change Manage Page To Question Page
End Sub
 
Sub リセット()
    Dim i As Long            'カウンタ変数
    Dim myTemporary As Long
    UserForm3.Show  'Show List2
    Sheets("Sheet2").Select 'Select Sheet2
    If IsNumeric(Cells(1, 11).Value) Then
       ' MsgBox "True"
        If Cells(1, 11).Value = 0 Then
            ST_NUM = 4
            Cells(1, 11).Value = ST_NUM
        Else
            ST_NUM = Cells(1, 11).Value '前回からの登録簿のスタート値を使用
            'MsgBox ST_NUM
        End If
    Else
        ST_NUM = 4 '生徒ライン番号初期化
        Cells(1, 11).Value = ST_NUM '生徒ライン番号初期化
        MsgBox ST_NUM  'for debug
    End If
    If MsgBox("追加登録しますか?", vbYesNo) = vbYes Then  '追加登録をするか?
        Do While Cells(1, 12).Value &lt;> "End" '後でENDをセットするルーチンを作る事
            If Cells(1, 12).Value = "End" Then  '登録作業エンド
                 Sheets("Sheet2").Select 'Select Sheet2
            End If
            Cells(1, 10).Value = "Error" 'Error Flag On?
            Do While Cells(1, 10).Value = "Error"
                FRM_USER.Show   'User Form Show Registry ID
            Loop
            Cells(1, 10).ClearContents 'Error Flag On?
        Loop    'New Loop End
    Else
        MsgBox "今回は登録しません。"
        Sheets("Sheet2").Select
        Cells(1, 12).Value = "End"
    End If
    '問題出題
        Sheets("Sheet2").Select 'Servey Loop End
        If Cells(1, 12).Value = "End" Then
            Cells(1, 12).ClearContents  'For debug
            Sheets("Sheet1").Select 'Select Sheet1
            UserForm1.Show  'UserForm1 Show 加減乗除
            UserForm2.Show  '桁数セット
        End If
        Sheets("Sheet1").Select 'Select Sheet1
        myBias = Cells(1, 11).Value      'WorkCell for Bias Value
        myOperator = Cells(1, 10).Value  'Workarea for Operator
     
        For i = ORG_CLM To DST_CLM
            Cells(i, ANSW_RW).ClearContents        '値をクリア
            Cells(i, AMAR_RW).ClearContents
            Cells(i, ANSW_RW).Font.Color = vbBlack '文字色を黒に
            Cells(i, AMAR_RW).Font.Color = vbBlack
            Cells(i, NUM1_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力
            Cells(i, OPR_RW).Value = myOperator      '四則演算子を入れる
            Cells(i, NUM2_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力
            If myOperator = "-" Then
            myTemporary = Cells(i, NUM1_RW)
                If Cells(i, NUM1_RW) &lt; Cells(i, NUM2_RW) Then
                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)
                    Cells(i, NUM2_RW) = myTemporary
                End If
            End If
            If myOperator = "/" Then
            myTemporary = Cells(i, NUM1_RW)
                If Cells(i, NUM1_RW) &lt; Cells(i, NUM2_RW) Then
                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)
                    Cells(i, NUM2_RW) = myTemporary
                    If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide
                        Cells(i, NUM2_RW) = 1
                    End If
                Else
                   If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide
                        Cells(i, NUM2_RW) = 1
                    End If
                End If
            End If
        Next i
End Sub
 
Option Explicit
Dim strMSG As String
Public ST_NUM As Long
Private Sub TextBox2_Change()
MsgBox "Box2"
Unload Me
End Sub
 
Private Sub TextBox3_Change()
MsgBox "Box3"
Unload Me
End Sub
 
Private Sub FRM_USER()
    MsgBox "FRM_USER()"
    Unload Me
End Sub
Private Sub CMD_OK_Click()  'UserForm_Click()
    'MsgBox "Execute _Click() on Registry"
    Sheets("Sheet2").Select 'Select Sheet2
    If OptionButton1.Value = True Then      '登録終了
        Cells(1, 12).Value = "End"
    End If
    If OptionButton2.Value = True Then
        Cells(1, 12).ClearContents
    End If
    If OptionButton3.Value = True Then
        Cells(1, 13).Value = "指定" 'Fix Row
    End If
    '入力内容のチェック
    If Trim$(TXT_NAME.Text) = "" Then
        strMSG = "氏名が入力されていません。"
    ElseIf Trim$(TXT_CODE.Text) = "" Then
        strMSG = "生徒Noが入力されていません。"
    ElseIf Trim$(TXT_SCLNM.Text) = "" Then
        strMSG = "学校名が入力されていません。"
    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) &lt;> True Then
        strMSG = "生徒Noが数字ではありません。"
    ElseIf Len(Trim$(TXT_CODE.Text)) &lt;> 5 Then
        strMSG = "生徒Noは5桁で入力してください。"
    ElseIf Trim$(TXT_CODE.Text) &lt; 10000 Then
        strMSG = "生徒Noは10000以上で入力してください。"
    End If
    Sheets("Sheet2").Select 'Select Sheet2
    If Trim$(strMSG) &lt;> "" Then
        Cells(1, 10).Value = "Error" 'Set Error Flag
        MsgBox strMSG
    Else
        Cells(1, 10).ClearContents 'Clear Error Flag
        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット
         
        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名
        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No
        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名
        ST_NUM = ST_NUM + 1 'Sheet2の行No
        Cells(1, 11).Value = ST_NUM 'Save 生徒No
    End If
    Unload Me
End Sub
Option Explicit
 
Private Sub CommandButton1_Click()
    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List
    'Unload Me
End Sub
Private Sub ListBox1_Click()
    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No
    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4
    Sheets("Sheet2").Select
    Cells(1, 14).Value = ListBox1.ListIndex + 4
    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR
End Sub
 
Option Explicit
Dim strMSG As String
Public ST_NUM As Long
Private Sub TextBox2_Change()
MsgBox "Box2"
Unload Me
End Sub
 
Private Sub TextBox3_Change()
MsgBox "Box3"
Unload Me
End Sub
 
Private Sub FRM_USER()
    MsgBox "FRM_USER()"
    Unload Me
End Sub
Private Sub CMD_OK_Click()  'UserForm_Click()
    'MsgBox "Execute _Click() on Registry"
    Sheets("Sheet2").Select 'Select Sheet2
    If OptionButton1.Value = True Then      '登録終了
        Cells(1, 12).Value = "End"
    End If
    If OptionButton2.Value = True Then
        Cells(1, 12).ClearContents
    End If
    If OptionButton3.Value = True Then
        Cells(1, 13).Value = "指定" 'Fix Row
    End If
    '入力内容のチェック
    If Trim$(TXT_NAME.Text) = "" Then
        strMSG = "氏名が入力されていません。"
    ElseIf Trim$(TXT_CODE.Text) = "" Then
        strMSG = "生徒Noが入力されていません。"
    ElseIf Trim$(TXT_SCLNM.Text) = "" Then
        strMSG = "学校名が入力されていません。"
    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) &lt;> True Then
        strMSG = "生徒Noが数字ではありません。"
    ElseIf Len(Trim$(TXT_CODE.Text)) &lt;> 5 Then
        strMSG = "生徒Noは5桁で入力してください。"
    ElseIf Trim$(TXT_CODE.Text) &lt; 10000 Then
        strMSG = "生徒Noは10000以上で入力してください。"
    End If
    Sheets("Sheet2").Select 'Select Sheet2
    If Trim$(strMSG) &lt;> "" Then
        Cells(1, 10).Value = "Error" 'Set Error Flag
        MsgBox strMSG
    Else
        Cells(1, 10).ClearContents 'Clear Error Flag
        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット
         
        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名
        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No
        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名
        ST_NUM = ST_NUM + 1 'Sheet2の行No
        Cells(1, 11).Value = ST_NUM 'Save 生徒No
    End If
    Unload Me
End Sub
 
Option Explicit
Public myOperator As String
Const OPR_RW As Integer = 2
 
 
Private Sub CommandButton1_Click()   'UserForm_Click()
         Sheets("Sheet1").Select 'Select Sheet1
        If OptionButton1.Value = True Then
            myOperator = "+"
        End If
        If OptionButton2.Value = True Then
            myOperator = "-"
        End If
        If OptionButton3.Value = True Then
            myOperator = "*"
        End If
        If OptionButton4.Value = True Then
            myOperator = "/"
        End If
        'MsgBox myOperator
        Cells(1, 10).Value = myOperator   'Save Operator as String
        Unload Me
End Sub
 
'Private Sub UserForm_Click()
'    'UserForm.Show
'    MsgBox "Before CommandButton1"
'End Sub
Private Sub UserForm_Click()
 
End Sub
 
 
Option Explicit
Public myBias As Long
Public SRT_RW As Long
Private Sub CommandButton1_Click()  'UserForm_Click()
         Sheets("Sheet1").Select 'Select Sheet1
         SRT_RW = 0 'Initialize Operator Bias Location
        'MsgBox "Before CommandButton1"
        If OptionButton1.Value = True Then  '1桁
            myBias = 10
            SRT_RW = SRT_RW + 0
        End If
        If OptionButton2.Value = True Then  '2桁
            myBias = 100
            SRT_RW = SRT_RW + 1
        End If
        If OptionButton3.Value = True Then  '3桁
            myBias = 1000
            SRT_RW = SRT_RW + 2
        End If
        If OptionButton4.Value = True Then  '4桁
            myBias = 10000
            SRT_RW = SRT_RW + 3
        End If
        'MsgBox myBias
        Cells(1, 11).Value = myBias  'Save 桁数
        Cells(1, 13).Value = SRT_RW
        Unload Me
End Sub
 
'Private Sub UserForm_Click()
'    MsgBox "Here is UserForm2"
    'UserForm2.Show
'End Sub
Private Sub UserForm_Click()
 
End Sub
Option Explicit
 
Private Sub CommandButton1_Click()
    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List
    'Unload Me
End Sub
Private Sub ListBox1_Click()
    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No
    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4
    Sheets("Sheet2").Select
    Cells(1, 14).Value = ListBox1.ListIndex + 4
    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR
End Sub

以下の画像はプログラムの同じ個所をEditor内とログオフしてサイトを表示したものです

編集中はライン番号も表示されているし、右端でラップラウンドもしている。

ログアウトして当サイトを表示するとプレーンテキストの表示になる。

ライン番号も表示されない。

↑人気ブログランキングに参加しています。ポチっと1票を!

Gutenberg エディターにようこそ

Gutenberg を試してみよう

この新しいエディターのゴールは、WordPress へのリッチコンテンツの追加をシンプルで楽しくすることです。この投稿全体がコンテンツのパーツ—LEGO ブロックのようなもの—により構成されており、動かしたり操作できるようになっています。カーソルを動かすと、様々なブロックが枠線と矢印とともにフォーカスされます。矢印を押すとブロックをすばやく並び替えることができ、コピー & ペーストしているうちに内容が消えてしまう恐れがありません。

現在ご覧いただいているのがテキストブロックで、すべてのブロックのうち一番基本のブロックです。テキストブロックは、投稿内を自由に移動できる独自のコントロールがついています。

…例えば、右揃えのこれのようなものです。

見出しは別ブロックとなっており、コンテンツのアウトラインと構成に役立ちます。

百聞は一画像にしかず

画像とメディア取り扱いへの高い気遣いは、新しいエディターのメインフォーカスです。キャプションを追加したり、全幅にするのがより簡単で強力になっているのにお気づきいただけるでしょう。

美しい風景
テーマでサポートされていれば、画像ツールバーに「幅広」ボタンが表示されます。お試しください。

キャプションを選択、削除、編集してみてください。画像や他のテキストを間違って選択して、表示を台無しにしないよう気を使わずに済むようになりました。

「挿入」ツール

WordPress ができるすべてのことが、すばやく、同じ場所・インターフェイスで可能であると想像してみてください。HTML タグやクラスを理解したり、複雑なショートコード構文を覚える必要はありません。これこそが「挿入」ツール—エディター中にある (+) ボタン—の真髄で、すべての利用可能なコンテンツブロックを閲覧し、投稿に追加することができます。プラグインとテーマは独自のブロックを登録することができ、リッチな編集や公開の可能性を拡げます。

お試しいただくと、WordPress が投稿に追加可能でありながら、ご存知ではなかったものを見つけていただけるでしょう、以下はこの投稿が使用しているブロックの簡単なリストです。

  • テキストと見出し
  • 画像と動画
  • ギャラリー
  • YouTube、ツイート、他の WordPress 投稿などの埋め込み。
  • ボタンやヒーロー画像、区切りなどのレイアウトブロック。
  • もちろん、このようなリストも ^^

ビジュアル編集

ブロックの大きな利点は、それぞれの場所で編集し、コンテンツを直接操作できることです。引用ソースやボタン内テキストなどを編集するためのフィールドを持つのではなく、コンテンツを直接変更できます。以下の引用を編集してみてください:

このエディターは、リッチな投稿や固定ページの作成を簡単にする、新しい執筆体験を生み出そうとしています。また「ブロック」によって、現在はショートコード、カスタム HTML、外部埋め込みコード自動ディスカバリー機能が実現していることをより簡単にします。

マット・マレンウェッグ、2017

引用の​​ソースに対応する情報は、画像下のキャプションに似た別のテキストフィールドです。このため、ソースを選択、変更、または削除しても、引用自体の​​構造は保護されます。いつでも簡単に戻すことができます。

ブロックは、必要なもの何でもかまいません。たとえば、テキスト構成の一部として目立たない引用符を追加してもよいでしょう。または、巨大で装飾的なものを表示させることもできます。これらのオプションはすべて挿入ツール内で利用できます。

サイドバーのブロックインスペクターでスライダーをドラッグすると、ギャラリーのカラム数を変更できます。

メディア重視

新しい幅広全幅配置をギャラリーと組み合わせると、非常にメディアリッチなレイアウトをすばやく作成できます。

アクセシビリティは重要です — 画像の Alt 属性をお忘れなく。

全幅画像はかなり大きくなる場合もありますが、画像によってはそうする価値があることもあります。

上は2つの画像のみのギャラリーです。フロート調整を行うことなく、魅力的な見た目のレイアウトを簡単に作成することができます。またブロックを切り替えて、ギャラリーを個別の画像へ簡単に戻すこともできます。

あらゆるブロックでこれらの配置を選択できます。埋め込みブロックでも利用でき、ボックス外でもレスポンシブ対応しています:

静的または動的、装飾的またはプレーンなものなど、お好みのブロックを構築できます。こちらがプルクオートブロックです。

Code is Poetry

WordPress コミュニティ

追加ブロックを作成する方法を学んだり、プロジェクトに協力したりすることに興味がある場合は、GitHubリポジトリへ移動してください。


Gutenberg をテストしていただき、ありがとうございます !

👋

and_gate.pyのPython codeである

# coding: utf-8
import numpy as np


def AND(x1, x2):
    x = np.array([x1, x2])
    w = np.array([0.5, 0.5])
    b = -0.7
    tmp = np.sum(w*x) + b
    if tmp &lt;= 0:
        return 0
    else:
        return 1

if __name__ == '__main__':
    for xs in [(0, 0), (1, 0), (0, 1), (1, 1)]:
        y = AND(xs[0], xs[1])
        print(str(xs) + " -> " + str(y))

Enlighter SourcecodeでPython Programを表示しているところ。

↑人気ブログランキングに参加しています。ポチっと1票を!

VBA学校ドリル再掲

Syntax Highlightされるか?WP-SyntaxHighlighterを削除してみた。

VBAの学校ドリルのプログラムを再掲する。

Sub チェック()
    Dim i As Long 'カウンタ変数 ※→「開発」→「マクロ」→「Module1」→「ツール」→「マクロ」→「チェック」→「編集」
    Dim myTemporary As Long    'あまりの処理
    Dim myAmari As Long
    Dim myGANS As Long   'Counter Good Answer
    Dim SRT_BS As Long   'Displacement Count Area
    Dim ST_PTR As Long   '生徒のラインナンバー
    Dim myANSWR As Boolean  '割り算の商と余りが両方あってなければいけない
    ' Code
    myGANS = 0  'Initialize
    myANSWR = False
    Sheets("Sheet1").Select 'Select Sheet1
    myOperator = Cells(1, 10).Value
    
    For i = ORG_CLM To DST_CLM
        'A列の値とC列の値の和がE列に入力された答えと正しいか判定
        If myOperator = "+" Then
            SRT_BS = 5
            If Cells(i, NUM1_RW).Value + Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "-" Then
            SRT_BS = 10
            If Cells(i, NUM1_RW).Value - Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "*" Then
            SRT_BS = 15
            If Cells(i, NUM1_RW).Value * Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "/" Then
            SRT_BS = 20
            If Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value) = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myANSWR = True
               
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
                
            End If
             myTemporary = Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value)
             myAmari = Cells(i, NUM1_RW).Value - myTemporary * Cells(i, NUM2_RW).Value
             If Cells(i, AMAR_RW).Value = myAmari Then
                 Cells(i, AMAR_RW).Font.Color = vbBlue
                 If myANSWR = True Then
                    myGANS = myGANS + 1
                 End If
             Else
                 Cells(i, AMAR_RW).Font.Color = vbRed
             End If
        End If
    Next i
    If myGANS = SEIKAI_SU Then
        MsgBox "全問正解です。おめでとう!"
    Else
        MsgBox "もうちょっと!"
    End If
    
    SRT_RW = Cells(1, 13).Value  'Bias Locate depend on 横 operator
    Sheets("Sheet2").Select
    SRT_BS = SRT_BS + SRT_RW    'Fix Count Location
    ST_PTR = Cells(1, 14).Value     'Current 生徒の行
    Cells(1, 15).Value = SRT_BS '横のLocation
    Cells(ST_PTR, SRT_BS) = myGANS  '正解数を入れる
    Sheets("Sheet1").Select 'Change Manage Page To Question Page
End Sub

Sub リセット()
    Dim i As Long            'カウンタ変数
    Dim myTemporary As Long
    UserForm3.Show  'Show List2
    Sheets("Sheet2").Select 'Select Sheet2
    If IsNumeric(Cells(1, 11).Value) Then
       ' MsgBox "True"
        If Cells(1, 11).Value = 0 Then
            ST_NUM = 4
            Cells(1, 11).Value = ST_NUM
        Else
            ST_NUM = Cells(1, 11).Value '前回からの登録簿のスタート値を使用
            'MsgBox ST_NUM
        End If
    Else
        ST_NUM = 4 '生徒ライン番号初期化
        Cells(1, 11).Value = ST_NUM '生徒ライン番号初期化
        MsgBox ST_NUM  'for debug
    End If
    If MsgBox("追加登録しますか?", vbYesNo) = vbYes Then  '追加登録をするか?
        Do While Cells(1, 12).Value <> "End" '後でENDをセットするルーチンを作る事
            If Cells(1, 12).Value = "End" Then  '登録作業エンド
                 Sheets("Sheet2").Select 'Select Sheet2
            End If
            Cells(1, 10).Value = "Error" 'Error Flag On?
            Do While Cells(1, 10).Value = "Error"
                FRM_USER.Show   'User Form Show Registry ID
            Loop
            Cells(1, 10).ClearContents 'Error Flag On?
        Loop    'New Loop End
    Else
        MsgBox "今回は登録しません。"
        Sheets("Sheet2").Select
        Cells(1, 12).Value = "End"
    End If
    '問題出題
        Sheets("Sheet2").Select 'Servey Loop End
        If Cells(1, 12).Value = "End" Then
            Cells(1, 12).ClearContents  'For debug
            Sheets("Sheet1").Select 'Select Sheet1
            UserForm1.Show  'UserForm1 Show 加減乗除
            UserForm2.Show  '桁数セット
        End If
        Sheets("Sheet1").Select 'Select Sheet1
        myBias = Cells(1, 11).Value      'WorkCell for Bias Value
        myOperator = Cells(1, 10).Value  'Workarea for Operator
    
        For i = ORG_CLM To DST_CLM
            Cells(i, ANSW_RW).ClearContents        '値をクリア
            Cells(i, AMAR_RW).ClearContents
            Cells(i, ANSW_RW).Font.Color = vbBlack '文字色を黒に
            Cells(i, AMAR_RW).Font.Color = vbBlack
            Cells(i, NUM1_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力
            Cells(i, OPR_RW).Value = myOperator      '四則演算子を入れる
            Cells(i, NUM2_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力
            If myOperator = "-" Then
            myTemporary = Cells(i, NUM1_RW)
                If Cells(i, NUM1_RW) < Cells(i, NUM2_RW) Then
                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)
                    Cells(i, NUM2_RW) = myTemporary
                End If
            End If
            If myOperator = "/" Then
            myTemporary = Cells(i, NUM1_RW)
                If Cells(i, NUM1_RW) < Cells(i, NUM2_RW) Then
                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)
                    Cells(i, NUM2_RW) = myTemporary
                    If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide
                        Cells(i, NUM2_RW) = 1
                    End If
                Else
                   If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide
                        Cells(i, NUM2_RW) = 1
                    End If
                End If
            End If
        Next i
End Sub

Option Explicit
Dim strMSG As String
Public ST_NUM As Long
Private Sub TextBox2_Change()
MsgBox "Box2"
Unload Me
End Sub

Private Sub TextBox3_Change()
MsgBox "Box3"
Unload Me
End Sub

Private Sub FRM_USER()
    MsgBox "FRM_USER()"
    Unload Me
End Sub
Private Sub CMD_OK_Click()  'UserForm_Click()
    'MsgBox "Execute _Click() on Registry"
    Sheets("Sheet2").Select 'Select Sheet2
    If OptionButton1.Value = True Then      '登録終了
        Cells(1, 12).Value = "End"
    End If
    If OptionButton2.Value = True Then
        Cells(1, 12).ClearContents
    End If
    If OptionButton3.Value = True Then
        Cells(1, 13).Value = "指定" 'Fix Row
    End If
    '入力内容のチェック
    If Trim$(TXT_NAME.Text) = "" Then
        strMSG = "氏名が入力されていません。"
    ElseIf Trim$(TXT_CODE.Text) = "" Then
        strMSG = "生徒Noが入力されていません。"
    ElseIf Trim$(TXT_SCLNM.Text) = "" Then
        strMSG = "学校名が入力されていません。"
    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) <> True Then
        strMSG = "生徒Noが数字ではありません。"
    ElseIf Len(Trim$(TXT_CODE.Text)) <> 5 Then
        strMSG = "生徒Noは5桁で入力してください。"
    ElseIf Trim$(TXT_CODE.Text) < 10000 Then
        strMSG = "生徒Noは10000以上で入力してください。"
    End If
    Sheets("Sheet2").Select 'Select Sheet2
    If Trim$(strMSG) <> "" Then
        Cells(1, 10).Value = "Error" 'Set Error Flag
        MsgBox strMSG
    Else
        Cells(1, 10).ClearContents 'Clear Error Flag
        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット
        
        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名
        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No
        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名
        ST_NUM = ST_NUM + 1 'Sheet2の行No
        Cells(1, 11).Value = ST_NUM 'Save 生徒No
    End If
    Unload Me
End Sub
Option Explicit

Private Sub CommandButton1_Click()
    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List
    'Unload Me
End Sub
Private Sub ListBox1_Click()
    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No
    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4
    Sheets("Sheet2").Select
    Cells(1, 14).Value = ListBox1.ListIndex + 4
    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR
End Sub

Option Explicit
Dim strMSG As String
Public ST_NUM As Long
Private Sub TextBox2_Change()
MsgBox "Box2"
Unload Me
End Sub

Private Sub TextBox3_Change()
MsgBox "Box3"
Unload Me
End Sub

Private Sub FRM_USER()
    MsgBox "FRM_USER()"
    Unload Me
End Sub
Private Sub CMD_OK_Click()  'UserForm_Click()
    'MsgBox "Execute _Click() on Registry"
    Sheets("Sheet2").Select 'Select Sheet2
    If OptionButton1.Value = True Then      '登録終了
        Cells(1, 12).Value = "End"
    End If
    If OptionButton2.Value = True Then
        Cells(1, 12).ClearContents
    End If
    If OptionButton3.Value = True Then
        Cells(1, 13).Value = "指定" 'Fix Row
    End If
    '入力内容のチェック
    If Trim$(TXT_NAME.Text) = "" Then
        strMSG = "氏名が入力されていません。"
    ElseIf Trim$(TXT_CODE.Text) = "" Then
        strMSG = "生徒Noが入力されていません。"
    ElseIf Trim$(TXT_SCLNM.Text) = "" Then
        strMSG = "学校名が入力されていません。"
    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) <> True Then
        strMSG = "生徒Noが数字ではありません。"
    ElseIf Len(Trim$(TXT_CODE.Text)) <> 5 Then
        strMSG = "生徒Noは5桁で入力してください。"
    ElseIf Trim$(TXT_CODE.Text) < 10000 Then
        strMSG = "生徒Noは10000以上で入力してください。"
    End If
    Sheets("Sheet2").Select 'Select Sheet2
    If Trim$(strMSG) <> "" Then
        Cells(1, 10).Value = "Error" 'Set Error Flag
        MsgBox strMSG
    Else
        Cells(1, 10).ClearContents 'Clear Error Flag
        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット
        
        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名
        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No
        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名
        ST_NUM = ST_NUM + 1 'Sheet2の行No
        Cells(1, 11).Value = ST_NUM 'Save 生徒No
    End If
    Unload Me
End Sub

Option Explicit
Public myOperator As String
Const OPR_RW As Integer = 2


Private Sub CommandButton1_Click()   'UserForm_Click()
         Sheets("Sheet1").Select 'Select Sheet1
        If OptionButton1.Value = True Then
            myOperator = "+"
        End If
        If OptionButton2.Value = True Then
            myOperator = "-"
        End If
        If OptionButton3.Value = True Then
            myOperator = "*"
        End If
        If OptionButton4.Value = True Then
            myOperator = "/"
        End If
        'MsgBox myOperator
        Cells(1, 10).Value = myOperator   'Save Operator as String
        Unload Me
End Sub

'Private Sub UserForm_Click()
'    'UserForm.Show
'    MsgBox "Before CommandButton1"
'End Sub
Private Sub UserForm_Click()

End Sub


Option Explicit
Public myBias As Long
Public SRT_RW As Long
Private Sub CommandButton1_Click()  'UserForm_Click()
         Sheets("Sheet1").Select 'Select Sheet1
         SRT_RW = 0 'Initialize Operator Bias Location
        'MsgBox "Before CommandButton1"
        If OptionButton1.Value = True Then  '1桁
            myBias = 10
            SRT_RW = SRT_RW + 0
        End If
        If OptionButton2.Value = True Then  '2桁
            myBias = 100
            SRT_RW = SRT_RW + 1
        End If
        If OptionButton3.Value = True Then  '3桁
            myBias = 1000
            SRT_RW = SRT_RW + 2
        End If
        If OptionButton4.Value = True Then  '4桁
            myBias = 10000
            SRT_RW = SRT_RW + 3
        End If
        'MsgBox myBias
        Cells(1, 11).Value = myBias  'Save 桁数
        Cells(1, 13).Value = SRT_RW
        Unload Me
End Sub

'Private Sub UserForm_Click()
'    MsgBox "Here is UserForm2"
    'UserForm2.Show
'End Sub
Private Sub UserForm_Click()

End Sub
Option Explicit

Private Sub CommandButton1_Click()
    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List
    'Unload Me
End Sub
Private Sub ListBox1_Click()
    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No
    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4
    Sheets("Sheet2").Select
    Cells(1, 14).Value = ListBox1.ListIndex + 4
    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR
End Sub

上記プログラムはかつて2度ほど当ブログにUPしたことがあった。

↑人気ブログランキングに参加しています。ポチっと1票を!

Sub チェック()
    Dim i As Long 'カウンタ変数 ※→「開発」→「マクロ」→「Module1」→「ツール」→「マクロ」→「チェック」→「編集」
    Dim myTemporary As Long    'あまりの処理
    Dim myAmari As Long
    Dim myGANS As Long   'Counter Good Answer
    Dim SRT_BS As Long   'Displacement Count Area
    Dim ST_PTR As Long   '生徒のラインナンバー
    Dim myANSWR As Boolean  '割り算の商と余りが両方あってなければいけない
    ' Code
    myGANS = 0  'Initialize
    myANSWR = False
    Sheets("Sheet1").Select 'Select Sheet1
    myOperator = Cells(1, 10).Value
    
    For i = ORG_CLM To DST_CLM
        'A列の値とC列の値の和がE列に入力された答えと正しいか判定
        If myOperator = "+" Then
            SRT_BS = 5
            If Cells(i, NUM1_RW).Value + Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "-" Then
            SRT_BS = 10
            If Cells(i, NUM1_RW).Value - Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "*" Then
            SRT_BS = 15
            If Cells(i, NUM1_RW).Value * Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "/" Then
            SRT_BS = 20
            If Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value) = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myANSWR = True
               
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
                
            End If
             myTemporary = Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value)
             myAmari = Cells(i, NUM1_RW).Value - myTemporary * Cells(i, NUM2_RW).Value
             If Cells(i, AMAR_RW).Value = myAmari Then
                 Cells(i, AMAR_RW).Font.Color = vbBlue
                 If myANSWR = True Then
                    myGANS = myGANS + 1
                 End If
             Else
                 Cells(i, AMAR_RW).Font.Color = vbRed
             End If
        End If
    Next i
    If myGANS = SEIKAI_SU Then
        MsgBox "全問正解です。おめでとう!"
    Else
        MsgBox "もうちょっと!"
    End If
    
    SRT_RW = Cells(1, 13).Value  'Bias Locate depend on 横 operator
    Sheets("Sheet2").Select
    SRT_BS = SRT_BS + SRT_RW    'Fix Count Location
    ST_PTR = Cells(1, 14).Value     'Current 生徒の行
    Cells(1, 15).Value = SRT_BS '横のLocation
    Cells(ST_PTR, SRT_BS) = myGANS  '正解数を入れる
    Sheets("Sheet1").Select 'Change Manage Page To Question Page
End Sub

Sub リセット()
    Dim i As Long            'カウンタ変数
    Dim myTemporary As Long
    UserForm3.Show  'Show List2
    Sheets("Sheet2").Select 'Select Sheet2
    If IsNumeric(Cells(1, 11).Value) Then
       ' MsgBox "True"
        If Cells(1, 11).Value = 0 Then
            ST_NUM = 4
            Cells(1, 11).Value = ST_NUM
        Else
            ST_NUM = Cells(1, 11).Value '前回からの登録簿のスタート値を使用
            'MsgBox ST_NUM
        End If
    Else
        ST_NUM = 4 '生徒ライン番号初期化
        Cells(1, 11).Value = ST_NUM '生徒ライン番号初期化
        MsgBox ST_NUM  'for debug
    End If
    If MsgBox("追加登録しますか?", vbYesNo) = vbYes Then  '追加登録をするか?
        Do While Cells(1, 12).Value <> "End" '後でENDをセットするルーチンを作る事
            If Cells(1, 12).Value = "End" Then  '登録作業エンド
                 Sheets("Sheet2").Select 'Select Sheet2
            End If
            Cells(1, 10).Value = "Error" 'Error Flag On?
            Do While Cells(1, 10).Value = "Error"
                FRM_USER.Show   'User Form Show Registry ID
            Loop
            Cells(1, 10).ClearContents 'Error Flag On?
        Loop    'New Loop End
    Else
        MsgBox "今回は登録しません。"
        Sheets("Sheet2").Select
        Cells(1, 12).Value = "End"
    End If
    '問題出題
        Sheets("Sheet2").Select 'Servey Loop End
        If Cells(1, 12).Value = "End" Then
            Cells(1, 12).ClearContents  'For debug
            Sheets("Sheet1").Select 'Select Sheet1
            UserForm1.Show  'UserForm1 Show 加減乗除
            UserForm2.Show  '桁数セット
        End If
        Sheets("Sheet1").Select 'Select Sheet1
        myBias = Cells(1, 11).Value      'WorkCell for Bias Value
        myOperator = Cells(1, 10).Value  'Workarea for Operator
    
        For i = ORG_CLM To DST_CLM
            Cells(i, ANSW_RW).ClearContents        '値をクリア
            Cells(i, AMAR_RW).ClearContents
            Cells(i, ANSW_RW).Font.Color = vbBlack '文字色を黒に
            Cells(i, AMAR_RW).Font.Color = vbBlack
            Cells(i, NUM1_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力
            Cells(i, OPR_RW).Value = myOperator      '四則演算子を入れる
            Cells(i, NUM2_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力
            If myOperator = "-" Then
            myTemporary = Cells(i, NUM1_RW)
                If Cells(i, NUM1_RW) < Cells(i, NUM2_RW) Then
                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)
                    Cells(i, NUM2_RW) = myTemporary
                End If
            End If
            If myOperator = "/" Then
            myTemporary = Cells(i, NUM1_RW)
                If Cells(i, NUM1_RW) < Cells(i, NUM2_RW) Then
                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)
                    Cells(i, NUM2_RW) = myTemporary
                    If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide
                        Cells(i, NUM2_RW) = 1
                    End If
                Else
                   If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide
                        Cells(i, NUM2_RW) = 1
                    End If
                End If
            End If
        Next i
End Sub

Option Explicit
Dim strMSG As String
Public ST_NUM As Long
Private Sub TextBox2_Change()
MsgBox "Box2"
Unload Me
End Sub

Private Sub TextBox3_Change()
MsgBox "Box3"
Unload Me
End Sub

Private Sub FRM_USER()
    MsgBox "FRM_USER()"
    Unload Me
End Sub
Private Sub CMD_OK_Click()  'UserForm_Click()
    'MsgBox "Execute _Click() on Registry"
    Sheets("Sheet2").Select 'Select Sheet2
    If OptionButton1.Value = True Then      '登録終了
        Cells(1, 12).Value = "End"
    End If
    If OptionButton2.Value = True Then
        Cells(1, 12).ClearContents
    End If
    If OptionButton3.Value = True Then
        Cells(1, 13).Value = "指定" 'Fix Row
    End If
    '入力内容のチェック
    If Trim$(TXT_NAME.Text) = "" Then
        strMSG = "氏名が入力されていません。"
    ElseIf Trim$(TXT_CODE.Text) = "" Then
        strMSG = "生徒Noが入力されていません。"
    ElseIf Trim$(TXT_SCLNM.Text) = "" Then
        strMSG = "学校名が入力されていません。"
    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) <> True Then
        strMSG = "生徒Noが数字ではありません。"
    ElseIf Len(Trim$(TXT_CODE.Text)) <> 5 Then
        strMSG = "生徒Noは5桁で入力してください。"
    ElseIf Trim$(TXT_CODE.Text) < 10000 Then
        strMSG = "生徒Noは10000以上で入力してください。"
    End If
    Sheets("Sheet2").Select 'Select Sheet2
    If Trim$(strMSG) <> "" Then
        Cells(1, 10).Value = "Error" 'Set Error Flag
        MsgBox strMSG
    Else
        Cells(1, 10).ClearContents 'Clear Error Flag
        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット
        
        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名
        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No
        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名
        ST_NUM = ST_NUM + 1 'Sheet2の行No
        Cells(1, 11).Value = ST_NUM 'Save 生徒No
    End If
    Unload Me
End Sub
Option Explicit

Private Sub CommandButton1_Click()
    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List
    'Unload Me
End Sub
Private Sub ListBox1_Click()
    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No
    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4
    Sheets("Sheet2").Select
    Cells(1, 14).Value = ListBox1.ListIndex + 4
    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR
End Sub

Option Explicit
Dim strMSG As String
Public ST_NUM As Long
Private Sub TextBox2_Change()
MsgBox "Box2"
Unload Me
End Sub

Private Sub TextBox3_Change()
MsgBox "Box3"
Unload Me
End Sub

Private Sub FRM_USER()
    MsgBox "FRM_USER()"
    Unload Me
End Sub
Private Sub CMD_OK_Click()  'UserForm_Click()
    'MsgBox "Execute _Click() on Registry"
    Sheets("Sheet2").Select 'Select Sheet2
    If OptionButton1.Value = True Then      '登録終了
        Cells(1, 12).Value = "End"
    End If
    If OptionButton2.Value = True Then
        Cells(1, 12).ClearContents
    End If
    If OptionButton3.Value = True Then
        Cells(1, 13).Value = "指定" 'Fix Row
    End If
    '入力内容のチェック
    If Trim$(TXT_NAME.Text) = "" Then
        strMSG = "氏名が入力されていません。"
    ElseIf Trim$(TXT_CODE.Text) = "" Then
        strMSG = "生徒Noが入力されていません。"
    ElseIf Trim$(TXT_SCLNM.Text) = "" Then
        strMSG = "学校名が入力されていません。"
    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) <> True Then
        strMSG = "生徒Noが数字ではありません。"
    ElseIf Len(Trim$(TXT_CODE.Text)) <> 5 Then
        strMSG = "生徒Noは5桁で入力してください。"
    ElseIf Trim$(TXT_CODE.Text) < 10000 Then
        strMSG = "生徒Noは10000以上で入力してください。"
    End If
    Sheets("Sheet2").Select 'Select Sheet2
    If Trim$(strMSG) <> "" Then
        Cells(1, 10).Value = "Error" 'Set Error Flag
        MsgBox strMSG
    Else
        Cells(1, 10).ClearContents 'Clear Error Flag
        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット
        
        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名
        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No
        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名
        ST_NUM = ST_NUM + 1 'Sheet2の行No
        Cells(1, 11).Value = ST_NUM 'Save 生徒No
    End If
    Unload Me
End Sub

Option Explicit
Public myOperator As String
Const OPR_RW As Integer = 2


Private Sub CommandButton1_Click()   'UserForm_Click()
         Sheets("Sheet1").Select 'Select Sheet1
        If OptionButton1.Value = True Then
            myOperator = "+"
        End If
        If OptionButton2.Value = True Then
            myOperator = "-"
        End If
        If OptionButton3.Value = True Then
            myOperator = "*"
        End If
        If OptionButton4.Value = True Then
            myOperator = "/"
        End If
        'MsgBox myOperator
        Cells(1, 10).Value = myOperator   'Save Operator as String
        Unload Me
End Sub

'Private Sub UserForm_Click()
'    'UserForm.Show
'    MsgBox "Before CommandButton1"
'End Sub
Private Sub UserForm_Click()

End Sub


Option Explicit
Public myBias As Long
Public SRT_RW As Long
Private Sub CommandButton1_Click()  'UserForm_Click()
         Sheets("Sheet1").Select 'Select Sheet1
         SRT_RW = 0 'Initialize Operator Bias Location
        'MsgBox "Before CommandButton1"
        If OptionButton1.Value = True Then  '1桁
            myBias = 10
            SRT_RW = SRT_RW + 0
        End If
        If OptionButton2.Value = True Then  '2桁
            myBias = 100
            SRT_RW = SRT_RW + 1
        End If
        If OptionButton3.Value = True Then  '3桁
            myBias = 1000
            SRT_RW = SRT_RW + 2
        End If
        If OptionButton4.Value = True Then  '4桁
            myBias = 10000
            SRT_RW = SRT_RW + 3
        End If
        'MsgBox myBias
        Cells(1, 11).Value = myBias  'Save 桁数
        Cells(1, 13).Value = SRT_RW
        Unload Me
End Sub

'Private Sub UserForm_Click()
'    MsgBox "Here is UserForm2"
    'UserForm2.Show
'End Sub
Private Sub UserForm_Click()

End Sub
Option Explicit

Private Sub CommandButton1_Click()
    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List
    'Unload Me
End Sub
Private Sub ListBox1_Click()
    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No
    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4
    Sheets("Sheet2").Select
    Cells(1, 14).Value = ListBox1.ListIndex + 4
    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR
End Sub

Visual BasicをWP SyntaxHighlighterで表示、Line番号無しで!