Excel VBA質問箱 IV

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

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


56017 / 76732 ←次へ | 前へ→

【25480】VBAプログラムの間違いを指摘して欲しいのですが
質問  学生  - 05/6/1(水) 20:23 -

引用なし
パスワード
   無二の親友から以下のプログラムのどこに間違いがあるのか?
聞かれたのですが、よくわからないのです。
どなたか、助け舟を出して頂けないでしょうか?
最初にエラーが出るのは、
 Application.Workbooks(bookname).Select
が黄色のラインがかかってしまうのですが…。
本来なら、本人が質問するのが筋だと思いますが、
日本人ではないので、代理として私がお願いしました。よろしくお願いします。

Sub Q4()
Dim mydata() As Variant
Dim bookname As String, newbookname As String, i As Integer
Dim j As Integer, a As Integer, z As Integer, y As Integer, NoSheets As Integer
 
  bookname = InputBox("Please inter data workbook's name")
   Application.Workbooks.Open (bookname)
  
  NoSheets = Application.Worksheets.Count
  'MsgBox NoSheets
 
  Application.SheetsInNewWorkbook = 3
  Application.Workbooks.Add
   newbookname = InputBox("Please inter new workbook's name")
  ActiveWorkbook.SaveAs newbookname
 
 
  Application.Workbooks(bookname).Select
 
Dim DataArray() As Variant
Dim Counter As Integer
'Dim NoSheets As Integer
Dim RowNo As Integer
Dim ColNo As Integer
Dim Address As String
Dim StringNo As Integer
Dim NumNo As Integer, sum As Variant
'Dim a As Integer, z As Integer, y As Integer

RowNo = 1
ColNo = 1
Address = "R" & RowNo & "C" & ColNo

Application.Workbooks.Add

NoSheets = Application.Worksheets.Count

ReDim DataArray(1 To NoSheets)

For Counter = 1 To NoSheets

  DataArray(Counter) = Application.Worksheets(Counter).Cells(RowNo, ColNo).Value
  ' You cannot use Range because it is confined to an A1 address style
  
    If TypeName(DataArray(Counter)) = "String" Then
      StringNo = StringNo + 1
    End If
    
    If IsNumeric(DataArray(Counter)) Then
      NumNo = NumNo + 1
    End If
  
  ' Code for sum in Summary sheet goes here
  ReDim mydata(1 To 10, 1 To 10) As Variant
    For z = 1 To 10
      For y = 1 To 10
        'For a = 1 To NoSheets
          Sheets(Counter).Select
          mydata(z, y) = Sheets(Counter).Cells(z, y).Value
          sum = mydata(z, y) + Sheets(Counter).Cells(z, y).Value
        'Next a
      Next y
    Next z
  
  Application.Workbooks(newbookname).Selected
  Cells(z, y) = sum
  
   If NumNo = 0 Then Cells(z, y) = "No Data"
  
Next Counter
 

End Sub

0 hits

【25480】VBAプログラムの間違いを指摘して欲しいのですが 学生 05/6/1(水) 20:23 質問
【25483】Re:VBAプログラムの間違いを指摘して欲し... ponpon 05/6/1(水) 22:14 発言
【25519】Re:VBAプログラムの間違いを指摘して欲し... 学生 05/6/2(木) 20:54 質問
【25484】Re:VBAプログラムの間違いを指摘して欲しい... ichinose 05/6/1(水) 22:22 発言
【25489】Re:VBAプログラムの間違いを指摘して欲しい... 学生 05/6/2(木) 8:12 お礼
【25492】Re:VBAプログラムの間違いを指摘して欲しい... Jaka 05/6/2(木) 10:44 回答
【25518】Re:VBAプログラムの間違いを指摘して欲しい... 学生 05/6/2(木) 20:50 お礼
【25521】Re:VBAプログラムの間違いを指摘して欲しい... 学生 05/6/2(木) 21:36 質問
【25525】Re:VBAプログラムの間違いを指摘して欲しい... ichinose 05/6/3(金) 9:22 発言
【25542】Re:VBAプログラムの間違いを指摘して欲しい... 学生 05/6/3(金) 21:42 お礼

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