2015-10-13 38 views
0

我想对齐包含“法国吐司”的列。请参阅截图。有什么办法可以在Excel上做这件事吗?失落的感觉。谢谢!对齐与值匹配的列(截图)

  • 截图更新!

Screenshot-Before-After

+0

(假设屏幕截图中的列为A,B和C) - “after”截图中的列A发生了什么?原文中有“什么是法式炸薯条”,但后截图显示的只是“法式炸薯条” - 我们如何知道何时删除信息。从A列还是不? – BruceWayne

+0

@BruceWayne对不起,我感到困惑。没有东西被删除。这是从我的错误后截图后裁剪。任务是简单地调整单元格以通过文本“法式烤面包”对齐列 –

+0

如果没有任何内容被删除,“后”截图中的“什么”会去哪里?我在第二行看到,你把所有事情都搬了过去。据我了解,但如果“法式烤面包”要移到左边怎么办? A列中的任何“溢出”会发生什么? – BruceWayne

回答

0

正如一个迅速刮起一起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但除此之外,它应该确定最佳的列开始写每个将它们划分到新工作表,以便它不会用完列。

我已经评论过代码,所以它应该有点自我解释。它在列决定数学上有点棘手,但如果你遵循它,你会看到它在做什么。

+0

哈哈,看起来像斯塔尼做出了一个明智的选择寻找法式吐司! – BruceWayne

+0

哈哈谢谢大家!这对于像我这样的初学者是非常有帮助的...我要去研究这个公式的狗屎。:) Yay French Toast。 –

+0

完全与法国吐司!我认为所有的SO问题都应该包含法文吐司 – JNevill