Collapse column

Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - Carvediem

Seiten: [1]
1
Excel / Antw:Office 2007: Tabellenblatt zu groß
« am: April 10, 2012, 12:14:47 Nachmittag »
So, nochmals vielen Dank. Das Problem ist gelöst. Der Code ist eingearbeitet.

2
Excel / Antw:Office 2007: Tabellenblatt zu groß
« am: April 10, 2012, 01:34:45 Vormittag »
Hi Ricco,
ich komme jetzt erst dazu, mir deinen Code genauer anzuschauen. Noch habe ich nicht alles ganz durchdrungen, aber ich kann jetzt schon sagen: Das ist raffiniert, wie du das anlegst! Ich habe von Programmierungen überhaupt keine Ahnung und bin echt begeistert, wie das so funktioniert. Ich hab's noch nicht eingearbeitet, aber sobald das erledigt ist, melde ich Vollzug.
Nochmals herzlichen Dank,
Carvediem

3
Excel / Antw:Office 2007: Tabellenblatt zu groß
« am: April 09, 2012, 18:13:22 Nachmittag »
Hi Ricco,

whow, danke-danke-danke. Ich habe gerade Besuch, danach probiere ich das sofort aus. Toll, dass du mir da so viel Hilfe zukommen lässt.

Herzlicher Gruß,
Carvediem

4
Excel / Antw:Office 2007: Tabellenblatt zu groß
« am: April 09, 2012, 12:18:18 Nachmittag »
Hi Ricco,

zunächst Danke für deine Antwort.

Bei dem Einladen der XML-Daten handelt es sich nicht um einen einmaligen Vorgang, sondern um eine Routine, die immer wieder geschieht, wenn man einen neuen Weg auf einer Landkarte festgelegt hat.

Das von dir vorgeschlagene Anschauen des Importergebnisses habe ich - sorry - zudem noch nicht ganz verstanden. Wenn ich den Code ausführe als ein Sub, dann bekomme ich einen Laufzeitfehler.

Vielleicht zur Orientierung, die Datei, um die es geht, ist kannst du hier anschauen:
http://www.download.i-p4.de/carvediem/Skitourenplaner_2012.zip
(darin ist auch eine Beispiel-XML-Datei)

Dass die übermäßige Größe durch den Einladevorgang in das Wegpunkt-Sheet liegt, konnte ich schon überprüfen. Es geht also jetzt darum, Sorge dafür zu tragen, dass der automatisierte Import nicht zu einer Ausnutzung des gesamten Tabellenblatts führt, wodurch es so viel Speicherplatz benötigt.

Vielleicht hast du ja noch eine Idee ...

5
Excel / Office 2007: Tabellenblatt zu groß
« am: April 09, 2012, 02:40:29 Vormittag »
Liebe VBA/Excelianer,

nun habe ich noch eine Frage, die ich nicht beantwortet bekomme: Ich habe ein Tabellenblatt eingerichtet, das ich zum Import von XML-Daten benötige. Einzulesen sind nur wenige Daten (maximal 4x 20 Daten), allerdings wird durch das Makro das gesamte Tabellenblatt genutzt - mit dem Effekt, dass die Excel-Datei mehrere MByte groß wird.

Meine Frage: Kann ich die Größe des Tabellenblatts irgendwie einschränken?

Hier der VBA-Code:

Sub GPSinMarschtabelle
Sheets("Wegpunkte").Visible = True
Sheets("Nebenrechnungen").Visible = True
Sheets("Wegpunkte").Range("A2:G20").Clear
Dim sMsg As String
Dim retval As Long
Dim sPath As String
   
    sMsg = "- Sind die Wegpunkte in der DAV-Karte durchlaufend nummeriert?" _
            & vbCr _
            & "- Ist die Wegpunktbezeichnung im Format 01, 02, ..., 10, 11, ...?" _
            & vbCr _
            & "- Ist der Ausgangspunkt als Wegpunkt 01 bezeichnet?" _
            & vbCr & vbCr _
            & "Das Format für die DAV-Wegpunktdatei ist [waypoints_Name.gpx]"
       
    'MsgBox gibt eine Zahl aus der Aufzählung VbMsgBoxResult zurück:
    retval = MsgBox(sMsg, vbYesNo, "Title of MsgBox")
   
    If retval = vbYes Then
   
        sPath = Application.GetOpenFilename
       
        If sPath = "Falsch" Then
       
            MsgBox "Sie haben den Dateiaufruf abgebrochen"
           
        Else
       
            'Die Import-Funktion gibt eine Zahl aus der Aufzählung XlXmlImportResult zurück:
            retval = ActiveWorkbook.XmlMaps("gpx_Zuordnung").import(sPath)
           
            Select Case retval
                Case xlXmlImportSuccess
                    'Der Import war erfolgreich...
                Case xlXmlImportValidationFailed
                    'Der Import wurde zwar durchgeführt, aber bei der Schemavalidierung
                    'für die importierten Daten trat ein Fehler auf...
                Case xlXmlImportElementsTruncated
                    'Der Import konnte nur teilweise durchführt werden, da die XML-Datendatei
                    'zu groß für das Arbeitsblatt ist....
            End Select
           
        End If
       
    Else 'retval=vbNo
   
            MsgBox "Überarbeiten Sie die Wegpunktdatei und starten Sie dann den Import."
       
    End If
   
