我有一个问卷表,其中对于每个问题(每行一个问题(;x〃;可以在列C到F中设置,它们中的每一个指示不同的答案(C=最差,F=最好(。在L至O列的表格右侧是句子,每个句子都根据左侧列中的答案
如果存在一个";x〃;在一个单元格中,我希望将右侧的相应句子复制到另一个名为"工作表"的工作表中;文本框";,基本上允许我创建一个工作表,其中包含问卷答案中的所有句子。
整个表格如下:删除的图像
右边的句子是左边每个答案右边的8列,这意味着如果X在C列(最差答案(,则要复制的句子是右边的9列,在L列。如果X在D列,则将复制单元格右边9列(M列(的句子,依此类推
我已经写了这个代码。
Option Explicit
Dim cell As range
Dim range As range
Dim Workbook As Worksheet
Sub Textboxes()
'New Worksheet
Sheets.Add
'Change Name
ActiveSheet.Name = "Textboxes"
Set range = Sheets("Questionnaire1").range("C11:F113") 'C11:F13 is the range where the answers/X's could be in
For Each cell In range
If cell.Value = "x" Then
ActiveCell.Offset(0, 9).Activate
ActiveCell.Copy (Sheets("Textboxes").range("A1"))
End If
Next cell
End Sub
想法/期望的行为是:
- 循环浏览表格
- 如果Cell有一个";x〃;向右移动9个单元格以找到所需的句子
- 将该单元格中的句子复制到工作表中";文本框";。(理想情况下,A1中的第一句,A2中的第二句
"范围";是VBA单词,因此不能将其用作变量。试着给一些其他的名字,例如range_1而不是range。并使用细胞变量代替活性细胞
cell.Offset(0, 9).Activate