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

Mitglied: Broken

Broken (Level 1) - Jetzt verbinden

05.02.2009, aktualisiert 15:05 Uhr, 12419 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

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 ...

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 ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Tipp von hardykopff vor 18 MinutenWindows 10

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 3 StundenAdministrator.de Feedback8 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 20 StundenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...