• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルとVB6)

エクセルとVB6の初めての扱い方

このQ&Aのポイント
  • エクセルとVB6の環境について詳しく解説し、初めての方でも分かりやすく説明します。
  • 初めてエクセルを扱う場合に知っておくべきシートの生成方法やセルへの書き込み方法を解説します。
  • エクセルの起動方法とシートの生成に関する質問に対する回答を詳しく説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.1

新規ブックのシート枚数はデフォルトで3枚と決まっていますが、 そのシートの枚数は、任意で1枚以上を指定できますので、 追加されたがSheet3ならシート枚数が2枚に設定されていたのでしょう。 新規ブックは少なくとも1枚はないといけないので、新規ブックをシートなしで開くことはできません。 なので質問の件は、1枚残して他のシートを削除する、という処理になります。 また、新規ブックのシートにデータを入力するわけですから、その為に新しいシートを追加する必要はありません。 で、コードは以下のようになります。 ●●●で囲まれた部分が追加 ▲▲▲のシート追加は不要 '------------------------------------- Private Sub Command1_Click() Dim ex As Object ' Excel.Application Dim wb As Object ' Excel.Workbook Dim ws As Object ' Excel.Worksheet Dim iii%, x% Set ex = CreateObject("Excel.Application") ex.Visible = True 'エクセルを表示する Set wb = ex.Workbooks.Add '空白の新しいブックを追加 '●●●  Dim S As Integer  For S = 2 To wb.Sheets.Count    ex.DisplayAlerts = False    wb.Sheets(2).Delete    ex.DisplayAlerts = True  Next S  Set ws = wb.Sheets(1) '●●● '▲▲▲Set ws = wb.Worksheets.Add 'これは不要 ws.Name = "XXX" 'シートの名前を設定 'シートのセルに書き込む '構文:Cells(行, 列).Value = 値 ws.Cells(1, 1).Value = "ID" ws.Cells(1, 2).Value = "PS" iii% = 2 For x% = 0 To 135 iii% = iii% + 1 ws.Cells(1, iii%).Value = x% Next x% End Sub '------------------------------------ 因みに、wb.Sheets(2).Delete は 左から2番目のシートを削除するコートですが、 シートか何枚あってもこの(2)という数値を変えてはいけません。 それから、ex.DisplayAlerts = False は シートを削除するときはエクセル側から 「シートを削除しますか?」とメッセージを出すので それを表示させないためのものです。 以上。

daikaisan
質問者

お礼

早速のご回答ありがとうございます。 分かりやすく書いていただき、恐縮です。 excelは今回のプログラムぐらいで、あまりいじることもないので、 不勉強でもあり、とても助かりました。

関連するQ&A