[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『数値をセルより取得したい』(こーた)
For i = 100 To 150 100をA1から参照150をB1より参照したいのですが よろしくお願いします
< 使用 Excel:Excel2003、使用 OS:WindowsXP >
For i = Range("A1").Value To Range("B1").Value
Next ではないですか? ところで、BBさんとのご関係は? (γ) 2017/10/15(日) 07:23
(こーた) 2017/10/15(日) 19:37
With Worksheets("作業割当表") For i = 1 To Day(DateSerial(.Range("B1").Value, .Range("D1").Value + 1, 1) - 1) '当月の日数 .Range("BA1").Value = i Next i End With End Sub
このようにボタンを組み合わさせました
Sub ボタン190_Click()
ボタン191_Click
Dim i As Long
For i = Range("AZ1").Value To Range("BA1").Value Sheets("メニュー画面(勤務)").Range("E21") = i
Sheets("メニュー画面(勤務)").Select 出勤者貼り付け
Sheets("メニュー画面(勤務)").Select sagyouwariateharituke
Sheets("作業割当表").Select 作業貼り付け
Sheets("作業割当表").Select ボタン159_Click
Sheets("作業割当表").Select Range("P1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Next i End Sub
これで一応問題なく動いてます
何か指摘の点ございましたら教えてください。
(こーた) 2017/10/16(月) 00:09
>これで一応問題なく動いてます >何か指摘の点ございましたら教えてください
動いていたら特に問題はないと思いますが、
基本、「選択」という操作はマクロでは不要です。
(画面が無駄にちらちらしたり、動作が遅くなります。)
Sub 日数分の印刷()
Dim dtmStart As Long Dim dtmEnd As Long Dim i As Long
With Worksheets("作業割当表") dtmStart = DateSerial(.Range("B1").Value, .Range("D1").Value, 1) dtmEnd = DateAdd("m", 1, dtmStart) - 1 End With
For i = dtmStart To dtmEnd Sheets("メニュー画面(勤務)").Range("E21").Value = Day(i) sagyouwariateharituke 作業貼り付け ボタン159_Click Sheets("作業割当表").PrintOut Copies:=1, Collate:=True Next End Sub
ただし、提示されていないコードが「選択されていることが前提」のコードに
なっていると思うので、現状のままでは動かないかと思いますが、
選択しないコードを書くことをお勧めします。
それから、「変数」をもう少し上手く使えるとよいと思います。
(まっつわん) 2017/10/16(月) 09:41
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.