Hallo,
Also ich habe ein paar Fragen.
1. Ist es möglich das ich die ganze Zeile 5 ignoriere, wenn in der Zelle A5 ein bestimmtes Wort steht? Wenn ja wie sieht der Code dazu aus.
2. ich habe folgenden Code:
Sub Berechnen()
Dim MaxZeile As Long
Dim i As Long
Dim map1 As Worksheet
Set map1 = Worksheets(1)
MaxZeile = map1.UsedRange.Rows.Count ' Anzahl der Zeilen im Worksheet ermitteln
' Erstmal den Inhalt In den betreffende Ziel-Zellen (Spalte F & G) löschen.
' Sonst steht da ev. noch was drin, wenn Programmabbruchbedingung
' "steht nichtst In Spalte B" zutreffend ist
map1.Range(map1.Cells(1, 20), map1.Cells(MaxZeile, 20)) = ""
map1.Range(map1.Cells(1, 21), map1.Cells(MaxZeile, 21)) = ""
ThisWorkbook.Worksheets.Add after:=Sheets(Sheets.Count) 'Neues Worksheet erstellen
Set map2 = ThisWorkbook
For i = 2 To MaxZeile ' Start auf Zeile 2
If map1.Cells(i, 2).Text <> "" Then
' steht irgendwas auf (Zeile_i, Spalte_2) ? dann mache was
map1.Cells(3, 20) = map1.Cells(3, 2) - map1.Cells(2, 2) + 1
map1.Cells(3, 21) = map1.Cells(3, 3)
If map1.Cells(i, 2).Text <> "" Then
'berechne auf (Zeile_i, Spalte 20)
map1.Cells(i + 1, 20) = map1.Cells(i, 20) + map1.Cells(i, 3)
'berechne auf (Zeile i, Spalte_11)
map1.Cells(i + 1, 21) = map1.Cells(i + 1, 3)
Else
Exit Sub
End If
Else
Exit Sub
End If
Next i
End Sub
Wie man ein neues Worksheet erstellt das ist mir eigentlich klar. Ich will aber auch noch das er die Berechnungen. Eine davon ist z.B:
map1.Cells(i +1, 20) = map1.Cells(i,20) + map1.Cells(i, 3) (Also überall wo Spalte 20 und 21 steht) in dem neuen Worksheet speichert. Also auf das neue Worksheet zugreift. So wie ich es jetzt habe speichert er mir es im Worksheet 1 und spalte 20,21.
Kann mir jemand sagen, was ich ändern muss in meinem Code. Oder könnt ihr es mir verbesser?
LG
sailer |