Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1272to1276
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte TXT Datei exportieren / importieren

Werte TXT Datei exportieren / importieren
Jürgen
Hallo,
ich kann nur sehr sehr rudimentär VBA.
Ich möchte per Knopfdruck auf einer UserForm Werte aus dem Tabellenblatt "Einstellungen" in eine TXT Datei zb. testcfg.txt exportieren und im Gegenzug diese Daten auch wieder aus der TXT Datei in das Tabellenblatt "Einstellungen" importieren.
Zur weiteren Info: Das Tabellenblatt "Einstellungen" ist ausgeblendet.
Danke vorab :)
AW: Open for output / input
03.08.2012 21:32:34
frigo
Hallo Jürgen,
ob das Tabellenblatt ein- oder ausgeblendet ist spielt keine Rolle.
Rausschreiben:
open "c:\testcfg.txt" for OUTput as #1
write #1, Worksheets("Einstellungen").cells(1,1).text
close #1
Einlesen:
open "c:\testcfg.txt" for INput as #1
input #1, strWert
close #1
Worksheets("Einstellungen").cells(1,1).value = strWert
Weiteres und Erklärungen siehe VBA-Hilfe, diese hat viele Beispiele zu open, write, input etc.
Du musst Dir vor allem die Dateistruktur überlegen, d.h. wie sollen die Werte abgelegt werden. Z.B. eine Excelzeile in einer Textzeile
A1, B1, C1...
oder jede Zelle in einer Textzeile
A1
B1
A2
B2
Gruß frigo
Anzeige
AW: Open for output / input
04.08.2012 08:26:33
Jürgen
kann man auch ein "Range" zb von A1 bis F30 so behandeln?
Denn wenn ich nun anstatt cells(1,1) ... range("A1:F30") eintrage schreibt er mir nur "NULL" in die Textdatei
stell doch deinen Code mal ein,...
04.08.2012 11:34:59
Matze,Matthias
Hallo frigo,
.... wir sehen so nicht was du da alles so haben möchtest.
Cells(1,1) ist nur Range("A1")
Gruss Matze
AW: stell doch deinen Code mal ein,...
04.08.2012 12:27:04
Jürgen
Hallo Matze.
ich möchte aus dem Worksheet "Einstellungen" die Werte aus C2:C13 und B16, B19, B20, B21, etc auslesen und als Textdatei abspeichern. Das selbe möchte ich dann auch mit den Werten aus dem Worksheet "Übersicht" aus C6:C36, E6:E36, G6:G36, I6:I36, K6:K36, M6:M36, O6:O36, Q6:Q36, S6:S36, U6:U36, W6:W36, Y6:Y36 tun.
Diese Werte möchte ich dann später aus der Textdatei an die gleiche Stelle (Zelle/Spalte) wieder einlesen.
zur Info: Das Ganze soll mir als Configsicherung dienen
Gruß Jürgen
Anzeige
AW: stell doch deinen Code mal ein,...
04.08.2012 13:12:33
Matze,Matthias
Hallo Jürgen,
warum so ein Aufwand mit einer extra Textdatei? Kopier doch das entsprechenden Tabellenblatt und füge es wieder woanders ein. Die Resourcen wie Frigo schon sagte, werden durch einen Zusammenhängten Bereich auch geschont.
oder mach eine Kopie der Mappe als Sicherung , z.B.: Mappsicherung_DatumHeute.
Ob du nun eine Exceldatei neu erstellst oder eine Textdatei.
Gruß Matze
AW: stell doch deinen Code mal ein,...
06.08.2012 08:23:24
Jürgen
Hallo Matze
ich habe unterschiedliche Benutzerdefinierte Formatierungen und Formeln auf den Datenblättern und möchte daher die reinen Zellenwertewerte zwischen den unterschiedlichen Versionen imp./exp. Daher kann ich nicht das Tabellenblatt hin oder herkopieren.
kannst du mir eine Lösung generieren?
Anzeige
AW: Zelleninhalte Export / Import
06.08.2012 09:41:48
fcs
Hallo Jürgen,
da du Inhalte aus mehreren Blättern exportieren/importieren möchtest muss du in der Textdatei auch die Information speichern, aus welchelchem tabellenblatt die Inhalte stammen.
Ich hab Sepps Makros mal in diese Richtung angepasst.
Gruß
Franz
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' Original-Code von Josef Ehrensberger
Option Explicit
Sub exportValuesToText()
Dim vntFile As Variant
Dim wks As Worksheet, strRange As String
Dim rng As Range, rngC As Range, lngZeile As Long, lngSpalte As Long
Dim ff As Integer
On Error GoTo Fehler
vntFile = Application.GetSaveAsFilename("Werte.txt", "Text Files (*.txt), *.txt")
If vntFile  False Then
ff = FreeFile
Open vntFile For Output As #ff
Set wks = Worksheets("Einstellungen")
strRange = "C2:C13,B16,B19,B20,B21"
Set rngC = wks.Range(strRange)
For Each rng In rngC.Cells
Print #ff, wks.Name & ";" & rng.Address(0, 0) & ";" & rng.Formula
Next
Set wks = Worksheets("Übersicht")
For lngSpalte = 3 To 25 Step 2 'SPalten C, E, bis Y
For lngZeile = 6 To 36
Set rng = wks.Cells(lngZeile, lngSpalte)
Print #ff, wks.Name & ";" & rng.Address(0, 0) & ";" & rng.Formula
Next
Next lngSpalte
Close #ff
End If
Fehler:
With Err
Select Case .Number
Case 0 'alles OK
Case Else
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description
Close
End Select
End With
Set rng = Nothing
Set rngC = Nothing
Set wks = Nothing
End Sub
Sub importValuesFromText()
Dim strFile As String, strTmp As String
Dim ff As Integer
On Error GoTo Fehler
strFile = Application.GetOpenFilename("Text Dateien (*.txt),*.txt")
If strFile  CStr(False) Then
ff = FreeFile
Open strFile For Input As #ff
Do While Not EOF(ff)
Line Input #ff, strTmp
With Worksheets(Split(strTmp, ";")(0)).Range(Split(strTmp, ";")(1))
.Formula = Split(strTmp, ";")(2)
End With
Loop
Close #ff
End If
Fehler:
With Err
Select Case .Number
Case 0 'alles OK
Case Else
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description
Close
End Select
End With
End Sub

