2016-03-29 8 views
0

Ich versuche, eine Do While-Schleife zum Verketten dreier Spalten in Sheet2 auf eine neue Spalte von Sheet2 meiner Arbeitsmappe zu führen, denke ich, wie ich meine zweite Arbeitsblatt referenziert Wenn ich diesen Code auf dem ersten Blatt lese, bekomme ich positive Ergebnisse, jede Hilfe wäre sehr willkommen.Laufende Schleife auf dem zweiten Blatt in Excel-Arbeitsmappe mit VBA

ActiveWorkbook.Worksheets("Sheet2").Activate 

Dim noSep As String 
noSep = "" 

Cells(1, 3) = col1 
Cells(1, 30) = col2 
Cells(1, 32) = col3 
Cells(1, 63) = colconcatenated 

x = 2 

Do While Worksheets("Sheet2").Cells(x, col1) <> "" 
Cells(x, coloncatenated) = Cells(x, col1) & noSep & Cells(x, col2) & noSep & Cells(x, col3) 
x = x + 1 
Loop 
Columns("BK:BK").EntireColumn.AutoFit 

Antwort

1

Es ist schwer, aus Ihrer Frage zu sagen, aber in der Regel, wenn Sie zu einem Zeitpunkt mit mehr als einem Blatt arbeiten, sollen Sie alle Ihre Verweise auf Zellen/Bereiche auf diesen Blätter qualifizieren zu spezifizieren, das Blatt Du arbeitest mit.

Andernfalls wird Excel versuchen, basierend darauf, welches Blatt aktiv ist, zu raten, was in Ihrem obigen Code Sheet2 ist. (. Die ActiveWorkbook.Worksheets („Tabelle2“) Aktivieren Sie an der Spitze es als Active setzt) ​​

So zum Beispiel, eine Zelle auf Blatt zu referenzieren 1:

Worksheets("Sheet1").Cells(1,3) = col1 

Alternativ können Sie eine Dim paar Variablen auf die zwei Blätter beziehen, die den Code leichter lesbar machen könnten:

Dim shtA as Worksheet 
Dim shtB As Worksheet 

Set shtA = Sheets("Sheet1") 
Set shtB = Sheets("Sheet2") 

shtA.Cells(1, 3) = col1 

Hoffe, dass hilft!

+0

Ich werde jetzt damit spielen, danke! – 1up

0

Ich musste es im Grunde neu aufbauen und zerstören den ganzen Junked-Code von einem früheren Entwickler. Wenn ich neu angefangen habe, habe ich das Problem gelöst, indem ich das Blatt spezifiziert habe, mit dem ich arbeiten soll, wenn es nicht das aktive Arbeitsblatt ist. Mein Makro funktioniert einwandfrei.

Danke Leowyn für den Vorsprung.

Verwandte Themen