Excel VBA質問箱 IV

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

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


5370 / 13646 ツリー ←次へ | 前へ→

【51246】シート名を書き出す れば 07/9/5(水) 20:31 質問[未読]
【51248】Re:シート名を書き出す ichinose 07/9/5(水) 21:00 発言[未読]
【51250】Re:シート名を書き出す れば 07/9/5(水) 21:17 発言[未読]
【51251】Re:シート名を書き出す ichinose 07/9/5(水) 21:40 発言[未読]
【51252】Re:シート名を書き出す れば 07/9/5(水) 21:58 お礼[未読]

【51246】シート名を書き出す
質問  れば  - 07/9/5(水) 20:31 -

引用なし
パスワード
   こんばんは。
宜しくお願い致します。

あるブックに生徒名一覧、合計、理科、社会、数学というシートがあります。
理科、社会、数学といった科目のシート名一覧を
合計シートのA列に書き出したいと思っています。

ただ、
科目というセルと総合点というセル間に書き出すという条件があります。
(英語、現代文等シートが増える可能性がある)

シート名:合計
A列
科目
理科
社会
数学
(英語)←増えるとここに書き出し
(現代文)←増えるとここに書き出し
総合点


Sub test()

  Dim ws As Worksheet
  Dim ARow As Integer
  Dim i As Long
  
  ARow = 2
  For i = 3 To Sheets.Count
    Sheets("合計").Cells(ARow, 1).Value = Worksheets(i).Name
  ARow = ARow + 1
  Next i
  
End Sub

私のコードでは科目が増えた場合
総合点と書かれているものが消えてしまいます。

どのように変えるとよいか教えてください。
宜しくお願いします。

【51248】Re:シート名を書き出す
発言  ichinose  - 07/9/5(水) 21:00 -

引用なし
パスワード
   ▼れば さん:
こんばんは。
>
>あるブックに生徒名一覧、合計、理科、社会、数学というシートがあります。
>理科、社会、数学といった科目のシート名一覧を
>合計シートのA列に書き出したいと思っています。
>
>ただ、
>科目というセルと総合点というセル間に書き出すという条件があります。
>(英語、現代文等シートが増える可能性がある)
>
>シート名:合計
>A列
>科目
>理科
>社会
>数学
>(英語)←増えるとここに書き出し
>(現代文)←増えるとここに書き出し
>総合点
>
>
>Sub test()
>
>  Dim ws As Worksheet
>  Dim ARow As Integer
>  Dim i As Long
   Sheets("合計").range("a:a").value=""
   Sheets("合計").Cells(1, 1).Value = "科目"
>  ARow = 2
>  For i = 3 To Sheets.Count
>    Sheets("合計").Cells(ARow, 1).Value = Worksheets(i).Name
>  ARow = ARow + 1
>  Next i
   Sheets("合計").Cells(ARow, 1).Value = "総合計"

>  
>End Sub

>私のコードでは科目が増えた場合
>総合点と書かれているものが消えてしまいます。
>どのように変えるとよいか教えてください。
私なら、全部書き直しますけどね!!
(つまり、行の挿入などの操作はしません)
これでは、不都合な理由が投稿された内容からは見受けられませんが・・・。
検討してみてください

【51250】Re:シート名を書き出す
発言  れば  - 07/9/5(水) 21:17 -

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

>>私のコードでは科目が増えた場合
>>総合点と書かれているものが消えてしまいます。
>>どのように変えるとよいか教えてください。
>私なら、全部書き直しますけどね!!
>(つまり、行の挿入などの操作はしません)
>これでは、不都合な理由が投稿された内容からは見受けられませんが・・・。
>検討してみてください

説明足らずで失礼致しました。
総合点の3行ほど下に説明文は入っているためです。

1科目追加で入ると1行下の総合点の文字が消える。
4科目、5科目・・と入ると説明文も消えてしまう結果になるからです。

もしよろしければ・・
行の挿入以外に方法があれば
教えていただけますでしょうか。
宜しくお願い致します。

【51251】Re:シート名を書き出す
発言  ichinose  - 07/9/5(水) 21:40 -

引用なし
パスワード
   ▼れば さん:
>▼ichinose さん:
>ありがとうございます。
>
>>>私のコードでは科目が増えた場合
>>>総合点と書かれているものが消えてしまいます。
>>>どのように変えるとよいか教えてください。
>>私なら、全部書き直しますけどね!!
>>(つまり、行の挿入などの操作はしません)
>>これでは、不都合な理由が投稿された内容からは見受けられませんが・・・。
>>検討してみてください
>
>説明足らずで失礼致しました。
>総合点の3行ほど下に説明文は入っているためです。
>
>1科目追加で入ると1行下の総合点の文字が消える。
>4科目、5科目・・と入ると説明文も消えてしまう結果になるからです。
ならば、その説明文もコードで書き込んだらいかがですか?

>Sub test()
>
>  Dim ws As Worksheet
>  Dim ARow As Integer
>  Dim i As Long
   Sheets("合計").range("a:a").value=""
   Sheets("合計").Cells(1, 1).Value = "科目"
>  ARow = 2
>  For i = 3 To Sheets.Count
>    Sheets("合計").Cells(ARow, 1).Value = Worksheets(i).Name
>  ARow = ARow + 1
>  Next i
   Sheets("合計").Cells(ARow, 1).Value = "総合計"
   Sheets("合計").Cells(ARow+3, 1).Value="何たらこうたら・・・"  
>  
>End Sub

行挿入を行わないなら、こういうことですよね??

【51252】Re:シート名を書き出す
お礼  れば  - 07/9/5(水) 21:58 -

引用なし
パスワード
   ▼ichinose さん:
>>>>私のコードでは科目が増えた場合
>>>>総合点と書かれているものが消えてしまいます。
>>>>どのように変えるとよいか教えてください。
>>>私なら、全部書き直しますけどね!!
>>>(つまり、行の挿入などの操作はしません)
>>>これでは、不都合な理由が投稿された内容からは見受けられませんが・・・。
>>>検討してみてください
>>
>>説明足らずで失礼致しました。
>>総合点の3行ほど下に説明文は入っているためです。
>>
>>1科目追加で入ると1行下の総合点の文字が消える。
>>4科目、5科目・・と入ると説明文も消えてしまう結果になるからです。
>ならば、その説明文もコードで書き込んだらいかがですか?
>
>>Sub test()
>>
>>  Dim ws As Worksheet
>>  Dim ARow As Integer
>>  Dim i As Long
>   Sheets("合計").range("a:a").value=""
>   Sheets("合計").Cells(1, 1).Value = "科目"
>>  ARow = 2
>>  For i = 3 To Sheets.Count
>>    Sheets("合計").Cells(ARow, 1).Value = Worksheets(i).Name
>>  ARow = ARow + 1
>>  Next i
>   Sheets("合計").Cells(ARow, 1).Value = "総合計"
>   Sheets("合計").Cells(ARow+3, 1).Value="何たらこうたら・・・"  
>>  
>>End Sub
>
>行挿入を行わないなら、こういうことですよね??

確かに・・・そうですね。
まったく浮かびませんでした。
ありがとうございました!!!

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