私は自分のコードを稼働させましたが、それでも2つの問題があります(とにかく2つの大きな問題があります)。ループ作業で絶対セル参照を行い、ループ内の列をスキップする方法はありますか?
1)絶対セル参照。 Excelと同じように機能しません。たとえば$ A5が必要ですが、A6 A7などに変更するのではなく、ループ全体でA5のままです。
2)私はスキップする必要がある3番目の列があります。 %UTILではなく、VOLとCAPの列に書き込むためにループが必要です。 $ UTILをスキップするようループに指示するにはどうすればよいですか?あなたはそれを定義している
alt text http://i27.tinypic.com/2dig8hu.jpg
Option Explicit
Dim myRange As Range
Function numberOfRows() As Integer
Debug.Print ("Start test")
ThisWorkbook.Worksheets("LCI").Range("A9").Select
Set myRange = Range(Selection, Selection.End(xlDown))
Debug.Print ("Rows: " & myRange.Rows.Count)
numberOfRows = (myRange.Rows.Count)
End Function
Function numberOfColumns() As Integer
Debug.Print ("Start test")
ThisWorkbook.Worksheets("LCI").Range("B8").Select
Set myRange = Range(Selection, Selection.End(xlToRight))
Debug.Print ("Columns: " & myRange.Columns.Count)
numberOfColumns = (myRange.Columns.Count)
End Function
Sub TieOut(ByVal numberOfRows As Integer, ByVal numberOfColumns As Integer)
Dim i As Integer 'i is row
Dim j As Integer 'j is column
For i = 1 To numberOfRows 'Loop over rows
For j = 1 + 2 To numberOfColumns 'Loop over columns
ThisWorkbook.Worksheets("Loop").Select
With ThisWorkbook.Worksheets("Loop")
**.Cells(i + 3, j + 1).Value = "=INDEX('ZAINET DATA'!$A$1:$H$39038,MATCH(Loop!B$2&TEXT(Loop!$A4,""M/D/YYYY""),'ZAINET DATA'!$C$1:$C$39038,0),4)"
.Cells(i + 3, j + 2).Value = "=INDEX('ZAINET DATA'!$A$1:$H$39038,MATCH(Loop!B$2&TEXT(Loop!$A4,""M/D/YYYY""),'ZAINET DATA'!$C$1:$C$39038,0),5)"**
End With
Next j
Next i
End Sub
Sub Test()
Dim x As Integer
Dim y As Integer
x = numberOfRows()
y = numberOfColumns()
Call TieOut(x, y)
End Sub
My numberOfRows = Macro1から返された数値numberOfColumns = Macro2から返された数値 – Techgirl09
Defineとは何を意味していますか? – Techgirl09
返却しないとどういう意味ですか? – shahkalpesh