Anzeige
AW: Zelleninhalte Export / Import
06.08.2012 10:35:46
Jürgen
Danke Franz, klappt soweit... mal schaun ob ich damit mal zurecht komme :))
AW: Werte TXT Datei exportieren / importieren
04.08.2012 17:38:29
Josef

Hallo Jürgen,
probier mal.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub exportValuesToText()
  Dim vntFile As Variant
  Dim rng As Range, rngC As Range
  Dim ff As Integer
  
  On Error Resume Next
  Set rngC = ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
  'oder
  'Set rngC = Range("A1:A5,C5:C10,H3:I17")
  On Error GoTo 0
  
  If Not rngC Is Nothing Then
    vntFile = Application.GetSaveAsFilename("Werte.txt", "Text Files (*.txt), *.txt")
    If vntFile <> False Then
      ff = FreeFile
      Open vntFile For Output As #ff
      For Each rng In rngC.Cells
        Print #ff, rng.Address(0, 0) & ";" & rng.Formula & ";" & rng.NumberFormat
      Next
      Close #ff
    End If
  End If
  
  Set rng = Nothing
  Set rngC = Nothing
End Sub


Sub importValuesFromText()
  Dim strFile As String, strTmp As String
  Dim ff As Integer
  
  strFile = Application.GetOpenFilename("Text Dateien (*.txt),*.txt")
  
  If strFile <> CStr(False) Then
    ff = FreeFile
    Open strFile For Input As #ff
    Do While Not EOF(ff)
      Line Input #ff, strTmp
      With Range(Split(strTmp, ";")(0))
        .Formula = Split(strTmp, ";")(1)
        .NumberFormat = Split(strTmp, ";")(2)
      End With
    Loop
    Close #ff
  End If
  
End Sub



« Gruß Sepp »

Anzeige
AW: Werte TXT Datei exportieren / importieren
06.08.2012 08:20:14
Jürgen
Hallo Sepp,
danke, aber irgendwie funtioniert das nicht so recht... wie ich hier schon geschrieben habe
ich möchte aus dem Worksheet "Einstellungen" die Werte aus C2:C13 und B16, B19, B20, B21, etc auslesen und als Textdatei abspeichern. Das selbe möchte ich dann auch mit den Werten aus dem Worksheet "Übersicht" aus C6:C36, E6:E36, G6:G36, I6:I36, K6:K36, M6:M36, O6:O36, Q6:Q36, S6:S36, U6:U36, W6:W36, Y6:Y36 tun.
Diese Werte möchte ich dann später aus der Textdatei an die gleiche Stelle (Zelle/Spalte) wieder einlesen.
zur Info: Das Ganze soll mir als Configsicherung dienen
Anzeige
AW: Werte TXT Datei exportieren / importieren
06.08.2012 17:43:07
Josef

Hallo Jürgen,
Infos wie "danke, aber irgendwie funtioniert das nicht so recht... " liebe ich;-)))
Du solltest halt das nächste Mal die Aufgabe gleich richtig beschreiben, dann kann man die Lösung genauer programmieren. Aber Franz hat ja schon ausgeholfen.

« Gruß Sepp »

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige