データを頻繁に取得するために使用される動的なスプレッドシート(テンプレート)を作成しようとしています。このデータセットでは、取り込まれたデータを勾配/切片値で修正する必要があります。ただし、データが0またはNullの場合は実行されません。です。これは、異なる列のセットポイントを介しreferrencedことができ、「タグ」スロープ&インターセプト値を含むシートにKセル10VBAは列を反復処理し、一致するか一致しない場合に式を適用します。
の値でシート1列Hを言うことができ、列 "のG Sheet1 "には、サーバーから取得したデータが含まれています。簡単にするために、すべての値を10.0にすることができます。ただし、列Gのデータはプロセス条件によって異なる場合があります。
' Declare vars
Dim FirstRow As Integer
Dim LastRow As Integer
Dim Number As Integer
Dim fndStr As String
Dim sht As Worksheet
' Init vars
Set sht = ThisWorkbook.Worksheets("Sheet1")
LineText = ""
Number = 0
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
' Loop through colums till fndStr is found
Do While Not fndStr = "lastWord"
fndStr = Sheets("Sheet1").Range("A1").Offset(0, Number)
Select Case fndStr
Case Var1:
Sheets("Tags").Range("K7").Copy
Sheets("Sheet1").Range("G" & FirstRow & ":G" & LastRow).PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
Sheets("Tags").Range("K6").Copy
Sheets("Sheet1").Range("G" & FirstRow & ":G" & LastRow).PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
Number = Number + 1
Case "lastWord": Exit Do
Case Else: Number = Number + 1
End Select
Loop
いくつかの追加情報、新しいデータを:現在、私はデータをカラムを通過していますし、それが一致したら、それはのような特定の範囲内の元の値に乗算または追加を適用します
以前の、または既存のデータは、データが追加されることを意味するFirstRowおよびLastRow変数であるため、再計算されません。
ありがとうございます!
「ケース選択」が不足しているようですか?それ以外は、あなたの質問は何ですか?セルの内容が '0'または' 'null ''であるかどうかをチェックする方法? – arcadeprecinct
ありがとうございました。私の質問は、その列のデータを調べるときです。セルまたはセルの範囲が「0」または「null」で、処理速度が低下することなく計算を回避するにはどうすればよいですか? – Vanadium
単一のセルの場合は、 'thatcell.Value <> 0なら、そして、そのcell.Value <>" Null "Then ...'を使用してください。範囲については、 "Null"を先に0に置き換え、 'Application.WorksheetFunction.Sum'を使用します(合計が0より大きいかどうかを確認してください)。 – arcadeprecinct