kybo の回答履歴
- 休暇願を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
- エクセル 7カ月15日を7.5カ月にしたい
セルA1に「入居日」 セルB1に「退去日」 セルC1にA1とB1から関数を入れて、「入居日と退去日の間の期間」を表示させています。 (ちなみにC1には現在「=DATEDIF(A1,B1,"YM")&"ヶ月"&DATEDIF(A1,B1,"MD")&"日"」が入っています。) ここで解決したいのが、セルC1には現在「7か月15日」と出ています。 これを「7.5(か月)」と表示させたいのですが、どうしたらいいのでしょうか? なお、セルの書式設定で表示形式をさわる必要はありますか? 出来る限り簡単に教えていただけますと幸いです。 宜しくお願い致します。
- ベストアンサー
- Excel(エクセル)
- noname#219096
- 回答数1
- vba, 複数ブックの同一セルに同一写真を挿入
エクセルVBAの初心者です。使っているのはExcel2007です。 同じフォルダの中にある連番の複数のエクセルファイルに同じ操作を繰り返すマクロを作っています。まず、複数ブックの同一セルに同じ内容の文字列を挿入することはどこかで見つけました。 Sub 複数Book同一セルに同一文字列入力() Dim fName As Variant Dim i As Long Dim WB As Workbook fName = Application.GetOpenFilename(FileFilter:="Microsoft Excelブック,*.xlsx", MultiSelect:=True) If IsArray(fName) Then For i = LBound(fName) To UBound(fName) Set WB = Workbooks.Open(fName(i)) WB.Worksheets(1).Range("A1").Value = "テスト" WB.Close SaveChanges:=True Next End If End Sub また、選択したセルに同じフォルダの中にある写真を挿入するマクロもどこかで拝見しました。 Sub AddPictureSampLinkPaste() Dim myFileName As String Dim myShape As Shape myFileName = ActiveWorkbook.Path & "\Koala.jpg" '--(1) 選択位置に画像ファイルを挿入し、変数myShapeに格納 Set myShape = ActiveSheet.Shapes.AddPicture( _ Filename:=myFileName, _ LinkToFile:=True, _ SaveWithDocument:=False, _ Left:=Selection.Left, _ Top:=Selection.Top, _ Width:=0, _ Height:=0) '--(2) 挿入した画像に対して元画像と同じ高さ・幅にする With myShape .ScaleHeight 1, msoTrue '数字は写真の高さの倍数 .ScaleWidth 1, msoTrue '数字は写真の幅の倍数 End With End Sub ここまではテストで問題なかったので、この二つのマクロを一つにまとめて、同じフォルダにある連番のエクセルブックの同一セルに同一写真を挿入するマクロを作ろうと下記のようにアレンジしましたが、なぜか写真はマクロを記入したブックのアクティブセルに連番のブックの数だけの写真が重なるように貼り付けられるだけで、標的のブックには写真が挿入できません。 Sub 複数Bookの同じ位置に同一写真挿入() Dim fName As Variant Dim i As Long Dim WB As Workbook Dim myFileName As String Dim myShape As Shape fName = Application.GetOpenFilename(FileFilter:="Microsoft Excelブック,*.xlsx", MultiSelect:=True) myFileName = ActiveWorkbook.Path & "\Koala.jpg" If IsArray(fName) Then For i = LBound(fName) To UBound(fName) Set WB = Workbooks.Open(fName(i)) Worksheets("Sheet1").Activate '--(1) 選択位置に画像ファイルを挿入し、変数myShapeに格納 Set myShape = ActiveSheet.Shapes.AddPicture( _ Filename:=myFileName, _ LinkToFile:=True, _ SaveWithDocument:=False, _ Left:=Selection.Left, _ Top:=Selection.Top, _ Width:=0, _ Height:=0) '--(2) 挿入した画像に対して元画像と同じ高さ・幅にする With myShape .ScaleHeight 1, msoTrue .ScaleWidth 1, msoTrue End With WB.Close SaveChanges:=True Next End If End Sub 本当にどこが間違っているか分からず、ここで質問いたします。初心者で分からないところばかりなので、どなたかやさしく教えていただけませんか?よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- bwcnn017
- 回答数1
- エクセルシートをファイル名+シート名で保存したい
エクセルのブック内にある複数のシートを分割して保存するとき ブック名+シート名.xlsx とファイル名を付けて保存する方法があれば教えていただけないでしょうか。 よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- fisher-boy
- 回答数2
- エクセル2010 関数
こんにちは。詳しい方お教えください。 添付の画像の黄色部分の関数は =IF(VLOOKUP($A3,$A$15:$C$19,2)="収入の",VLOOKUP($A3,$A$15:$C$19,3)*H3,IF(VLOOKUP($A3,$A$15:$C$19,2)="月額固定",VLOOKUP($A3,$A$15:$C$19,3), IF(VLOOKUP($A3,$A$15:$C$19,2)="年額固定",VLOOKUP($A3,$A$15:$C$19,3)/12,""))) という事がわかったのですが この場合の $15:$C$19,2 や 19,3って何を指すものでしょうか? すみません、勉強不足なのは重々承知の初心者です。 この関数を基に、同じような書類を作りたいと考えたのですが そこがわからず進みません。 よろしくお願い申し上げます。
- ベストアンサー
- Excel(エクセル)
- tonkotsu0707
- 回答数4
- Excel 2010 InStrに当たる関数
当方、Windows7、Excel2010の環境です。 VBAで組むほどでもなく、単に「=Left(a2, InStr(a2, "-") - 1」と 「-」の手前の文字を取り出したいだけなのですが、 「#NAME」エラーが出てしまいます。 調べて見ると、Excelの関数に「InStr」が見当たりません。 InStrのところを、どう変えれば、良いのでしょうか? 教えてください。
- ベストアンサー
- Excel(エクセル)
- Prome_Lin
- 回答数2
- エクセルの行の抽出
お世話になります。 「A医院」「内科・小児科・産婦人科」「0420-000-0000」 「B医院」「外科・心療内科・脳外科」「0421-000-0000」 「C医院」「精神科・小児科・外科」 「059-000-6359」 というエクセルデータがあるとします。「」までが1つのセルです。 どのような方法でもいいのですが、 内科で抽出したら 「A医院」「内科・小児科・産婦人科」「0420-000-0000」 が行で抽出できる方法はありますでしょうか? 知っている方宜しくお願いします。
- 締切済み
- Excel(エクセル)
- worker001
- 回答数3
- Excel 2013での拡大印刷倍率自動指定
する方法を探しています。 旧バージョンであればページ指定で印刷範囲指定してやれば 用紙いっぱいに印刷出来たと思うのですが、2013では等倍のまま意図した処理になりません。 また、併せてアスペクト比を無視した拡大方法があれば知りたいです。
- 締切済み
- Excel(エクセル)
- popepon
- 回答数3
- Excel VBA 数値を入れ 図形の線を変える
図形を作成し、毎年更新をするのですが 数値を入れて、画像の線の幅を変更したいです。 下記、内容で作成したのですが、うまく動きません。 何が問題でしょうか? 数値を入れる場所は、B51になります。 Sub Macro1() ' Dim i As Integer Dim ws1 As Worksheet Set ws1 = ActiveSheet For i = 1 To 20 ActiveSheet.Shapes(ws1.Cells(50 + i, 1).Value).Select Selection.ShapeRange.Line.Weight = ws1.Cells(50 + i, 2).Value Next i End Sub
- 締切済み
- Visual Basic
- carol220
- 回答数2
- エクセルでの文字の折り返し
ものすごく基本的なことだと思うのですが,エクセルで文字を打って折り返したときに,一文字分あけて文字をそろえるのって,どうすればいいのでしょう。 つまり,左端からすべて一文字あけてそろえるということです。 昔やったけど忘れてしまいました。
- ベストアンサー
- Excel(エクセル)
- HAT
- 回答数4
- エクセル 名前を定義した表の貼付
複数セルに名前を定義した際の取り扱い方を、いまいち理解できておりません。 A1:D5にある表に名前を定義して、「集計表」という名前を付けています。 この表を、別の場所で選択したセルを基準に(例えばA7)、 =集計表 というように記述して、(A7:D11に)貼り付けるとVALUEとなり出来ないようです。 上記のような操作は、どのようにすれば出来るようになるのでしょうか? 参考URLなどでも構いません。ご教授お願いいたします。
- ベストアンサー
- Excel(エクセル)
- kenthehg
- 回答数3
- excelの複数シートのデータを別シート1枚に表示
シートa・シートbにデータがあります。 データは現在各20行程度ですが、今後も増える可能性があります。 このデータをシートcにまとめて表示することはできますか? シートcに一緒に表示したうえで、ソートができるとありがたいです。 データベースソフト「アクセス」は持っていません。 バージョンは2013です。 よろしくお願いします。
- 締切済み
- Excel(エクセル)
- kaitou3
- 回答数3
- 非連続データ範囲を取得するマクロ
マクロ初心者です。 下記の表の範囲の黄色い部分を選択(#DIV/0!の前まで)するマクロはどのようなコードにすればいいのでしょうか?他のシートに貼り付けしたいのです。出来る限り詳しくお願いします。
- ベストアンサー
- Excel(エクセル)
- vincent66jp
- 回答数2
- Excel2013でのハイパーリンクについて
Excel2013での出来事です。 自身のPCフォルダやファイルを素早く開くショートカット目的として C:\Program Files\ などをハイパーリンクで設定しています。 昨日まではなんら問題なくリンク先フォルダやファイルが開けていたのですが、今日PCを立ち上げと同時にエクセルファイルでの作業をと思ったところどのリンク先も「指定されたファイルを開くことができません」となり、開くことが出来ません。 ハイパーリンクの編集を見てみると 本来なら file://C:Users\Eiko\Music\Aデータ\Bデータ\重要資料 と設定したはずが、 file://C:Users\Eiko\AppuData\Roaming\Microsoft\Excel\Bデータ\重要資料 となってしまっています。 ひとつのエクセルデータファイルの全てのシートのリンクが変更されてしまっています。 (数百~数千あるリンクを書き換えなきゃいけない状況です) ほんと、昨日までは何の問題もなくリンクされていて、なんら手を加えるようなことは一切せず、そのまま保存しPCの電源を落としました。 また、昨日今日はもちろん、ここ数日なんらかのソフトをインストールしたということもありません。 (このPCは私専用でだれもいじることはありません) なぜ、突然こうなってしまったのか、わけがわかりません。 この原因はなにが考えられるでしょうか? また、ひとつのシートの中で範囲指定してパスを一括で書き換えることは可能でしょうか? 可能だとしたらその方法が判る方、ぜひぜひ教えていただけたらありがたいです。 どうぞ、よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- aquo1000
- 回答数1
- エクセ表の印刷方法について
エクセルで棚卸表を作成しましたが、合計重量又は合計金額が0の場合、その行は印刷しないようにしたいのですがどの様な方法があるのでしょうか。 取扱品目が500品目あり商品は当初から全て表示されています。 要するに、合計欄の重量、金額が0の場合は印刷から除外することにより印刷枚数を減らすのが目的です。 サンプルとして画像を添付します。
- ベストアンサー
- Excel(エクセル)
- noname#248032
- 回答数1
- エクセル マクロ セルの選択
セルF60から始まって40おきにセルF1000まで選択するマクロって出来ないでしょうか? ○行おきに選択するマクロは検索したら出てきたのですが、○セルおきに選択するマクロがどうしても見つからないので、作れる方いたら教えてください。
- ベストアンサー
- Excel(エクセル)
- Sorara2013
- 回答数2