VBA: Exceltabellen einlesen und Wert(e) an letzte Zeile schreiben - Graph aus Daten
#1
Servus zusammen :)

ich hab direkt mal mehrere Fragen, da ich seit Tagen probiere und min Chef mich bald rund macht :D

Ich bin ein Einsteiger in Excel-VBA und soll folgendes programmieren:

- Ich soll verschiedene Exceldateien einlesen welche sich immer im selben Format befinden
(Falls möglich soll es eine Auswahlliste geben, in der gleichzeitig mehrere eingelesen werden können)
--> in meinem Code lese ich bis jetzt nur eine ein und das Verzeichnis passt auch noch nicht, da ich gerne ab einem bestimmten Pfad starten würde (z.B. C:\Desktop\)

- die eingelesenen Daten sollen (im Code z.B. 2 Reiter) in diesem immer am Ende der letzten freien Zeile hinzugefügt werden -->Überschrift ist vorhanden

Code:
Option Explicit
Sub Import_mit_Dialog()
Dim Quelle As Object, Ziel As Object
Dim Datei As String
On Error GoTo Fehler
'Dialog "Datei öffnen" anzeigen
 Datei = Application.GetOpenFilename("Excel-Dateien(*.xls*),*xls*")
'Abbrechen falls keine Datei ausgewählt
If Datei = "Falsch" Then
   MsgBox "keine Datei ausgewählt", , "Abbruch"
   Exit Sub
End If
MsgBox "Ausgewählte Datei: " & Datei, , ""
'Ausgewählte Datei öffnen
 Workbooks.Open Filename:=Datei
Set Quelle = ActiveWorkbook.Worksheets(1)
Set Ziel = ThisWorkbook.Worksheets(2)
'kopieren und einfügen
 Quelle.Range(Cells(2, 1), Cells([A65536].End(xlUp).Row, 17)).Copy Ziel.(Cells(RowsCount, "A").End(xlUp).Row + 1)
 ActiveWorkbook.Close
'Speicher freigeben
Set Quelle = Nothing
Set Ziel = Nothing
Exit Sub
Fehler:
Set Quelle = Nothing
Set Ziel = Nothing
     MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
     & "Beschreibung: " & Err.Description _
     , vbCritical, "Fehler"
End Sub

2 weitere Fragen:
- wie kann ich aus den eingelesenen Daten einen dynamischen Graphen erstellen?
> auf der x-Achse das eingelesene Datum
> y-Achse sollte wenn z.B. ein Datum 3 mal vorkommt, die Anzahl 3 an dem Datum an der x-Achse aufzeigen
Beispiel: in den eingelesenen Daten kommt 3x 08.05.2017 vor, dann wird auf der x-Achse am 08.05.2017 auf Höhe der Zahl 3 von der Y-achse der Wert angeziegt
Wie lässt sich z.B. über ein Kontrollkästchen ein beliebiger Wert (welches wenn aus angehakt ist) ein bleiebiger Text an einem bestimmten Datum darstellen?

Ich weiß das sind sehr viele Fragen auf einmal und über jede Antwort zu einem der Fragen freue ich mich sehr Angel
Danke schon mal im Voraus!

VG
René
Top
#2
Hallo René,

die letzte gefüllte Zelle einer Spalte bekommst Du z.B. so (Spalte 1 = A):

loLastRow=Cells(Rows.Count,1).End(xlup).Row


Dynamisches Diagramm:

Berechne ggf. die Daten für das Diagramm in einem gesonderten Bereich


Einen flexiblen Text kannst Du auch per Formel erzeugen. Das Kontrollkästchen bekommt eine Verknüpfung zu einer Zelle und die Formel prüft den enhaltenen Wert. Im Prinzip

=WENN(KKzelle=wahr;"Das stimmt";"Das stimmt nicht")
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste