Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6361 / 13644 ツリー ←次へ | 前へ→

【45635】コピー範囲についておしえて タッチ 07/1/8(月) 2:35 質問[未読]
【45637】Re:コピー範囲についておしえて T 07/1/8(月) 8:55 質問[未読]
【45639】Re:コピー範囲についておしえて タッチ 07/1/8(月) 12:08 発言[未読]
【45643】Re:コピー範囲についておしえて りん 07/1/8(月) 14:22 発言[未読]
【45645】Re:コピー範囲についておしえて タッチ 07/1/8(月) 14:39 発言[未読]
【45647】Re:コピー範囲についておしえて T 07/1/8(月) 15:22 発言[未読]
【45648】Re:コピー範囲についておしえて タッチ 07/1/8(月) 15:37 お礼[未読]

【45635】コピー範囲についておしえて
質問  タッチ  - 07/1/8(月) 2:35 -

引用なし
パスワード
   よろしくお願いします。
以前作成いただいたコードなのですがちょっと状況がかわり
コピー元は"入力シートのコード1がA8:Z8"コード2がA9:Z9です。
コピー先は"請求書作成"のAN3:BM3[コード1〜80全て]
コピー範囲を変更する必要が生じたのですが[AM3:DM3→AN3:BM3へ変更]
下記こーどの変数iは何を意味するのでしょうか
しょうもない質問で申し訳ないのですが困っています。
教えてください。

Sub MainR()
  Dim Rtn As String
  Dim X As Long

  Rtn = InputBox("会社1から80のいずれかを入力してください")
  X = Val(Rtn)
  Call Code(X + 7)
End Sub

i の意味が不明です
Sub Code(i As Long)
  Dim rc As Long
  rc = MsgBox(Sheets("入力").Range("B" & i).Value & "の請求書作成します。 ", vbYesNo)
If rc = vbYes Then
  rc = MsgBox("内訳は、" & Sheets("入力").Range("J" & i).Value & "です。 ", vbYesNo)
If rc = vbYes Then
  Sheets("入力").Select
  Range("A" & i & ":BN" & i).Select ←※ココのコードが不明":BN"とは
                     何を意味するのですか?
 
  Selection.Copy
  Sheets("請求書作成").Select
  Range("AN3").Select
  ActiveSheet.Paste
  Sheets("入力").Select
  Application.CutCopyMode = False
  Range("A7").Select
  Sheets("請求書作成").Select
    Range("AM3:DA3").Select
       ~~~~~~~~~~
       "AN3:BM3までの範囲にする。
  With Selection.Interior
    .ColorIndex = 10
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
  End With
  Application.Goto Reference:="R1C1"
End If
End If
End Sub

【45637】Re:コピー範囲についておしえて
質問  T  - 07/1/8(月) 8:55 -

引用なし
パスワード
   ▼タッチ さん:
F8でステップインされると分かると思いますが・・・

>コピー元は"入力シートのコード1がA8:Z8"コード2がA9:Z9です。
>コピー先は"請求書作成"のAN3:BM3[コード1〜80全て]
>コピー範囲を変更する必要が生じたのですが[AM3:DM3→AN3:BM3へ変更]
>下記こーどの変数iは何を意味するのでしょうか

iは変数です・・・1から80+7を指しています

>Sub MainR()
>  Dim Rtn As String
>  Dim X As Long
>
>  Rtn = InputBox("会社1から80のいずれかを入力してください")
>  X = Val(Rtn)
>  Call Code(X + 7)
>End Sub
>
>i の意味が不明です
>Sub Code(i As Long)
>  Dim rc As Long
>  rc = MsgBox(Sheets("入力").Range("B" & i).Value & "の請求書作成します。 ", vbYesNo)
>If rc = vbYes Then
>  rc = MsgBox("内訳は、" & Sheets("入力").Range("J" & i).Value & "です。 ", vbYesNo)
>If rc = vbYes Then
>  Sheets("入力").Select
>  Range("A" & i & ":BN" & i).Select ←※ココのコードが不明":BN"とは
>                     何を意味するのですか?
A列のiは行を、BN列のiは行を指します・・・iはInputBoxで入力した数字+7を
意味しています。
 
