Ich möchte einen Bereich in Sheet1 Bereich A1: A100, wo in jeder Zelle mit Wert wie "Animal", "Plant", "Rock" und "Sand" gefüllt werden. Dann möchte ich einfügen in Sheet2 Bereich B1: B100 mit Bedingungen, wenn der Wert im Bereich A1: A100 ist "Animal" einfügen mit "1", wenn der Wert "Plant" einfügen mit "2", ect.VBA - Excel Kopieren und Einfügen Bereich mit Kriterien
Wie schreibe ich den VBA-Code? Mit einfacher und reduzierter Speichernutzung. Mein Code:
Sub copyrange()
Dim i As Long
Dim lRw As Long
Dim lRw_2 As Long
Application.ScreenUpdating = False
lRw = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row
ThisWorkbook.Sheets("Sheet1").Activate
For i = 1 To lRw
Range("A" & i).Copy
lRw_2 = Sheets("Sheet2").Cells(Rows.Count, "B").End(xlUp).Row + 1
Sheets("Sheet1").Activate
'I not sure for this one, the code is too long
Select Case ThisWorkbook.Sheets("sheet1").Range("A" & i).Value
Case "Animal"
With Sheets("Sheet2").Range("B" & lRw_2)
.Value = 1
End With
Case "Plant"
With Sheets("Sheet2").Range("B" & lRw_2)
.Value = 2
End With
Case "Rock"
With Sheets("Sheet2").Range("B" & lRw_2)
.Value = 3
End With
Case "Sand"
With Sheets("Sheet2").Range("B" & lRw_2)
.Value = 4
End With
End Select
Sheets("Sheet1").Activate
Next i
Application.ScreenUpdating = True
End Sub
Vielen Dank im Voraus.
Bitte zeigen Sie, was Sie versucht haben. – YowE3K
Welches Problem haben Sie? Verursacht der obige Code einen Fehler? Wenn ja, welcher Fehler und auf welcher Codezeile? Wenn es keine Fehler enthält und Sie einfach einen Rat zur Verbesserung des Codes wünschen, sollte diese Frage in Code Review migriert werden. – puzzlepiece87
Der obige Code gibt mir keinen Fehler..du hast Recht ... Ich möchte den Code verbessern. Vielleicht könnte mir jemand die gleichen Dinge mit einfachem Code geben. Ich denke nur, wenn die Reichweite mit vielen Daten, dh 2.000 Zellen oder mehr? Ich bin sicher, dass mein Excel kann langsam arbeiten .. Haben Sie einen Tipp ..? –