2017-07-24 2 views
1

Bitte, ich mag kopieren mit Bedingungen kopieren:Wie Daten von Zelle einer Vergangenheit es in einer anderen Zelle mit max von caracters und anderen Zustandsdaten einer Zelle in anderen Zellen des gleichen Blattes

  1. der max der zu kopierenden Zeichen sollte 20 sein
  2. Wenn alle Zeichen einer Zelle weniger als 20 sind, muss ich die Zeichen (zum Beispiel 8 Zeichen) und 12 leere Leerzeichen kopieren.

Sie können meinen Code hier

For i = 1 To table1Rows 
    table1(1 + i, 27) = table1(1 + i, 1) & " ; " & table1(1 + i, 2) & " ; " & table1(i + 1, 40) & " ; " & table1(i + 1, 17) & " ; " & Right(table1(i + 1, 4), 20) & " ; " & table1(i + 1, 3) & " ; " & Right(table1(i + 1, 41), 16) & " ; " & Right(table1(i + 1, 42), 12) & " ; " & Right(table1(i + 1, 44), 12) & " ; " & Right(table1(i + 1, 46), 16) & " ; " & table1(i + 1, 47) & " ; " & table1(i + 1, 48) 
Next 
+0

Bitte fügen Sie Code nur als Text als Codeblock formatiert (eingekerbt mit mindestens 4 Leerzeichen), so dass andere Leute können kopieren dieser Code, um es zu testen oder zu beheben. Nimm auch in deine Frage ein, was dein Code eigentlich macht und was du erwartest und wo du stecken geblieben bist oder ob es Fehlermeldungen gibt und wo. –

+0

Hallo, Sie sollten Code in Codebeispiel einfügen, kopieren Sie Ihren Code hier, markieren Sie Ihren Code und drücken Sie (Strg + k) – Keenlearner

+0

Ich habe es geändert. so können Sie jetzt den Code kopieren. Danke –

Antwort

0

Versuchen Sie finden diese:

For i = 1 To table1Rows 
    temp = table1(1 + i, 1) & " ; " & _ 
      table1(1 + i, 2) & " ; " & _ 
      table1(i + 1, 40) & " ; " & _ 
      table1(i + 1, 17) & " ; " & _ 
      Right(table1(i + 1, 4), 20) & " ; " & _ 
      table1(i + 1, 3) & " ; " & _ 
      Right(table1(i + 1, 41), 16) & " ; " & _ 
      Right(table1(i + 1, 42), 12) & " ; " & _ 
      Right(table1(i + 1, 44), 12) & " ; " & _ 
      Right(table1(i + 1, 46), 16) & " ; " & _ 
      table1(i + 1, 47) & " ; " & _ 
      table1(i + 1, 48) 

    ' table1(1 + i, 27) = Left(temp & Space(20), 20) 
    table1(1 + i, 27) = Left(temp & "     ", 20) 'Edited as per comment 
Next 
+0

Sorry, aber der Platz (20) funktioniert nicht, –

+0

Space sollte funktionieren, aber ich habe jetzt eine Alternative hinzugefügt – Sam

+0

Danke, ich habe einen anderen Code gefunden, der funktioniert, auch wenn es nicht funktioniert meiner Zellen –

Verwandte Themen