kyboのプロフィール
- ベストアンサー数
- 349
- ベストアンサー率
- 53%
- お礼率
- 83%
- 登録日2009/05/30
- Webサイト http://www.officelabo.net/
- 休暇願をVBA作成し両面印刷する方法を教えてほしい
VBAで休暇願を作成し印刷時は差し込み印刷方法でA4用紙に両面印刷したいのですが書き方が判りません。 マクロの内容を添付しますので両面印刷できるようにするにはどのように書けばよいのか教えてください。 下記のマクロで片面印刷は可能です。 Sub 印刷() Dim LastRow As Long Dim i As Long Dim myNo As Long If vbNo = MsgBox("印刷を開始していいですか?", vbYesNo) Then Exit Sub With Worksheets("名簿マスター") LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row For i = 1 To LastRow myNo = .Range("A" & i).Value With Worksheets("印刷シート") .Range("f7").Value = myNo .PrintOut Copies:=1, Collate:=True End With Next i End With MsgBox "印刷が終わりました" End Sub
- ベストアンサー
- Visual Basic
- noname#248032
- 回答数4
- VBA 結合セルに名前を付ける
作成中のマクロで、 「B9とB10を結合したセルに名前を付ける」 作業を入れたいのですが、 Range("B9:B10").Name = "あああ" とすると、マクロを実行した時にエラーになってしまいます。 Range("B9").Name = "あああ" としても、エラーになりました。 エラーが出ないvbaを教えてほしいです。
- ベストアンサー
- Visual Basic
- tanpopopoketto5
- 回答数2
- VBAで別のExcelブックのボタンのマクロ登録
Excelブック1とExcelブック2があります。 Excelブック1はVBAで 1)Excelブック2を開いて 2)Excelブック1のワークシート(Sheet1)と モジュールシート(Module1)を Excelブック2にコピーします。 3)ワークシート(Sheet1)にはコントロール(ボタン)が貼り付けてあって このボタンをクリックするとモジュールシート(Module1)の中の Excute_Button()というプロシージャ(マクロ)を呼び出すため Excelブック1のVBAで wb.Worksheets("Sheet1").Shapes.Range(Array("Button 1")).Select Selection.OnAction = "Excute_Button" と記述してボタンのマクロの登録をします。 (wbはExcelブック2を指しています) 4)Excelブック2を保存して閉じる。 という処理をしています。 この後、Excelブック1を閉じて、 Excelブック2を開いてワークシート(Sheet1)のボタンをクリックすると Excelブック1が開いてしまいます。 Excelブック2のボタンのマクロの登録のマクロ名を見てみると Excelブック1のファイル名!Excute_Button となっています。 Excelブック1のVBAで、ここを単にExcute_Buttonだけにするには どのようにすればよいでしょうか。
- ベストアンサー
- Excel(エクセル)
- yam2012
- 回答数1
- はじめてのユーザーフォーム
Excel2013 ユーザーフォームの使い方をテストしているのですが、 何処が悪いのか添削して頂けると助かります。 したいこと シートに列の多い表があります(テストでは2列 名前,住所) シート上ボタンでフォームをモーダレスで表示し、 シート上セルを移動すると、該当セル行の内容を ControlSourceでフォーム(カード表示状態)に連動表示し、 こちらでは1件毎に表示して閲覧や修正をしたい。 'Sheet1上のボタン Sub ボタン1_Click() 'フォーム起動 UserForm1.Show vbModeless End Sub 'Sheet1上のスクリプト Private Sub Worksheet_SelectionChange(ByVal Target As Range) If UserForm1.Visible = True Then nr = ActiveWindow.RangeSelection.Row '現在行取得 If nr > 3 Then '3行目より上は見出し行なので無視 名前TextBox.ControlSource = Cells(nr, 1) 'エラーになります 住所TextBox.ControlSource = Cells(nr, 2) End If End If End Sub 修正ボタン押下でセルをフォーム変数へ代入するのはできたので、ControlSourceで セルと連動できれば横着できるなと… よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- momono14
- 回答数1
- VBA一定間隔beepプログラム表示が更新されなく
セルにセットした時間の間隔でbeepを鳴らすプログラムを作りました. beepは最後まで鳴りますが,現在時間をセットしているセルの表示が途中から更新されなくなってしまいます.それ前に砂時計マーク(くるくるマーク)が出ます.beepだけは最後まで正常になります.一応,自動計算はOFFにしています.何か対策はないものでしょうか. Sub timenotice() 'B3セルの時間(秒)置きに,C3セルの時間まで繰り返してBeepを鳴らす '簡略化のため,日をまたぐ時刻には実行しないことを前提にする '現在時刻はD3に,次にならす時間をE3に表示する Dim t, t0 As String '現在時刻,スタート時刻(文字列) Dim tv, tv0, tv1, delt, stept, endt '現在時間,スタート時間,次にならす時間,経過時間,beep間隔,終了時間(sec) Application.Calculation = xlCalculationManual stept = Range("B3").Value 'beep間隔を得る endt = Range("C3").Value '終了時間を得る t0 = time 'スタート時刻を得る tv0 = 60 * (60 * Hour(t0) + Minute(t0)) + Second(t0) 'スタート時刻を秒に変換 For delt = 0 To endt Step stept 'beep間隔ごとに次にならす時間を繰り返す tv1 = tv0 + delt '次に鳴らす時間をセット Range("E3").Value = tv1 - tv0 '経過時間とセルに表示 t = time '現在時刻をセット tv = 60 * (60 * Hour(t) + Minute(t)) + Second(t) '現在時刻を秒に変換 Do While tv < tv1 '次にbeepを鳴らす時間を待つ t = time '現在時刻を得る tv = 60 * (60 * Hour(t) + Minute(t)) + Second(t) '現在時刻を秒に変換 Range("D3").Value = tv - tv0 '現在時間をセルに表示 Loop '時間待ちの繰り返し Beep 'beepを鳴らす Next delt '次のbeep時間に進む Application.Calculation = xlCalculationAutomatic MsgBox "時間カウントを終了しました" End Sub
- ベストアンサー
- Excel(エクセル)
- furafurax
- 回答数1