Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBA Excel Daten importieren Diagramme erstellen

Frage Entwicklung VB for Applications

Mitglied: Broken

Broken (Level 1) - Jetzt verbinden

05.02.2009, aktualisiert 15:05 Uhr, 12227 Aufrufe, 3 Kommentare

Problem bei der Erstellung eines VBA scripts

Hallo Liebe Gemeinde

Ich bräuchte mal wieder eure Hilfe

ich brauche einen Code mit dessen Hilfe ich ein zweispaltiges .rtf Dokument (1.232;12.313) in Excel in einem neuen Tabellenblatt importiern und in einem Liniendiagramm wiedergeben kann.

Dass importiern einer .rtf datei hatte ich schonmal erfragt, also ist das nicht das Thema,
aber ein neues Tabellenblat mit einem diagramm erstellen hat sich für mich als etwas schwierig erwiesen.

Ich soll um die Hundert .rtf dateien händich in Excel importieren und diese dann in einem Diagramm grafich darstellen.
ich hab es auch soweit hinbekommen mit der importierung und der Auswertung in einem Diagramm, nur bei mir funktioniert es nur in einem Tabellenblatt.
Wenn ich versuche damit ein Zweites anzusteuern, hat er den Falschen Tabellenblattnamen drin und jenachdem auch einen falschen Diagrammnamen.
ich hoffe man kann mir helfen.


MFG
Broken
Mitglied: kruder
07.02.2009 um 00:43 Uhr
na dann zeige doch mal den source-code ausschnitt in welchem du das zweite tabellenblatt ansteuerst....

grüße
kruder
Bitte warten ..
Mitglied: Broken
10.02.2009 um 07:12 Uhr
Moin

ich kann euch gerne mein Code zeigen

01.
Sheets.Add 
02.
    Range("C3").Select 
03.
    ChDir "\" 
04.
    ChDrive "c:\" 
05.
    'Dateiname = Application.GetOpenFilename("Micrsoft Alle-Dateien (*.*),*.*") 
06.
    Dateiname = Application.GetOpenFilename("RTF-Dateien(*.rtf), *.rtf, Micrsoft Excel-Dateien (*.xls),*.xls, Textdateien (*.txt), *.txt,Alle Dateien (*.*),*.*") 
07.
    If Dateiname = False Then Exit Sub 
08.
    MsgBox "Dateiname:" & vbNewLine & Dateiname 
09.
    Range("A1").Select 
10.
    Cells.Select 
11.
    Range("F29").Activate 
12.
    Selection.ClearContents 
13.
    'Selection.QueryTable.Delete 
14.
    zwichen = "TEXT;" + Dateiname 
15.
    Range("A1").Select 
16.
    With ActiveSheet.QueryTables.Add(Connection:=zwichen, Destination:=Range("A1")) 
17.
         Destination:=Range("A1")) 
18.
        .Name = "Waveform  2" 
19.
        .FieldNames = True 
20.
        .RowNumbers = False 
21.
        .FillAdjacentFormulas = False 
22.
        .PreserveFormatting = True 
23.
        .RefreshOnFileOpen = False 
24.
        .RefreshStyle = xlInsertDeleteCells 
25.
        .SavePassword = False 
26.
        .SaveData = True 
27.
        .AdjustColumnWidth = True 
28.
        .RefreshPeriod = 0 
29.
        .TextFilePromptOnRefresh = False 
30.
        .TextFilePlatform = 850 
31.
        .TextFileStartRow = 1 
32.
        .TextFileParseType = xlDelimited 
33.
        .TextFileTextQualifier = xlTextQualifierDoubleQuote 
34.
        .TextFileConsecutiveDelimiter = False 
35.
        .TextFileTabDelimiter = True 
36.
        .TextFileSemicolonDelimiter = True 
37.
        .TextFileCommaDelimiter = False 
38.
        .TextFileSpaceDelimiter = False 
39.
        .TextFileColumnDataTypes = Array(1, 1, 1) 
