回答
正如一个迅速刮起一起VBA函数,你可以使用:
Sub frenchToast()
Dim rngData As Range, rngRow As Range, rngFound As Range
Dim frenchCol As Integer, startCol As Integer, writeCol As Integer, totalCols As Integer
'This is the range containing your french toast phrases
Set rngData = Sheet1.Range("A1:D5")
'get the total number of columns from this range. We will use to determine how
' far out we need to make the "French toast" column on sheet2
totalCol = rngData.Columns.Count
'Loop through each row in the range
For Each rngRow In rngData.Rows
'Where's my french toast?
Set rngFound = rngRow.Find("French Toast")
'only continue if you found some french toast
If Not (rngFound Is Nothing) Then
'Determine which column the french toast is in
frenchCol = rngFound.Column - rngRow.Cells(1).Column + 1
'determine which column we need to start writing the sentence
' for this row
startCol = (totalCol + 1) - frenchCol
'Loop through the columns in this sentence and write them out
' to sheet2
For writeCol = startCol To totalCol + 5
Sheet2.Cells(rngRow.Row, writeCol).Value = rngRow.Cells(1, writeCol - startCol + 1).Value
Next
End If
Next rngRow
End Sub
我通常不会去完全写这个的麻烦,因为它不是真正的但是我喜欢French Toast,如何在新纪录中创造价值观的问题很有意思,特别是当你考虑到你必须将它写入一个新的范围以适应变化的开始和职位作为记录。
无论如何,你必须改变Set rngData = Sheet1.Range("A1:D5")
线,以适应你的数据,你可能要更改接近底部位在那里将其写入sheet2
但除此之外,它应该确定最佳的列开始写每个将它们划分到新工作表,以便它不会用完列。
我已经评论过代码,所以它应该有点自我解释。它在列决定数学上有点棘手,但如果你遵循它,你会看到它在做什么。
哈哈,看起来像斯塔尼做出了一个明智的选择寻找法式吐司! – BruceWayne
哈哈谢谢大家!这对于像我这样的初学者是非常有帮助的...我要去研究这个公式的狗屎。:) Yay French Toast。 –
完全与法国吐司!我认为所有的SO问题都应该包含法文吐司 – JNevill
- 1. 表列对齐与表头不匹配
- 2. 对齐行以匹配列
- 3. 匹配值与列表
- 4. 如何匹配和对齐列A,B与C&d
- 5. 匹配值与值dataframes一列
- 6. 如何删除匹配的值与Char_length匹配时的列
- 7. 如何对列值与列间匹配进行求和?
- 8. Perl中的字符串对齐/匹配对齐
- 9. 根据与另一个DataFrame的列值匹配的列值对子集SparkR DataFrame
- 10. 对象值与休眠表中的表列不匹配
- 11. MySQL与多个值匹配反对
- 12. 对匹配值YYYYMM
- 13. 匹配相对值
- 14. 列数与行数不匹配。如何匹配值
- 15. 将列值与字符串匹配
- 16. 列计数与值计数不匹配
- 17. 如何对齐在Excel中包含匹配字符串的列?
- 18. 在EXCEL中对齐两个部分匹配的列
- 19. 匹配输入与排列对
- 20. 跨列匹配值
- 21. 与emacs中的列对齐?
- 22. mysql查找与匹配值不匹配的匹配键
- 23. MYSQL select列值与同一列中的另一个值匹配
- 24. Bootstrap 2列垂直对齐+ 1图像对齐左对齐+ 1图像对齐
- 25. 与键匹配的值
- 26. 如何将值与给定的对齐值对齐
- 27. 与匹配的列名
- 28. 列表中值的匹配
- 29. 列中的图像对齐
- 30. 如果列值与给定值相匹配时的回退值
(假设屏幕截图中的列为A,B和C) - “after”截图中的列A发生了什么?原文中有“什么是法式炸薯条”,但后截图显示的只是“法式炸薯条” - 我们如何知道何时删除信息。从A列还是不? – BruceWayne
@BruceWayne对不起,我感到困惑。没有东西被删除。这是从我的错误后截图后裁剪。任务是简单地调整单元格以通过文本“法式烤面包”对齐列 –
如果没有任何内容被删除,“后”截图中的“什么”会去哪里?我在第二行看到,你把所有事情都搬了过去。据我了解,但如果“法式烤面包”要移到左边怎么办? A列中的任何“溢出”会发生什么? – BruceWayne