Thema Datum  Von Nutzer Rating
Antwort
Rot .Match() - Function
27.09.2019 08:40:50 VBA-Rookie
NotSolved
27.09.2019 08:53:44 Mase
NotSolved
27.09.2019 09:47:21 VBA_Rookie
NotSolved
27.09.2019 09:57:24 Mase
NotSolved
27.09.2019 22:29:49 VBA-Rookie
NotSolved

Ansicht des Beitrags:
Von:
VBA-Rookie
Datum:
27.09.2019 08:40:50
Views:
803
Rating: Antwort:
  Ja
Thema:
.Match() - Function

Hallo zusammen, 

 

ich versuche gerade ein kleines VBA zu schreiben, dass Grafiken nach automatischem Abfragen von Daten auf Websites aktualisiert. 

Dazu habe ich eine Tabelle, die automatisch aktualisiert und erweitert wird, sobald neue Daten vorhanden sind. 

Ich suche mir für die jeweilige Grafik mittels .Match, die benötigte Spalte. 

    Dim blatt As String
    Dim myChart As ChartObject
    Dim sText As String
    Dim iCol As Integer
    blatt = "DATEN"
    

    For Each myChart In Sheets(blatt).ChartObjects
        
        myChart.Activate
        sText = myChart.Name
        
        iCol = Application.WorksheetFunction.Match(sText, Cells(1, 1).EntireRow, False)
        ActiveChart.FullSeriesCollection(1).Values = Worksheets(blatt).Range(Cells(2, iCol), Cells(Sheets(blatt).UsedRange.Rows.Count, iCol))
        ActiveChart.FullSeriesCollection(1).XValues = "=" & blatt & "!$A$2" & ":$A$" & Sheets(blatt).UsedRange.Rows.Count
        
        Next myChart

 

Funktioniert auch so. Vielleicht ist es nicht der eleganteste Weg, da ich mich in VBA aber wirklich gar nicht auskenne bin ich froh, dass es so funktioniert :-D

Nun werden die Daten immer mehr und ich möchte die Grafiken in andere Worksheets auslagern. Leider habe ich keine Lösung gefunden, 

wie ich mein Marko anpassen könnte. Angenommen die Werte stehen in einem Worksheet namens "DATEN" und die Grafiken sollen in ein Blatt mit dem Titel "GRAPH". 

Ist es irgendwie möglich obiges Makro anzupassen?

Nach meinem Verständnis müsste man nur die Zeilen beginnend mit iCol und ActiveChart anpassen?

Wobei das größte Problem das Matching wäre. Die beiden anderen sind lediglich zum auslesen der Werte zuständig. 

 

Kann mir hier jemand weiterhelfen? Oder geht es schlicht nicht? Meine Vermutung (wie gesagt: ohne Vorkenntnisse): WorksheetFunction kann man nur in einem Arbeitsblatt verwenden? Gibt es eine Alternative?

 

Viele Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot .Match() - Function
27.09.2019 08:40:50 VBA-Rookie
NotSolved
27.09.2019 08:53:44 Mase
NotSolved
27.09.2019 09:47:21 VBA_Rookie
NotSolved
27.09.2019 09:57:24 Mase
NotSolved
27.09.2019 22:29:49 VBA-Rookie
NotSolved