>  Selection.Copy
>  Sheets("請求書作成").Select
>  Range("AN3").Select
>  ActiveSheet.Paste
>  Sheets("入力").Select
>  Application.CutCopyMode = False
>  Range("A7").Select
>  Sheets("請求書作成").Select
>    Range("AM3:DA3").Select
>       ~~~~~~~~~~
>       "AN3:BM3までの範囲にする。
>  With Selection.Interior
>    .ColorIndex = 10
>    .Pattern = xlSolid
>    .PatternColorIndex = xlAutomatic
>  End With
>  Application.Goto Reference:="R1C1"
>End If
>End If
>End Sub

【45639】Re:コピー範囲についておしえて
発言  タッチ  - 07/1/8(月) 12:08 -

引用なし
パスワード
   ▼T さん:
返事ありがとうございます。

>F8でステップインされると分かると思いますが・・・
>
>>コピー元は"入力シートのコード1がA8:Z8"コード2がA9:Z9です。
>>コピー先は"請求書作成"のAN3:BM3[コード1〜80全て]
>>コピー範囲を変更する必要が生じたのですが[AM3:DM3→AN3:BM3へ変更]
>>下記こーどの変数iは何を意味するのでしょうか
>
>iは変数です・・・1から80+7を指しています
+7ですか?この+7をする意味は?
よく解らないです。
もう少し詳しい説明をお願いしたいのですが
よろしくお願いします。
初心者で申し訳ないです。
>
>>Sub MainR()
>>  Dim Rtn As String
>>  Dim X As Long
>>
>>  Rtn = InputBox("会社1から80のいずれかを入力してください")
>>  X = Val(Rtn)
>>  Call Code(X + 7)
>>End Sub
>>
>>i の意味が不明です
>>Sub Code(i As Long)
>>  Dim rc As Long
>>  rc = MsgBox(Sheets("入力").Range("B" & i).Value & "の請求書作成します。 ", vbYesNo)
>>If rc = vbYes Then
>>  rc = MsgBox("内訳は、" & Sheets("入力").Range("J" & i).Value & "です。 ", vbYesNo)
>>If rc = vbYes Then
>>  Sheets("入力").Select
>>  Range("A" & i & ":BN" & i).Select ←※ココのコードが不明":BN"とは
>>                     何を意味するのですか?
>A列のiは行を、BN列のiは行を指します・・・iはInputBoxで入力した数字+7を
>意味しています。
両方とも行を指しているのですか
たとえばInputBoxで3を入力した場合+7なら10ですが、いまいち理解できません。
・・・・・?範囲を指定しているのでは?
> 
>>  Selection.Copy
>>  Sheets("請求書作成").Select
>>  Range("AN3").Select
>>  ActiveSheet.Paste
>>  Sheets("入力").Select
>>  Application.CutCopyMode = False
>>  Range("A7").Select
>>  Sheets("請求書作成").Select
>>    Range("AM3:DA3").Select
>>       ~~~~~~~~~~
>>       "AN3:BM3までの範囲にする。
>>  With Selection.Interior
>>    .ColorIndex = 10
>>    .Pattern = xlSolid
>>    .PatternColorIndex = xlAutomatic
>>  End With
>>  Application.Goto Reference:="R1C1"
>>End If
>>End If
>>End Sub

【45643】Re:コピー範囲についておしえて
発言  りん E-MAIL  - 07/1/8(月) 14:22 -

引用なし
パスワード
   タッチ さん、こんにちわ。

