我对VBA编码很新。我在excel中有两张。
表1 - 列包括CTC,TCC(A1,B1) 行包含ctc和tcc详细信息(A2,B2)
表2 - 行包括CTC和TCC。 TCC计算的是此页面中的内容。 B1的CTC取自第一行的第1行。然后进行计算以计算B3中的TCC。
要求: 为了计算TCC,我们需要将第1张CTC粘贴到第2张CTC色谱柱中。得到的结果TCC应出现在TCC色谱柱下的第1页。
这是我尝试过的代码:
Sub Button1_Click()
Dim value1 As Integer
Dim value2 As Integer
For i = 1 To 6
value1 = ThisWorkbook.Sheets(1).Range("Ai").Value
Sheet2.Range("B1") = value1
Sheet1.Cells(B, i) = ThisWorkbook.Sheets(2).Range("B3").Value
Next i
End Sub
答案 0 :(得分:0)
我觉得这段代码就是你想要的。 如果与您的预期不同,请告诉我。
Sub Button1_Click()
Dim value1 As Integer
Dim value2 As Integer
For i = 1 To 6
value1 = ThisWorkbook.Sheets(1).Range("A" & i).Value ' we can't make Range("Ai").Value
Sheet2.Range("B1").Value = value1
Sheet1.Cells(i, Range("B1").Column).Value = Sheet2.Range("B3").Value 'Cells(row, columns), that is the correct format for cells
Next i
End Sub
答案 1 :(得分:0)
听起来你想要以下代码:
Sub Button1_Click()
Dim i As Long
For i = 1 To 6
ThisWorkbook.WorkSheets("Sheet 2").Range("B1").Value = ThisWorkbook.WorkSheets("Sheet 1").Cells(i, "A").Value
ThisWorkbook.WorkSheets("Sheet 1").Cells(i, "B").Value = ThisWorkbook.WorkSheets("Sheet 2").Range("B3").Value
Next i
End Sub
我使用过表格"表1和#34;和"表2",因为这就是你的问题。如果您的工作表实际被称为" Sheet1"和" Sheet2"。
如果不知道您的工作表使用哪个CodeName
以及它们在工作簿中出现的顺序,很难知道您有多接近。但是您使用Range("Ai")
肯定是错误的 - 它必须是Range("A" & i)
或Cells(i, "A")
(或Cells(i, 1)
)。
更新以处理工作表A列中的所有值"表1":
Sub Button1_Click()
Dim i As Long
With ThisWorkbook.WorkSheets("Sheet 1")
For i = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row
'Check so that we only process non-empty cells
'(just in case there is an empty cell part-way through the data)
If Not IsEmpty(.Cells(i, "A").Value) Then
ThisWorkbook.WorkSheets("Sheet 2").Range("B1").Value = .Cells(i, "A").Value
.Cells(i, "B").Value = ThisWorkbook.WorkSheets("Sheet 2").Range("B3").Value
End If
Next i
End With
End Sub