下記のような簡単なマクロで、複数メンバーのタイムカードを印刷しております。
Excel Sheet 1 のセル(E4)にSheet 2のメンバーのデータから氏名が印刷されます。
この、氏名の印刷される場所のセル(E4)を(E5)に変更する場合、マクロを表示し、
編集から下記のws1.Range("E4")を(”E5")に変更しております。
このマクロの表示、編集画面を出さず、Sheet 1の任意のセルに(E4)を(E5)に変更
することで、直接マクロの表示部分を触らなくてもよい方法はありませんか。
よろしくお願いいたします。
Sub マックスタイムカード既存()
Sheets("マックスタイムカード").Select
Dim i As Long 'この行から
Dim ws1, ws2 As Worksheet
Set ws1 = Worksheets("マックスタイムカード")
Set ws2 = Worksheets("メンバー")
For i = 2 To ws2.Cells(Rows.Count, 1).End(xlUp).Row 'iはメンバーシートのデータを読み込む。
ws1.Range("E4") = ws2.Cells(i, 1) 'セルE4に氏名を入力
ws1.Range("E7") = ws2.Cells(i, 2) 'セルE7に係を入力
ws1.Range("I7") = ws2.Cells(i, 3) 'セルI7に班を入力
ws1.PrintOut
Next i
End Sub 'この行まで
No.2ベストアンサー
- 回答日時:
>セル(J1)に数値を入れ縦方向に変化する事ができました。
>そこで、あつかましお願いですが、横方向にズラス方法を教えてください。
それで、たぶんお気づきかと思いますが、.Cells(4+j, "E").Value と書いたけれども、5 と書かずに、"E"と書いてあります。
.Cells(4+j, 5 + k ).Value
と書けば、良いわけですね。つまり、Range("E4") は、Cells(4,"E") →Cells(4,5)
Range("E7") →Cells(7, "E") → Cells(7,5)
Range("I7") →Cells(7, "I") → Cells(7,9)
と書き換えができます。これで、もう応用は出来るはずです。
'//
Sub マックスタイムカード既存Try2()
'#9003897
Dim ws1 As Worksheet, ws2 As Worksheet
Dim i As Long 'ループカウンター
Dim j As Long '代入数値(行方向)
Dim k As Long '代入数値(列方向)
Dim Lr As Long 'メンバーシートの最後の行
Set ws1 = Worksheets("マックスタイムカード")
Set ws2 = Worksheets("メンバー")
Lr = ws2.Cells(Rows.Count, 1).End(xlUp).Row
With ws1
.Select
j = .Range("J1").Value 'マックスタイムカードのJ1 に数値を入れる
k = .Range("J2").Value 'マックスタイムカードのJ2 に数値を入れる
For i = 2 To Lr 'iはメンバーシートのデータを読み込む。
.Cells(4 + j, 5 + k).Value = ws2.Cells(i, 1).Value '★セルE4に氏名を入力
.Cells(7, "E").Value = ws2.Cells(i, 2).Value 'セルE7に係を入力
.Cells(7, "I").Value = ws2.Cells(i, 3).Value 'セルI7に班を入力
.PrintOut 'Preview:=True 'プレビューコマンド
Next i
End With
End Sub
'///
WindFaller 様
お世話になりました。
マクロの編集画面を開かず、印刷範囲外にタテ・ヨコの位置指定をし、
非常に楽に簡単になりました。ありがとうございました。
No.1
- 回答日時:
こんな感じになりますでしょうか?
シート「マックスタイムカード」の印刷範囲に掛からない場所の任意の場所、
「J1」セルに数値を入れることで、
マクロを動かしていない状態で、VBEditorを開かずに印刷場所をずらすことは可能です。
'//
Sub マックスタイムカード既存Try1()
'#9003897
Dim ws1 As Worksheet, ws2 As Worksheet
Dim i As Long 'ループカウンター
Dim j As Long '代入数値
Dim Lr As Long 'メンバーシートの最後の行
Set ws1 = Worksheets("マックスタイムカード")
Set ws2 = Worksheets("メンバー")
Lr = ws2.Cells(Rows.Count, 1).End(xlUp).Row
With ws1
.Select
j = .Range("J1").Value 'マックスタイムカードのJ1 に数値を入れる
For i = 2 To Lr 'iはメンバーシートのデータを読み込む。
.Cells(4 + j, "E").Value = ws2.Cells(i, 1).Value 'セルE4に氏名を入力
.Cells(7, "E").Value = ws2.Cells(i, 2).Value 'セルE7に係を入力
.Cells(7, "I").Value = ws2.Cells(i, 3).Value 'セルI7に班を入力
.PrintOut Preview:=True
Next i
End With
End Sub
'///
なお、私は、回答者として期待される要件には入っていません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ベンチプレスとスミスマシンベ...
-
車のナンバーで思いつく釣りに...
-
大学2年生 女子 性欲は一番強...
-
加太大波止のローカルルールに...
-
緊急お願いします レポート文字...
-
この画像にムラムラする年齢は...
-
釣り人の半数は釣りでなく邪魔...
-
スーパーロボット対戦αの2週目...
-
iPhone13プロマックスを紛失し...
-
男性が勃たない状況は?
-
海までの距離について
-
パゴダ傘の作り方
-
熱海近くの釣り場
-
釣りって低レベルな頭の悪い人...
-
使わなくなったDS、3DSソフトを...
-
バス釣り。
-
IHを使うとブレーカーが落ちます。
-
岩手で沖堤防に渡してくれる釣り船
-
竹芝~浜松町にある釣具屋
-
マダイ初心者
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ベンチプレスとスミスマシンベ...
-
大学2年生 女子 性欲は一番強...
-
車のナンバーで思いつく釣りに...
-
使わなくなったDS、3DSソフトを...
-
Googleアカウント【通常とは異...
-
釣りって低レベルな頭の悪い人...
-
加太大波止のローカルルールに...
-
スマホから知らない音楽が勝手...
-
この画像にムラムラする年齢は...
-
車の希望番号でいいのお教えく...
-
iPhone13プロマックスを紛失し...
-
釣り人の半数は釣りでなく邪魔...
-
男性が勃たない状況は?
-
テトラのカニを取るには
-
緊急お願いします レポート文字...
-
下田・鍋田浜では何が釣れますか?
-
ジョイサウンドマックスの、分...
-
スーパーロボット対戦αの2週目...
-
怖くてテトラに乗れません・・...
-
asmrの音量
おすすめ情報
WindFaller 様
早々の回答ありがとうございました。
期待していた通りの結果で、とても嬉しく思います。
セル(J1)に数値を入れ縦方向に変化する事ができました。
そこで、あつかましお願いですが、横方向にズラス方法を教えてください。
現在、セル(E4)ですが、EをFとかGの横方向にする方法をお願いいたします。