2013-10-08 90 views
0

我有列A到F的動態長度的列表(從第1行開始)我需要做一個代碼,讓這個列表打印在彈出窗口中。我不希望它打印在另一張紙上,這張清單所在的紙張非常隱蔽。我需要儘量減少複製這些數字,爲什麼我不希望它在另一張紙上。彈出打印動態列表

問題是因爲我說這個列表是動態長度。所以我會有這樣的:

msgbox(upf.cells(1,1) & " " & upf.cells(1,2) & " " & upf.cells(1,3) & " " & upf.cells(1,4) _ 
     upf.cells(2,1) & " " & upf.cells(2,2) & " " & upf.cells(2,3) & " " & upf.cells(2,4) _ 
     ... up to row lr) 

我怎麼能寫這個在某種類型的i = 1到lr循環?

謝謝!

回答

0

作爲一個基本的例子...

Sub tgr() 

    Dim upf As Range 
    Dim cIndex As Long 
    Dim rIndex As Long 
    Dim sMsg As String 

    Set upf = Range("A1", Cells(Rows.Count, "F").End(xlUp)) 

    For rIndex = 1 To upf.Rows.Count 
     For cIndex = 1 To upf.Columns.Count 
      sMsg = sMsg & " " & upf.Cells(rIndex, cIndex) 
     Next cIndex 
    Next rIndex 

    MsgBox Mid(sMsg, 2) 

End Sub 
+0

這工作,但產生了另一個問題:字符串超載和一些項目在字符串的結尾失蹤。有沒有加載字符串的方式,所以它不填充或matbe使它在2個字符串? – user2385809

+0

實際上我意識到它不是太小的字符串;這是消息框。它不足以包含所有的文本。其他解決方案? – user2385809

+0

該代碼旨在成爲一個起點。您可以將該字符串輸出到文本文件,或者將工作表中的單元格分開,或者您想要的。 – tigeravatar