Hallo ich bin ein absoluter Anfänger in VB und wollte ein Makro schreiben das meine Daten sortiert. Das geht auch alles so wie ich will nur eins gefällt mir noch nicht und zwar wechselt er mir immer die Arbeitsblätter da ich sie ja aktivieren muss damit ich Daten kopieren kann. Und jetzt meine Frage kann Zellen in einem Arbeitsblatt bearbeiten lassen ohne das es aktiviert ist?
Es soll die ganze Zeit das Arbeitsblatt „Tabelle1“ sichtbar sein
Hier ein Auszug:
Sub Makro9()
Sheets(„Tabelle2“).Select
For i = 2 To 256
If Cells(5, i) = Cells(1, 4) Then
For k = i To 256
If Cells(5, k) = „Summe“ Then
For j = 1 To 5000
If Cells(j, 1) = „Gesamtergebnis“ Then
Range(Cells(6, i), Cells(6, k - 1)).Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlTop
.WrapText = False
.Orientation = -90
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range(Cells(5, i), Cells(j, k)).Select
Selection.Copy
Sheets(„Tabelle1“).Select
Cells(3, 2).Select
ActiveSheet.Paste
Exit For
End If
Next
Exit For
End If
Next
Hi,
klar geht das:
Also ohne dieses Scheiß-Select ist es doch viel einfacher.
Ungetestet, hoffe aber, dass es funzt.
Gruß.Timo
Sub Makro9()
Dim ws as Worksheet
Set ws = Worksheets(„Tabelle2“)
Sheets(„Tabelle2“).Select
For i = 2 To 256
If ws.Cells(5, i) = ws.Cells(1, 4) Then
For k = i To 256
If ws.Cells(5, k) = „Summe“ Then
For j = 1 To 5000
If ws.Cells(j, 1) = „Gesamtergebnis“ Then
With ws.Range(ws.Cells(6, i), ws.Cells(6, k - 1))
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlTop
.WrapText = False
.Orientation = -90
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Aplication.Screenupdating = false;
bla bla
Sheets(„dasErste“).select
Aplication.Screenupdating = true;
Damit werden halt die Selects nicht sichtbar und es geht schneller. Besser ist aber, wie schon gepostet, auf selects zu verzichten. Trotzdem kann es sinnvoll sein, das ScreenUpdating auszuschalten, da es (mich ) nervt zuzusehen, wie sich etwas in den Sheets verändert und es ist schneller.