新規記事の投稿を行うことで、非表示にすることが可能です。
2018年01月19日
Excelで車庫証明アプリを作ろう
送料・手数料・査定料・梱包材がすべて無料【パソコン買取アローズ】
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
フォームの「終了」ボタン
最初、この「終了」ボタンは、Excelの終了を考えていましたが、
途中でフォームが閉じられるので、このボタンでExcelの終了は出来ません。
ですから「フォーム」の終了に変更します。
ボタンの名称も「終了」から「閉じる」に変更しましょう。
Private Sub CommandButton2_Click()
Unload UserForm1
End Sub
記述内容は上記です。
それから、Accessを起動したときに、自動的にこのフォームが開くようにしましょう。
左の「ThisWorkbook」というところを選択して、上記のように記述してください。
そうするとエクセルを立ち上げた時に、自動的にユーザーフォームが立ち上がります。
一応メインページにフォームの呼出しボタンを設けていますので不要かと
思いますが、それ以外で利用する場合もあるかと思い紹介しておきます。
これ以外に何か検討することを考えると、例えば「部屋番号」を入力すると
「駐車場」番号が表示されるとか、「部屋番号」はコンボボックスにして、
そこから選択できるようにし、存在しない部屋番号を入力された場合は
エラーが出るようにするとか、色々考えられますね。
色々自分でやってみると、勉強になりますし、力もつきます。
Excelに関しても色々やってきましたが、大体このくらいでしょうか。
このあたりで一旦終えます。
また紹介したいアプリを作成しましたら記載します。
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
フォームの「終了」ボタン
最初、この「終了」ボタンは、Excelの終了を考えていましたが、
途中でフォームが閉じられるので、このボタンでExcelの終了は出来ません。
ですから「フォーム」の終了に変更します。
ボタンの名称も「終了」から「閉じる」に変更しましょう。
Private Sub CommandButton2_Click()
Unload UserForm1
End Sub
記述内容は上記です。
それから、Accessを起動したときに、自動的にこのフォームが開くようにしましょう。
左の「ThisWorkbook」というところを選択して、上記のように記述してください。
そうするとエクセルを立ち上げた時に、自動的にユーザーフォームが立ち上がります。
一応メインページにフォームの呼出しボタンを設けていますので不要かと
思いますが、それ以外で利用する場合もあるかと思い紹介しておきます。
これ以外に何か検討することを考えると、例えば「部屋番号」を入力すると
「駐車場」番号が表示されるとか、「部屋番号」はコンボボックスにして、
そこから選択できるようにし、存在しない部屋番号を入力された場合は
エラーが出るようにするとか、色々考えられますね。
色々自分でやってみると、勉強になりますし、力もつきます。
Excelに関しても色々やってきましたが、大体このくらいでしょうか。
このあたりで一旦終えます。
また紹介したいアプリを作成しましたら記載します。
2018年01月08日
Excelで車庫証明アプリを作ろう
【国認定】不用PCの宅配便回収<リネットジャパン>
エルセーヌ「小顔ハリ美肌コース」エステ体験
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
履歴の保存
最初にメインページのA1に今日の日付を入れるようにしましょう。
A1に=today()と入力すると今日の日付が表示されます。
それから上記のように記述しました。
Sheets("発行履歴").Select
Sheets("発行履歴").Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'(履歴に1行挿入する)
Sheets("発行履歴").Range("A2").Value = Sheets("メイン").Range("A1")
Sheets("発行履歴").Range("B2").Value = Sheets("車庫証明").Range("j6")
Sheets("発行履歴").Range("c2").Value = Sheets("車庫証明").Range("f10")
Sheets("発行履歴").Range("d2").Value = Sheets("車庫証明").Range("f7")
最初は発効履歴に1行挿入しています。
その後、車庫証明のシートからコピーしているだけです。
これで下記のように発行履歴が残ってきます。
エルセーヌ「小顔ハリ美肌コース」エステ体験
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
履歴の保存
最初にメインページのA1に今日の日付を入れるようにしましょう。
A1に=today()と入力すると今日の日付が表示されます。
それから上記のように記述しました。
Sheets("発行履歴").Select
Sheets("発行履歴").Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'(履歴に1行挿入する)
Sheets("発行履歴").Range("A2").Value = Sheets("メイン").Range("A1")
Sheets("発行履歴").Range("B2").Value = Sheets("車庫証明").Range("j6")
Sheets("発行履歴").Range("c2").Value = Sheets("車庫証明").Range("f10")
Sheets("発行履歴").Range("d2").Value = Sheets("車庫証明").Range("f7")
最初は発効履歴に1行挿入しています。
その後、車庫証明のシートからコピーしているだけです。
これで下記のように発行履歴が残ってきます。
2018年01月02日
ExcelVBAで車庫証明アプリを作ろう
ネットで簡単!宅配買取ならhobby man!
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
印刷する場合
このままの状態でも「車庫図面」でページを設定して印刷すれば
済むことですが、何ページを印刷すれば良いか分かるようにしましょう。
ページ番号を取得する方法
少し長くて複雑ですが下記に記載します。
Dim Lastpage As Long, Lastpage2 As Long, p As Integer, pp As Integer
Dim LastR As Long, LastC As Integer, i As Integer, j As Integer
Dim Nrow As Long, NLrow As Long, Ncol As Integer, NLcol As Integer
Dim Crow As Long, Ccol As Integer
Dim page As Integer 'ページ番号の変数
Application.ScreenUpdating = False '画面の動きを固定
Crow = Selection.Row '選択セルの行番号
Ccol = Selection.Column '選択セルの列番号
'正しく改ページ位置を取得する為、一旦改ページプレビューにする
ActiveWindow.View = xlPageBreakPreview
'縦方向最終改ページ数取得
Lastpage = ActiveSheet.HPageBreaks.Count
'横方向最終改ページ数取得
Lastpage2 = ActiveSheet.VPageBreaks.Count
'入力済み最終行、最終列取得
With ActiveSheet.UsedRange
LastR = .Row + .Rows.Count - 1
LastC = .Column + .Columns.Count - 1
End With
Ncol = 1
p = 0 'ページ数カウント初期値
'横方向改ページ分繰り返し
For j = 1 To Lastpage2 + 1
If j = Lastpage2 + 1 Then
If Ncol > LastC Then Exit For
NLcol = LastC
Else
NLcol = ActiveSheet.VPageBreaks(j).Location.Column - 1
End If
Nrow = 1
'縦方向改ページ分繰り返し
For i = 1 To Lastpage + 1
If i = Lastpage + 1 Then
If Nrow > LastR Then Exit For
NLrow = LastR
Else
NLrow = ActiveSheet.HPageBreaks(i).Location.Row - 1
End If
p = p + 1 'ページ数カウント
If Crow >= Nrow And Crow <= NLrow Then
If Ccol >= Ncol And Ccol <= NLcol Then
pp = p
End If
End If
Nrow = NLrow + 1
Next
Ncol = NLcol + 1
Next
'改ページプレビュー、画面の固定を戻す
ActiveWindow.View = xlNormalView
Application.ScreenUpdating = True
ActiveWindow.SelectedSheets.PrintOut pp, pp ‘必要なページを印刷する
上記に関しては詳しい説明は省きます。
ステップインで一つずつ動かしていけば、
ある程度動作は分かると思います。
印刷の手前で「MsgBox "選択中のセルは、
" & pp & " ページ目です"」という記述をすれば
下のようなメッセージが表示されます。
印刷をする場合は下記の記述をすれば必要なページが印刷されます。
ActiveWindow.SelectedSheets.PrintOut pp, pp
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
印刷する場合
このままの状態でも「車庫図面」でページを設定して印刷すれば
済むことですが、何ページを印刷すれば良いか分かるようにしましょう。
ページ番号を取得する方法
少し長くて複雑ですが下記に記載します。
Dim Lastpage As Long, Lastpage2 As Long, p As Integer, pp As Integer
Dim LastR As Long, LastC As Integer, i As Integer, j As Integer
Dim Nrow As Long, NLrow As Long, Ncol As Integer, NLcol As Integer
Dim Crow As Long, Ccol As Integer
Dim page As Integer 'ページ番号の変数
Application.ScreenUpdating = False '画面の動きを固定
Crow = Selection.Row '選択セルの行番号
Ccol = Selection.Column '選択セルの列番号
'正しく改ページ位置を取得する為、一旦改ページプレビューにする
ActiveWindow.View = xlPageBreakPreview
'縦方向最終改ページ数取得
Lastpage = ActiveSheet.HPageBreaks.Count
'横方向最終改ページ数取得
Lastpage2 = ActiveSheet.VPageBreaks.Count
'入力済み最終行、最終列取得
With ActiveSheet.UsedRange
LastR = .Row + .Rows.Count - 1
LastC = .Column + .Columns.Count - 1
End With
Ncol = 1
p = 0 'ページ数カウント初期値
'横方向改ページ分繰り返し
For j = 1 To Lastpage2 + 1
If j = Lastpage2 + 1 Then
If Ncol > LastC Then Exit For
NLcol = LastC
Else
NLcol = ActiveSheet.VPageBreaks(j).Location.Column - 1
End If
Nrow = 1
'縦方向改ページ分繰り返し
For i = 1 To Lastpage + 1
If i = Lastpage + 1 Then
If Nrow > LastR Then Exit For
NLrow = LastR
Else
NLrow = ActiveSheet.HPageBreaks(i).Location.Row - 1
End If
p = p + 1 'ページ数カウント
If Crow >= Nrow And Crow <= NLrow Then
If Ccol >= Ncol And Ccol <= NLcol Then
pp = p
End If
End If
Nrow = NLrow + 1
Next
Ncol = NLcol + 1
Next
'改ページプレビュー、画面の固定を戻す
ActiveWindow.View = xlNormalView
Application.ScreenUpdating = True
ActiveWindow.SelectedSheets.PrintOut pp, pp ‘必要なページを印刷する
上記に関しては詳しい説明は省きます。
ステップインで一つずつ動かしていけば、
ある程度動作は分かると思います。
印刷の手前で「MsgBox "選択中のセルは、
" & pp & " ページ目です"」という記述をすれば
下のようなメッセージが表示されます。
印刷をする場合は下記の記述をすれば必要なページが印刷されます。
ActiveWindow.SelectedSheets.PrintOut pp, pp