2 kleine Fragen: Tabellenende Auto erkennen, Exel ausblenden?

The Brain

Grünschnabel
hi!

ich hab doch noch zwei kleine Probleme. das Wichtigere:

Ich kann ja nun endlich meine TXT datei (siehe post weiter unten ;)) einlesen. in der Befinden sich daten dich ich nun in ein sheet einlese und auswerte. das problem: diese daten haben ich nicht immer die gleiche länge. es handelt sich um Temperaturdaten von messfühlern. je öfter gemessen wurde bzw länger, des do mehr zeilen sind es. der Anfang ist natürlich immer gleich, jedoch eben das Tabellenende ist immer wo anders. wenn ich nun ein Diagramm erstelle und dieses als makro aufzeichne, wird der ausertungsbereich ja festgelegt z.b. wie jetzt grade "Range("C3:K317")". es gibt doch die möglichkeit dieses erkennen zu lassen wenn keine belegten zellen mehr kommen. ich hab das mal vor 6 Jahren beim fachabi gemacht aber naja... 6 Jahre eben und das feuer nach abschluss hat nichts übrig gelassen ;)

zweit sache:
ich hab mein programm aus excel herraus geschieben. es ist als eine .xls datei und jedes mal wenn ich diese aufrufe sieht man im hintergrund eine tabelle. ist es möglich dieses auszublenden und später dann nur das Digramm einsehen zu können?

wäre klasse wenn einer helfen könnte. hab schon gegooglet usw aber irgendwie find ich nichts.

thanks schonmal für die mühe
 
so, kleinen schritt bin ich weiter:

PHP:
Worksheets("Temperaturen").Activate 
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Activate

durch diesen code springe ich automatisch an die letzte Zelle in meiner Tabelle. jetzt muss ich nur noch wissen wie ich die position dieser zelle irgendwie speicher. bei meinen versuchen wird der inhalt gespeichert, aber nicht die postition...
 
Zum ein und ausblenden geht
Code:
ActiveWindow.SelectedSheets.Visible = False
ganz gut :)

Und ne Range kannst du mit
Code:
Worksheets("Tabelle1").Range(ActiveCell, "A5").Select
z.B. auswählen.
 
ach, er schon wieder ;)

thanks erstmal. das erste funkt soweit gut. zum zweiten jedoch....

PHP:
Private Sub CBDiagramm_Click() 

    Charts.Add 
    ActiveChart.ChartType = xlLine 
    ActiveChart.SetSourceData Source:=Sheets("Temperaturen").Range("C3:K317"), _ 
        PlotBy:=xlColumns 
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:= _ 
        "Diagrammauswertung" 
    With ActiveChart.Axes(xlCategory) 
        .HasMajorGridlines = False 
        .HasMinorGridlines = False 
    End With 
    With ActiveChart.Axes(xlValue) 
        .HasMajorGridlines = False 
        .HasMinorGridlines = False 
    End With 
    ActiveChart.HasLegend = False 
    ActiveChart.HasDataTable = False 
    Sheets("Diagrammauswertung").Select 
End Sub

das is mein code. ich muss nun irgendwie den Range der Aktiven zelle der Tabelle welche ja den schluss makiert, an die stelle
PHP:
ActiveChart.SetSourceData Source:=Sheets("Temperaturen").Range("C3:K317"), _ 
        PlotBy:=xlColumns
bekommen. also der anfang von c3 bleibt, jedoch ist das ende in diesem fall K317 variabel. hierfür muss das aus der aktiven zelle rein. hast ne idee wie ich das anstellen kann?
 
Zuletzt bearbeitet:
Code:
Worksheets("Temperaturen").Activate  
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Activate
Damit kommst du in die letzte gefüllte Zelle

Also sollte
Code:
ActiveChart.SetSourceData Source:=Sheets("Temperaturen").Range(ActiveCell, "C3"), PlotBy:=xlColumns

klappen
 
das obere hab ich ja auch. das unter funkt jedoch nicht. das hab ich auch schon probiert... ich weis nicht was da schief läuft.... er müßte aus der aktiven zelle den zweiten wert nehmen. also an dieser Stelle K317. lüppt aber nicht

Wenn ich mir einfach einen Testbutton mache, und darauf eine MSGbox = ActiveCell setze, wird mir der wert der zelle, aber nicht die pos gegeben. Mache ich jedoch ein ActiveCell.Address, bekomme ich die Zellen benannt in $K$317
 
Zuletzt bearbeitet:
so jungs....

bin fast da.....

Code:
With Sheets("Temperaturen") 
letzteZeile = Range("C3").End(xlDown).row 
    Range("C3:K" & letzteZeile).Activate 
    End With

dadruch makiere ich mir meinen Tabellenberich. nur ein problem: Eagal was ich in
Code:
    ActiveChart.SetSourceData Source:=Sheets("Temperaturen").Range("C3:K317"), _  
        PlotBy:=xlColumns
auch mache. ich bekomm immer eine fehlermeldung. wie komme ich den Aktiven Zellenbreich in den "Range()" oben!!?
 

Neue Beiträge

Zurück