Makro kürzer formulieren
18.08.2005 14:53:22
Robert
Hier ein Makro von mir!
Meine Frage wäre kann ich das Makro auch kürzer formulieren?
Funktionieren tut es einwandfrei, aber es braucht ziemlich viel Speicher.
Gruß Robert
Private Sub ComboBox1_Change()
Dim a
Dim c
Dim d
Dim x
Dim p
Dim b
Worksheets("Abfrage").Unprotect ("viziviz")
Worksheets("Abfrage").Range("A1:G30000").Clear
a = "R:\Arz_Breitsameter\Projekte\Angebote\" + ComboBox1.Value
z = 10
If a = "R:\Arz_Breitsameter\Projekte\Angebote\Kalkulation auswählen" Then
Else
If a = "R:\Arz_Breitsameter\Projekte\Angebote\" Then
Else
Workbooks.Open (a)
b = "Roboter"
'Roboter'
x = 0
y = z
10
Select Case b
Case "Roboter"
y = z
x = 0
p = Round(Workbooks(ComboBox1.Value).Worksheets("Summe").Cells(12, 11) + Workbooks(ComboBox1.Value).Worksheets("Summe").Cells(13, 11), 0)
Case "Roboterzubehoer"
x = 0
Case "Positionierer"
z = z + 2
y = z
x = 0
p = Round(Workbooks(ComboBox1.Value).Worksheets("Summe").Cells(14, 11) + Workbooks(ComboBox1.Value).Worksheets("Summe").Cells(15, 11), 0)
Case "externeAchsen"
x = 0
Case "Applikationen"
z = z + 2
y = z
x = 0
p = Round(Workbooks(ComboBox1.Value).Worksheets("Summe").Cells(16, 11), 0)
Case "Anpasssteuerung"
z = z + 2
y = z
x = 0
p = Round(Workbooks(ComboBox1.Value).Worksheets("Summe").Cells(17, 11), 0)
Case "Sicherheit"
z = z + 2
y = z
x = 0
p = Round(Workbooks(ComboBox1.Value).Worksheets("Summe").Cells(18, 11), 0)
Case "Dienstleistungen"
z = z + 2
y = z
x = 0
p = Round(Workbooks(ComboBox1.Value).Worksheets("Summe").Cells(19, 11), 0)
End Select
Do
x = x + 1
c = Workbooks(ComboBox1.Value).Worksheets(b).Cells(x, 2).Value2
d = Workbooks(ComboBox1.Value).Worksheets(b).Cells(x, 3).Value2
If c > 0 Then
If c <> "X" Then
If c <> "x" Then
If c <> "An- zahl" Then
If y = z Then
Cells(z, 2) = b
Cells(z, 2).Font.Bold = True
Cells(z, 4) = p
Cells(z, 4).Style = "Currency"
Cells(z, 4).Font.Bold = True
End If
z = z + 1
Cells(z, 1) = c & " Stück"
Cells(z, 2) = d
End If
End If
End If
End If
Loop While x <= 10000
Select Case b
Case "Roboter"
b = "Positionierer"
GoTo 10
Case "Positionierer"
b = "externeAchsen"
GoTo 10
Case "externeAchsen"
b = "Applikationen"
GoTo 10
Case "Applikationen"
b = "Anpasssteuerung"
GoTo 10
Case "Anpasssteuerung"
b = "Sicherheit"
GoTo 10
Case "Sicherheit"
b = "Dienstleistungen"
GoTo 10
Case "Dienstleistungen"
End Select
Workbooks(ComboBox1.Value).Close SaveChanges:=False
End If
End If
Cells(3, 3) = z
Worksheets("Abfrage").Protect ("viziviz")
End Sub