ActiveWorkbook.Worksheets("Wegpunkte").ListObjects("Tabelle1").Sort.SortFields. _
        Clear
    ActiveWorkbook.Worksheets("Wegpunkte").ListObjects("Tabelle1").Sort.SortFields. _
        Add Key:=Range("Tabelle1[ns1:name]"), SortOn:=xlSortOnValues, Order:= _
        xlAscending, DataOption:=xlSortTextAsNumbers
    With ActiveWorkbook.Worksheets("Wegpunkte").ListObjects("Tabelle1").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With


Dim x As Integer
Dim lat As Integer
Dim e As Integer
Dim l As Integer
x = 2
lat = 9
n = 9
h = 9
lon = 8
Do Until Sheets("Wegpunkte").Cells(x, 1) = ""
Sheets("Marschtabelle").Cells(lat, 7) = Sheets("Wegpunkte").Cells(x, 1)
Sheets("Marschtabelle").Cells(n, 1) = Sheets("Wegpunkte").Cells(x, 4)
Sheets("Marschtabelle").Cells(h, 8) = Sheets("Wegpunkte").Cells(x, 3)
Sheets("Marschtabelle").Cells(lon, 7) = Sheets("Wegpunkte").Cells(x, 2)
x = x + 1
lat = lat + 2
lon = lon + 2
n = n + 2
h = h + 2
Loop
Sheets("Marschtabelle").Select
Sheets("Wegpunkte").Visible = False
Sheets("Nebenrechnungen").Visible = False
End Sub

Das Tabellenblatt "Wegpunkte" ist das, das ich zum Import benötige. Es ist vorbereitet für die XML-Datei (gpx-Zuordnung). Was kann ich tun, damit es nicht bis Zeile 64k genutzt (und gespeichert) wird?

Vielen Dank im Voraus,
Carvediem

6
Excel / Antw: Select Case zum Abbruch eines Datei-Imports
« am: April 08, 2012, 11:08:11 Vormittag »
Hallo Ricco,

hab vielen Dank für die Mühe, die du für mich auf dich genommen hast. Funktioniert perfekt, wie ich es wollte. Nun muss ich mich nochmal ganz sorgfältig mit deinem Code auseinandersetzen, um hinzuzulernen.

Liebe Grüße und frohe Ostern,
Carvediem

7
Excel / Select Case zum Abbruch eines Datei-Imports
« am: April 08, 2012, 01:06:26 Vormittag »
Hallo VBAer,

ich bin mal wieder an der Grenzen meiner ohnehin begrenzten Möglichkeiten. Ich möchte einen Programmablauf zum Dateimport bei [Abbrechen] zum Ende des Subs führen, kriege das aber nicht hin. Hier der Code:

Code: Text
  1.  ...
  2. If MsgBox("- Sind die Wegpunkte in der DAV-Karte durchlaufend nummeriert?" _
  3.     & vbLf & vbLf _
  4.     & "- Ist die Wegpunktbezeichnung im Format 01, 02, ..., 10, 11, ...?" _
  5.     & vbLf & vbLf _
  6.     & "- Ist der Ausgangspunkt als Wegpunkt 01 bezeichnet?" _
  7.     & vbLf & vbLf _
  8.     & "Das Format für die DAV-Wegpunktdatei ist [waypoints_Name.gpx]", _
  9.     vbYesNo) = vbYes Then
  10.  
  11. strPath = Application.GetOpenFilename
  12. ActiveWorkbook.XmlMaps("gpx_Zuordnung").import URL:=strPath
  13.    
  14. Select Case 'hier fehlt mir der Eintrag
  15.         Case False
  16.             Exit Sub
  17.         Case Else
  18. ...
  19.  