40.
        .TextFileTrailingMinusNumbers = True 
41.
        .Refresh BackgroundQuery:=False 
42.
    End With 
43.
    Range("D3").Select 
44.
    Charts.Add 
45.
    ActiveChart.ChartType = xlLineMarkers 
46.
    ActiveChart.SetSourceData Source:=Sheets("Tabelle3").Range("A1:B2002"), _ 
47.
        PlotBy:=xlRows 
48.
    ActiveChart.SeriesCollection(1).XValues = "=Tabelle7!R1C1:R2002C1" 
49.
    ActiveChart.SeriesCollection(1).Values = "=Tabelle7!R2C2:R2002C2" 
50.
    ActiveChart.SeriesCollection(1).Name = "=Tabelle7!R1C2" 
51.
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle7" 
52.
    With ActiveChart 
53.
        .HasTitle = True 
54.
        .ChartTitle.Characters.Text = "1/22/2009" 
55.
        .Axes(xlCategory, xlPrimary).HasTitle = True 
56.
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time [sec]" 
57.
        .Axes(xlValue, xlPrimary).HasTitle = True 
58.
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Pressure [bar]" 
59.
    End With 
60.
    ActiveChart.HasDataTable = False 
61.
    ActiveSheet.Shapes("Diagramm 1").IncrementLeft -81.75 
62.
    ActiveSheet.Shapes("Diagramm 1").IncrementTop -138.75 
63.
    ActiveChart.SeriesCollection(1).Select 
64.
    With Selection.Border 
65.
        .ColorIndex = 1 
66.
        .Weight = xlThick 
67.
        .LineStyle = xlContinuous 
68.
    End With 
69.
    With Selection 
70.
        .MarkerBackgroundColorIndex = xlAutomatic 
71.
        .MarkerForegroundColorIndex = xlAutomatic 
72.
        .MarkerStyle = xlNone 
73.
        .Smooth = False 
74.
        .MarkerSize = 5 
75.
        .Shadow = False 
76.
    End With 
77.
    ActiveChart.ChartArea.Select 
78.
    ActiveSheet.Shapes("Diagramm 1").ScaleWidth 1.55, msoFalse, _ 
79.
        msoScaleFromTopLeft 
80.
End Sub
Mein Problem ist ich kann nicht auf variable Diagramme/Tabellenblätter zugreifen, sondern nur auf eingetragene (Diagramm1/Tabelle6)
könnte man das irgendwie umgehen.
Bitte warten ..
Mitglied: Broken
27.03.2009 um 08:14 Uhr
SO
da keiner bis jetzt eine Antwort hatte
Habe ich ein bisschen herum experimentiert
01.
Public Sub test() 
02.
   
03.
  Dim Anzahl  As Long 
04.
  Dim Fehler  As Boolean 
05.
  Dim Dateien As Variant 
06.
   
07.
  On Error Resume Next 
08.
   
09.
  Application.ScreenUpdating = False 
10.
  Dateien = Application.GetOpenFilename("Alle Dateien (*.*),*.*", False, False, False, True) 
11.
  Fehler = CBool(Dateien) 
12.
   
13.
   
14.
  If Not Fehler And Not Err.Number <> 0 Then 
15.
   
16.
    MsgBox "Sie haben keine Datei ausgewählt!", 48, "Keine Datei ausgewählt" 
17.
     
18.
    Exit Sub 
19.
   
20.
  End If 
21.
  
22.
   
23.
  For Anzahl = LBound(Dateien) To UBound(Dateien) 
24.
MsgBox (Anzahl) 
25.
    'ActiveWorkbook.Worksheets.Add 
26.
    With ActiveSheet.QueryTables.Add(Connection:="TEXT" + Dateien(Anzahl), Destination:=Range("A1")) 
27.
        .Name = Dateien(Anzahl) 
28.
        .FieldNames = True 
29.
        .RowNumbers = False 
30.
        .FillAdjacentFormulas = False 