>>>コピー元は"入力シートのコード1がA8:Z8"コード2がA9:Z9です。
>>iは変数です・・・1から80+7を指しています
>+7ですか?この+7をする意味は?
見出し行が7行あって、一つ目の情報が8行目から始まるからでしょう。

たとえばこんな表
   A    B
1
2
3
4
5
6
7 会社名 電話番号
8 ○○社 xxx-xxxx
9 ▲▲社 nnn-xxxx



【45645】Re:コピー範囲についておしえて
発言  タッチ  - 07/1/8(月) 14:39 -

引用なし
パスワード
   ▼りん さん:

>>>>コピー元は"入力シートのコード1がA8:Z8"コード2がA9:Z9です。
>>>iは変数です・・・1から80+7を指しています
>>+7ですか?この+7をする意味は?
>見出し行が7行あって、一つ目の情報が8行目から始まるからでしょう。
>
>たとえばこんな表
>   A    B
> 1
> 2
> 3
> 4
> 5
> 6
> 7 会社名 電話番号
> 8 ○○社 xxx-xxxx
> 9 ▲▲社 nnn-xxxx
>・
>・
なるほど上記説明で理解できました
親切にありがとうございます。
ただもうひとつ
>>  Sheets("入力").Select
>>  Range("A" & i & ":BN" & i).Select ←※ココのコードが不明":BN"とは
>>                     何を意味するのですか?
>A列のiは行を、BN列のiは行を指します・・・iはInputBoxで入力した数字+7を
>意味しています。
両方とも行を指しているのですか
たとえばInputBoxで3を入力した場合+7なら10行目ということですか。
今回コピー範囲を以前の"AM3:DA3"→"AN3:BM3"に変更したのですが
":BN"→":Z"に変更したところ範囲指定がうまく指定できたのですが
ココのiも+7が関係あるのでしょうか?
りんさん すみませんがよろしくお願いします。

【45647】Re:コピー範囲についておしえて
発言  T  - 07/1/8(月) 15:22 -

引用なし
パスワード
   ▼タッチ さん:
>>見出し行が7行あって、一つ目の情報が8行目から始まるからでしょう。
>>
>>たとえばこんな表
>>   A    B
>> 1
>> 2
>> 3
>> 4
>> 5
>> 6
>> 7 会社名 電話番号
>> 8 ○○社 xxx-xxxx
>> 9 ▲▲社 nnn-xxxx
>>・
>>・
>なるほど上記説明で理解できました
>親切にありがとうございます。
>ただもうひとつ
>>>  Sheets("入力").Select
>>>  Range("A" & i & ":BN" & i).Select ←※ココのコードが不明":BN"とは
>>>                     何を意味するのですか?
>>A列のiは行を、BN列のiは行を指します・・・iはInputBoxで入力した数字+7を
>>意味しています。
>両方とも行を指しているのですか
例えばInputBoxに1を入れたとすると
A列8行目からBNの8行目をSelect(選択)するということです。

>たとえばInputBoxで3を入力した場合+7なら10行目ということですか。
>今回コピー範囲を以前の"AM3:DA3"→"AN3:BM3"に変更したのですが
これは「請求書作成」のAM3:DA3の範囲選択を→AN3:BM3に変更したと
いう意味ですね。

>":BN"→":Z"に変更したところ範囲指定がうまく指定できたのですが
>ココのiも+7が関係あるのでしょうか?

Range("A" & i & ":BN" & i).Select 
・・・・のことでしょうか?
変数の「i」があればやはりi+7になります。
Zと書かれていますが→Range("A"&i&":Z"&i)ということですね。

【45648】Re:コピー範囲についておしえて
お礼  タッチ  - 07/1/8(月) 15:37 -

引用なし
パスワード
   ▼T さん:
りんさん
しょうもない質問にお付き合いいただきありがとうございました。
なるほど
わかりました。私も自分のアホさ加減にあきれました。[笑]
bookの表をよく見れば解ることでした。
詳しい説明ありがとうございました。

6361 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free