2016-07-13 6 views
-1

Ich will das Ende der Spalte B und C zum Kopieren in Arbeitsblatt 1 Um Spalte B und C in Arbeitsblatt 2eine Bedingung, wenn es sa bestimmter Text

Ich habe dies: Worksheet1

und dies ist oben: above

Und hier ist der Code

'Copy of "Maintenances" in worksheet 2 
 
       n = 58 'start to look row 58 
 
       j = 2 'copy in row 2 in worksheet 2 
 
       Sheets("1").Select 'select sheet 1 
 
       
 
       Do While Cells(n, 1) <> "x" 'do for each cells untill there is a "x" in column A      
 
        If Cells(n, 1) <> "x" Then 'if column A is empty, then :      
 
         Sheets("2").Cells(j, 2) = Sheets("1").Cells(n, 2) '        
 
Sheets("2").Cells(j, 3) = Sheets("1").Cells(n, 3) '        
 
j = j + 1 
 
        End If 'fin du if 
 
         n = n + 1 
 
       Loop 'retourne au do while

Ich möchte alle Zeile unter "Wartung" in Arbeitsblatt 2 kopieren, aber die Zeile "Wartung" kann sich ändern. Das Problem ist nicht, wenn die Zeile endet, sondern wenn sie beginnt. In meinem Code kopiert es Spalte B und C zwischen 58 und wenn es ein "x" in Spalte 1 gibt. Aber ich möchte, dass die Kopie beginnt, wenn in Spalte B seine "Wartung"

+0

Können Sie Ihre Daten oder das Bild davon zu Ihrer Frage hinzufügen? –

+0

pls siehe Bearbeiten – babou

+0

Verweisen Sie auf Ihr Bild, gibt es noch andere Daten über 'Cells (56,1)'? –

Antwort

1

Wenn ich Ihre Frage richtig verstehe, Dann können Sie n = 58 'start to look row 58 durch den folgenden Code ersetzen, um den Wert der Variablen n als Startzeile zu bestimmen.

Dim WordToFind As String, FirstWord As String 
Dim FindWord 

WordToFind = "Maintenance" 
    With Sheets("1").Range("A:C") 
     Set FindWord = .Find(what:=WordToFind, SearchDirection:=xlNext) 

     If Not FindWord Is Nothing Then 
      FirstWord = FindWord.Row 
      Do 
       n = FindWord.Row + 1 'The value of n start from the row below "Maintenance" 
       Exit Do 
      Loop While Not FindWord Is Nothing And FindWord.Row <> FirstWord 
     Else 
      MsgBox "There is no word " & WordToFind 
     Exit Sub 
     End If 
    End With 

können Sie ändern den Wert für WordToFind abhängig von einem Wort oder einer Zeichenfolge, die Sie suchen.

+0

Ich möchte alle Zeilen unter "Wartung" kopieren, ABER die Zeile "Wartung" kann sich ändern. die PB ist nicht, wenn die Zeile endet, aber wenn es beginnt. In meinem Code, kopiert es die Spalte B und C zwischen 58 und wenn es ein „x“ in der Spalte 1 ist, aber ich mag, dass die Kopie beginnen, wenn in Spalte B seine „Wartung“ – babou

+0

@babou Wahrheit zu sagen, finde ich hart um zu verstehen, was du willst. Können Sie Ihre Frage formulieren, um Ihre Anfrage zu übermitteln? Und was ist ** pb **? Wo möchten Sie die kopierten Daten einfügen? –

+0

hier ist die Bearbeitung – babou

Verwandte Themen