Anzeige
Archiv - Navigation
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
644to648
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

sheet überschreiben

sheet überschreiben
04.08.2005 15:41:34
S.Engelken
hallo,
hätte noch ne kleine frage.
hab ein macro gebaut - besser...recorded ;-) das mir bei
klick auf nen button eine tabelle in einem neuen sheet erzeugt.
wenn diese tabelle allerdings schon besteht und ich klicke
in zweites mal auf den button bekommen ich einen "laufzeitfehler"
kann mir jemand sagen wie es funktioniert dass das sheet dann einfach
überschrieben wird mit der neuen tabelle?
gruß
sebastian

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sheet überschreiben
04.08.2005 15:44:37
Unbekannter
Zeige mal das Makro.
AW: sheet überschreiben
04.08.2005 15:46:57
S.Engelken
so siehts aus:

Sub RankingGesamt()
Sheets("Start").Select
Range("G53:M57").Select
Selection.Sort Key1:=Range("M57"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("G53:L57").Select
Charts.Add
ActiveChart.ChartType = xlColumnStacked
ActiveChart.SetSourceData Source:=Sheets("Start").Range("G53:L57"), PlotBy _
:=xlColumns
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=Start!R53C7:R57C7"
ActiveChart.SeriesCollection(1).Values = "=Start!R53C12:R57C12"
ActiveChart.SeriesCollection(1).Name = "=Start!R52C12"
ActiveChart.SeriesCollection(2).XValues = "=Start!R53C7:R57C7"
ActiveChart.SeriesCollection(2).Values = "=Start!R53C11:R57C11"
ActiveChart.SeriesCollection(2).Name = "=Start!R52C11"
ActiveChart.SeriesCollection(3).XValues = "=Start!R53C7:R57C7"
ActiveChart.SeriesCollection(3).Values = "=Start!R53C10:R57C10"
ActiveChart.SeriesCollection(3).Name = "=Start!R52C10"
ActiveChart.SeriesCollection(4).XValues = "=Start!R53C7:R57C7"
ActiveChart.SeriesCollection(4).Values = "=Start!R53C9:R57C9"
ActiveChart.SeriesCollection(4).Name = "=Start!R52C9"
ActiveChart.SeriesCollection(5).XValues = "=Start!R53C7:R57C7"
ActiveChart.SeriesCollection(5).Values = "=Start!R53C8:R57C8"
ActiveChart.SeriesCollection(5).Name = "=Start!R52C8"
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="RankingGesamt"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Ranking: Gesamt"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Häufigkeit"
End With
ActiveChart.Axes(xlValue).MajorGridlines.Select
With Selection.Border
.ColorIndex = 57
.Weight = xlHairline
.LineStyle = xlDot
End With
With ActiveChart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnit = 4
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
End With
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 57
.Weight = xlThin
.LineStyle = xlContinuous
End With
With Selection.Interior
.ColorIndex = 2
.PatternColorIndex = 52
.Pattern = xlSolid
End With
ActiveChart.ChartArea.Select
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
Selection.Shadow = False
Selection.Fill.OneColorGradient Style:=msoGradientVertical, Variant:=1, _
Degree:=1
With Selection
.Fill.Visible = True
.Fill.ForeColor.SchemeColor = 51
End With
ActiveChart.SeriesCollection(5).Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlAutomatic
End With
Selection.Shadow = False
Selection.InvertIfNegative = False
With Selection.Interior
.ColorIndex = 12
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(4).Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlAutomatic
End With
Selection.Shadow = False
Selection.InvertIfNegative = False
With Selection.Interior
.ColorIndex = 10
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(3).Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlAutomatic
End With
Selection.Shadow = False
Selection.InvertIfNegative = False
With Selection.Interior
.ColorIndex = 51
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(2).Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlAutomatic
End With
Selection.Shadow = False
Selection.InvertIfNegative = False
With Selection.Interior
.ColorIndex = 46
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(1).Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlAutomatic
End With
Selection.Shadow = False
Selection.InvertIfNegative = False
With Selection.Interior
.ColorIndex = 14
.Pattern = xlSolid
End With
Sheets("Start").Select
End Sub

gruß
Anzeige
AW: sheet überschreiben
04.08.2005 16:04:31
Unbekannter
Ne Danke, ich hasse den Makrorecorder, da steht 70% Müll drin und ich habe gleich Schluss und keine Zeit mehr mich da durch zu hangeln.Da muss jemand anders ran,sorry
AW: sheet überschreiben
04.08.2005 16:12:05
S.Engelken
hi
ja stimmt schon, is ziemlich lang ;-)
hat aber doch wahrscheinlich mit der zeile hier zutun:
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="RankingGesamt"
bräuchte sowas im sinne von:
wenn das sheet schon existiert dann halt überschreiben
dann schönen abend noch. vielleicht hat ja jemand anders noch ne idee
gruß
sebastian
AW: sheet überschreiben
04.08.2005 16:18:52
eres
Hai Sebastian, schau mal hier http://xlforum.herber.de/messages/455868.html
musst hier nur die MessageBox durch Löschen ersetzen.
Gruss
eres
Anzeige
AW: sheet überschreiben
04.08.2005 16:29:51
S.Engelken
hi
danke erstmal für den link
hab leider nich so wirklich ahnung welcher teil jetzt für was steht
hier nochmal die formal:

Sub pruef
strWks = Application.InputBox("RankingGesamt")
If pruef(strWks) Then
MsgBox strWks & "ist vorhanden"
Else
MsgBox strWks & "ist nicht vorhanden"
End If
End Sub


Function pruef(strNam As String) As Boolean
Dim wks As Worksheet
pruef = False
For Each wks In ActiveWorkbook.Worksheets
If wks.nmae = strNam Then
pruef = True
Exit Function
End If
Next
End Function

den namen vom sheet habe ich eingefügt ;-)
und was muss raus und wo delete rein?
danke für die hilfe
gruß
Anzeige
AW: sheet überschreiben
04.08.2005 16:36:04
eres
Der zweite Block bleibt unverändert, der erste sieht so aus:
strWks = Application.InputBox("RankingGesamt")
If pruef(strWks) Then
Application.displayalerts = false
Sheets(("RankingGesamt").delete
Application.displayalerts = true
End If
Gruss
eres
AW: sheet überschreiben
04.08.2005 16:30:43
Niels
Kannst ja am Anfang abfragen ob es die Tabelle schon gibt und zwar wie folgt:
Sub RankingGesamt()
'
Sheets("Start").Select
Application.ScreenUpdating = False
For a = 1 To Sheets.Count
If Sheets(a).Name = "RankingGesamt" Then Sheets(a).Delete: Exit For
Next
Application.ScreenUpdating = True
Gruß Niels
Anzeige
AW: sheet überschreiben
04.08.2005 16:35:49
S.Engelken
hi
super! funzt!
danke dir Niels----hast mich mal wieda gerettet ;-)
thx
gruß
sebastian

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige