2017-10-12 3 views
-3

Ich versuche eine Excel-Tabelle zu erstellen, so dass Sheet 2 Cell U2 meine Kontrolle ist. Wenn U3 nicht übereinstimmt, möchte ich eine Zeile auf Blatt 1 zwischen Zeile 2 und 3 einfügen und Blatt 1 Zelle I3 (die Neue Zeile) mit der Info aus Blatt 2 Zelle D31 füllen. Ich muss das eigentlich mit mehreren Zellen machen, aber wenn du mich anfängst, kann ich den Rest erledigen.Neue Zeile hinzufügen Transponieren Info

Sub Test() 
 

 
If Sheets("1").Range("D28") <> Sheets("1").Range("I26") Then 
 
End If 
 
If Sheets("1").Range("E28").Value > 0 Then 
 
    Sheets("Month").Rows("3:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
 
    Sheets("Month").Range("I3").Value = Sheets("1").Range("E28").Value 
 
    Sheets("Month").Range("X3").Value = Sheets("1").Range("E27").Value 
 
End If 
 
If Sheets("1").Range("F28").Value > 0 Then 
 
    Sheets("Month").Rows("3:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
 
    Sheets("Month").Range("I3").Value = Sheets("1").Range("F28").Value 
 
    Sheets("Month").Range("X3").Value = Sheets("1").Range("F27").Value 
 
End If 
 
If Sheets("1").Range("G28").Value > 0 Then 
 
    Sheets("Month").Rows("3:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
 
    Sheets("Month").Range("I3").Value = Sheets("1").Range("G28").Value 
 
    Sheets("Month").Range("X3").Value = Sheets("1").Range("G27").Value 
 
End If 
 
If Sheets("1").Range("H28").Value > 0 Then 
 
    Sheets("Month").Rows("3:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
 
    Sheets("Month").Range("I3").Value = Sheets("1").Range("H28").Value 
 
    Sheets("Month").Range("X3").Value = Sheets("1").Range("H27").Value 
 
End If 
 
If Sheets("1").Range("I28").Value > 0 Then 
 
    Sheets("Month").Rows("3:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
 
    Sheets("Month").Range("I3").Value = Sheets("1").Range("I28").Value 
 
    Sheets("Month").Range("X3").Value = Sheets("1").Range("I27").Value 
 
End If 
 
If Sheets("1").Range("J28").Value > 0 Then 
 
    Sheets("Month").Rows("3:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
 
    Sheets("Month").Range("I3").Value = Sheets("1").Range("J28").Value 
 
    Sheets("Month").Range("X3").Value = Sheets("1").Range("J27").Value 
 
    End If 
 
If Sheets("1").Range("K28").Value > 0 Then 
 
    Sheets("Month").Rows("3:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
 
    Sheets("Month").Range("I3").Value = Sheets("1").Range("K28").Value 
 
    Sheets("Month").Range("X3").Value = Sheets("1").Range("K27").Value 
 
End If 
 

 
End Sub

Ich habe es fast vollständig, aber ich bin fest. Das ist mein Code soweit: Was ich jetzt mit Problemen habe, ist, dass ich mehrere Versionen der einen Zeile bekomme. Ich brauche es also, wenn Sheets ("1"). Range ("D28") <> Sheets ("1"). Range ("I26") dann fügt es die Zeile für diese Übereinstimmung nicht hinzu.

Antwort

0

Von dem, was ich von Ihrer Frage verstehe, würde dieser Code die erforderliche Aufgabe erledigen.

sub test() 

If Sheets("Sheet2").Range("U3").Value <> Sheets("Sheet2").Range("U2").Value then 
    Sheets("Sheet1").Rows("3:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
    Sheets("Sheet1").Range("I3").Value = Sheets("Sheet2").Range("D31").Value 
end If 

end sub 

Da jedoch die Frage, die Sie fragen, relativ einfach zu sein scheint, ich gehe davon aus, dass Sie relativ neu in Excel VBA. Ich würde Ihnen dann vorschlagen, beim nächsten Mal ein wenig mit der Record Macro Schaltfläche zu experimentieren, die in der Developper Tab verfügbar ist. Sehen Sie sich den Code an, den Sie erhalten, um Inspirationen zu erhalten.

Und für Dinge, die, wie If-Anweisungen werden nicht aufgezeichnet oder For-Schleife, dann würde ich für einige Tutorials Online-Suche empfehlen, da Sie nicht in der Lage sein werden, wirklich alle Aufgaben zu automatisieren, ohne diese Werkzeuge.

In der Tat haben Sie erwähnt, dass Sie diesen Prozess für ein paar verschiedene Zellen durchführen müssen, was bedeutet, dass eine For-Schleife könnte praktisch sein, durch alle verschiedenen Zellen, die Sie benötigen, gehen.

+0

Vielen Dank SOOOOO viel. es funktioniert perfekt. –

+0

Ich bin froh, dass ich helfen konnte. Glückliche Kodierung! – DecimalTurn