Der Dateiimport funktioniert einwandfrei. Wenn ich aber bei der Dateiauswahl auf [Abbrechen] gehe, bricht VBA ab. Mit dem Select Case Befehl will ich eine Verzweigung einrichten, damit hierzu das Ende des Subs herbeigeführt wird. Was muss ich hinter "Select Case ..." schreiben?

Vielleicht kann mir ja hier jemand helfen. Vielen Dank im Voraus,
Carvediem

8
Excel / Antw: Importbefehl starten nach Datei-auswählen/öffnen-Dialog
« am: April 03, 2012, 15:20:22 Nachmittag »
Hi Officer,
so einfach (!) - das war's. Ich habe gestern alles Mögliche probiert und immer nur Fehlermeldungen erhalten.
Herzlichen Dank für die Hilfe,
Alexander

9
Excel / Importbefehl starten nach Datei-auswählen/öffnen-Dialog
« am: April 03, 2012, 13:02:50 Nachmittag »
Hallo, ich habe bereits gestern diese Frage gepostet, vermute allerdings, dass ich mein Anliegen nicht klar genug geschildert habe, da ich keine Antwort hier erhalten konnte.

Ich möchte den Menü-Befehl "Importieren" über eine VBA-Routine durchführen. Es soll so funktionieren, dass zunächst ein Datei-auswählen/öffnen-Dialog startet, bei dem ich die zu importierende Datei auswähle und dann, nach Auswahl der Datei (OK-Knopf), die Datei in ein hierfür vorbereitetes Worksheet importiert wird.

Per Hand funktioniert das einwandfrei. Wenn ich die Prozedur mit dem Makrorecorder aufzeichne, entsteht dies:
Code: Text
  1. Sub Import()
  2.     ActiveWorkbook.XmlMaps("gpx_Zuordnung").Import URL:= _
  3.         "D:\My Dropbox\EIGENE TEXTE\Ski\Touren\waypoints_Marschtabelle.gpx"
  4. End Sub
  5.  

Den Path möchte ich also im Dialog bei Aufruf des Makros auswählen können. Kann mir jemand hierzu helfen. Alles, was ich versuche, scheitert immer.

10
Excel / Office 2007: Antw:Office 2007: Importbefehl aufrufen per VBA
« am: April 02, 2012, 15:35:42 Nachmittag »
Hi Officer,

es ist eigentlich noch einfacher, denn ich benötige überhaupt keinen Code zum Import. Ich brauche nur nach dem Aufrufen der zu importierenden Datei die Ausführung des Menü-Befehls "Importieren". Da das Worksheet schon vorbereitet ist, reicht das. Was mir also fehlt, ist die Befehlszeile für den Aufruf des "Importierens".

Wenn ich das über den Makro-Recorder versuche, kommt dies heraus:
Code: Text
  1. ActiveWorkbook.XmlMaps("gpx_Zuordnung").Import URL:= _
  2.         "D:\My Dropbox\EIGENE TEXTE\Ski\Touren\waypoints_wetterkreuzkogel.gpx"
  3.  

Statt des Pfads, der in VBA eingetragen ist, möchte ich diesen Pfad über das von dir vorgeschlagene Fenster auswählen.

11
Excel / Office 2007: Importbefehl aufrufen per VBA
« am: April 02, 2012, 14:28:03 Nachmittag »
Kann mir jemand helfen: Ich möchte eine Datei per Msgbox aufrufen und per Importbefehl in ein Tabellenblatt einlesen. Das Tabellenblatt ist bereits zum Import vorbereitet. Per Hand funktioniert der Import auch.

Wie öffne ich das Fenster per VBA und wähle dann die fragliche Datei aus, die dann per VBA über den Importbefehl eingelesen wird? Mir fehlt hierzu die Befehlszeile. Alles, was ich versuche, klappt einfach nicht. Was ist hier falsch:

Code: Text
  1. Sub A()
  2. Sheets("Wegpunkte").Range("A2:Z64000").Clear
  3. Dim strfile As String
  4. strfile = ActiveWorkbook.XmlMaps("gpx_Zuordnung").Import
  5. MsgBox (strfile)
  6. End Sub
  7.  

Seiten: [1]