質問編集履歴

1

コードの修正、画像の追加、説明補足

2022/05/12 06:41

投稿

321Kurumins
321Kurumins

スコア18

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,64 @@
1
- G:I列をコンボボックスに入力された列数コピーし、
1
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-12/532aa079-a042-4ea2-9bbb-46d8273d8c9c.png)G:I列をコンボボックスに入力された列数コピーし、
2
2
  その後A1セルから先ほどコピーした列すべてを印刷範囲に指定したいです。
3
3
  いろいろ直してもエラーが治らないので教えてください。
4
4
 
5
5
  ```ここに言語を入力
6
+
6
- Sub 列をコピー()
7
+ Private Sub CommandButton1_click()
8
+
9
+
10
+
11
+ Range(Columns(10), Columns(Columns.Count)).Delete
12
+
13
+ Dim n, g, p As String
14
+ Dim n2, g2, p2 As String
7
- Dim r As Long
15
+ Dim h, h2 As String
8
- r = ComboBox1.Text
16
+ n = ComboBox1.Text
17
+ g = ComboBox2.Text
18
+ p = ComboBox3.Text
19
+ h = n & " / " & g & " / " & p
9
- Columns("G:I").Select
20
+ Range("G5").Value = h
21
+
10
- Selection.AutoFill Destination:=Columns("G:r+7"), Type:=xlFillDefault
22
+ n2 = ComboBox4.Text
23
+ g2 = ComboBox5.Text
24
+ p2 = ComboBox6.Text
11
- ActiveSheet.Pagesetup.prontarea = "A:r+7" & lastlow
25
+ h2 = n2 & " / " & g2 & " / " & p2
26
+ If n > n2 Then
27
+ MsgBox "正しい日付を入力してください"
28
+ Unload Me
12
- End Sub
29
+ Exit Sub
30
+ End If
31
+ If n = n2 And g > g2 Then
32
+ MsgBox "正しい日付を入力してください"
33
+ Unload Me
34
+ Exit Sub
35
+ End If
36
+ If n = n2 And g = g2 And p > p2 Then
37
+ MsgBox "正しい日付を入力してください"
38
+ Unload Me
39
+ Exit Sub
40
+ End If
41
+ Unload Me
42
+
43
+ Dim dd As Long
44
+ Dim lastlow As Long
45
+ lastlow = Cells(Rows.Count, 1).End(xlUp).Row
46
+ dd = DateDiff("d", h, h2)
47
+
48
+ Dim c As Range, d As Range
49
+ Set c = ActiveSheet.Columns("G:I")
50
+ Set d = c.Resize(, dd + 3)
51
+ c.AutoFill d
52
+
53
+ thisworksheet.PageSetup.PrintArea = Range("A1:A" & lastlow).Resize(, d).Address
54
+
13
55
 
14
56
  ```
57
+
58
+ 補足
59
+ 回答ありがとうございます。
60
+ いろいろと説明不足だったので追記します。
61
+ Excelのシートは画像のような状態になっています。
62
+ みなさまの回答いただいたプログラムではエラー1004の同じサイズの結合セルが・・・というのが出たり出なかったりします。
63
+ コードも省略していたものを全部貼りますので再度回答していただけると助かります。
64
+