31.
        .PreserveFormatting = True 
32.
        .RefreshOnFileOpen = False 
33.
        .RefreshStyle = xlInsertDeleteCells 
34.
        .SavePassword = False 
35.
        .SaveData = True 
36.
        .AdjustColumnWidth = True 
37.
        .RefreshPeriod = 0 
38.
        .TextFilePromptOnRefresh = False 
39.
        .TextFilePlatform = 850 
40.
        .TextFileStartRow = 1 
41.
        .TextFileParseType = xlDelimited 
42.
        .TextFileTextQualifier = xlTextQualifierDoubleQuote 
43.
        .TextFileConsecutiveDelimiter = False 
44.
        .TextFileTabDelimiter = True 
45.
        .TextFileSemicolonDelimiter = True 
46.
        .TextFileCommaDelimiter = False 
47.
        .TextFileSpaceDelimiter = False 
48.
        .TextFileOtherDelimiter = "" 
49.
        .TextFileColumnDataTypes = Array(1, 1, 1) 
50.
        .TextFileTrailingMinusNumbers = True 
51.
        .Refresh BackgroundQuery:=False 
52.
    End With 
53.
  
54.
     
55.
     
56.
    Range("A1").Select 
57.
    Selection.CurrentRegion.Select 
58.
    Set objChart = ActiveWorksheet.ChartObjects.Add(100, 50, 300, 200).Chart 
59.
    Charts.Add 
60.
    ActiveChart.ChartType = xlLine 
61.
    ActiveChart.SetSourceData Source:=Sheets(Dateien(Anzahl)).Range("A2:B1001"), PlotBy:=xlColumns 
62.
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle2" 
63.
    With ActiveChart 
64.
        .HasTitle = False 
65.
        .Axes(xlCategory, xlPrimary).HasTitle = True 
66.
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time [sec]" 
67.
        .Axes(xlValue, xlPrimary).HasTitle = True 
68.
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Pressure [bar]" 
69.
    End With 
70.
     
71.
    ActiveChart.HasLegend = False 
72.
    ActiveChart.HasDataTable = False 
73.
     
74.
    ActiveWindow.Visible = False 
75.
    Windows("test.xls").Activate 
76.
    Range("A1").Select 
77.
         
78.
  Next Anzahl 
79.
   
80.
End Sub
mein Problem ist noch, dass ich die Tabellenblätter nicht mit den Namen der datei bennen kann
und an einigen stellen funktioniert es immernoch nicht
wenn ich mehr als 200 dateien importiere (hauptsachlich *.rtf dateien), gibt es probleme beim importieren, sodass keine Werte angezeigt werden.
gibt es eine möglichkeit die anzahl der Tabellenblätter zu reseten, also wenn man 150 tabellenblätter geöffnet hat und 140 stück löscht, dann ein weiteres hinzufügt soll dieser nicht bei 151 anfangen.

mfg
Broken
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Importieren von excel daten in outlook vba
gelöst Frage von BgervaisMicrosoft Office10 Kommentare

Hallo, mein Deutsch ist nicht so gut, aber ich versuche es trotzdem. (Excel und Outlook - Deutsch Sprache) ich ...

Outlook & Mail
Importieren von excel daten in outlook vba - Teil 2
Frage von BgervaisOutlook & Mail5 Kommentare

Microsoft Office
Formular Daten in Excel importieren
gelöst Frage von hausensMicrosoft Office16 Kommentare

Guten Morgen, Ich steh vor einem Problem bei dem ich nicht weiterkomme, Hoffe jemand von euch kann mir dabei ...

Microsoft Office
Excel 2007 aus Zellen Diagramm erstellen
Frage von 103148Microsoft Office4 Kommentare

Hallo, ich stehe wohl auf dem "Schlauch". Ich habe ca 250 Einträge in einer Zellenreihe also vertikal. Diese möchte ...

Neue Wissensbeiträge
Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 StundeWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 2 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 14 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 20 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement17 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...