Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
972to976
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
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Arbeitsblatt ohne Select speichern

Arbeitsblatt ohne Select speichern
07.05.2008 11:09:00
Josef
Hallo!
mit folgendem Code wird das Arbeitsblatt aktiviert, die Zelle A1 markiert, und danach eine Userform geöffnet:

Sub Speichere_Ausprägungen()
On Error GoTo Weiter
Sheets("Ausprägungen").Select
Range("A1").Select
UserForm6.TextBox2.Text = "G:\DOK\Master\Import_NOVA\Zum Importieren\Import_Ausprägungen_*.txt"
UserForm6.Show
Weiter:
End Sub


Über die Userform haeb ich dann die Möglichkeit, dieses Arbeitsblatt als *.txt Datei abzuspeichern.
Ist es bitte möglich, die Daten in diesem Arbeitsblatt ohne Select Befehl abzuspeichern?
Wichtig für die Speicherung wäre, dass in diesem Blatt die Zelle A1 markiert ist.
Danke
Josef

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblatt ohne Select speichern
07.05.2008 11:16:00
Hajo_Zi
Hallo Josef,
Excel ist ein vielseitiges Programm und man kann viele Probleme damit lösen. Jede positive Seite hat aber auch negative Aspekte - einer davon ist im Makrorecorder enthalten.
Die Bücher, die es zu Excel VBA gibt, erklären viele Funktionen, aber ich habe bisher nur in einem gelesen, dass der vom Makrorecorder aufgezeichnete Code bereinigt werden muss.
Der Makrorecorder zeichnet alle Aktionen auf, u. a. auch das Auswählen einer Zelle oder eines eingebetteten Objektes (Bild, Diagramm, Zeichnungsobjekt usw.) – dabei wird generell Select und Activate aufgezeichnet. Diese Befehle sind in VBA zu 99,9% nicht notwendig. Sie lassen den Bildschirm flackern und senken die Geschwindigkeit bei der Ausführung des Codes. Man sollte also schon von Beginn an bei der Programmierung darauf achten, solche Befehle zu vermeiden. Meine Erfahrung mit dem Vorsatz: „Das mache ich später“ ist, man schreibt das Programm später meist komplett neu. Also kostest es nicht nur Rechnerzeit sondern auch Deine Zeit und ist Dir Deine Zeit so wenig Wert?
Zum Vergleich mit und ohne Select schau Dir auch mal diese Beispielarbeitsmappe an: mit und ohne select
Auf meiner Homepage sind alle meine Beispiele ohne Select. Da kann man sich also einige Lösungsansätze zu diesem Thema ansehen.
Warum muss die Zelle markiert sein.

Anzeige
AW: Arbeitsblatt ohne Select speichern
07.05.2008 11:21:17
Josef
Hallo Hajo!
Danke für Deine Antwort.
Zu
Warum muss die Zelle markiert sein.
Weil ich mit folgendem Code in der UserForm die Werte auf dieser Seite als Textfile speichere.:
Wenn die Zellec A1 nicht markiert ist erfolgt nur eine Leerspeicherung.
Josef

Private Sub CommandButton2_Click()
F = FreeFile(0)
'fname = InputBox("Bitte geben Sie den Dateinamen ein!", , "H:\NOVAIMPORT\*.txt")
fname = TextBox2.Text
MsgBox "File Selected is: " & fname
If fname  False Then
Open fname For Output As #F
Set rng = ActiveCell.CurrentRegion
Debug.Print rng.Address
FCol = rng.Columns(1).Column
LCol = rng.Columns(rng.Columns.Count).Column
Frow = rng.Rows(1).Row
Lrow = rng.Rows(rng.Rows.Count).Row
For i = Frow To Lrow
outputLine = ""
For j = FCol To LCol
If j  LCol Then
'Semikolon als Texttrennzeichen, kann geändert werden
outputLine = outputLine & Cells(i, j) & ";"
Else
outputLine = outputLine & Cells(i, j)
End If
Next j
Print #F, outputLine
Next i
Close #F
End If
Unload UserForm6
End Sub



Private Sub UserForm_Initialize()
TextBox2.Text = "G:\DOK\Master\Import_NOVA\Zum Importieren\*.txt"
End Sub


Anzeige
AW: Arbeitsblatt ohne Select speichern
07.05.2008 11:28:19
Hajo_Zi
Hallo Josef,
ich baue das jetzt nicht nach.
Set Rng = Range("A1").CurrentRegion
Gruß Hajo

AW: Arbeitsblatt ohne Select speichern
07.05.2008 11:36:32
Josef
Hallo Hajo!
Dann nehme ich mal an das nachstehender Code ungefähr passen könnte ?
Josef

Private Sub CommandButton2_Click()
Dim wks As Worksheet
Set wks = Workbooks("Masterfile.xls").Worksheets("Werte NOVA")
F = FreeFile(0)
'fname = InputBox("Bitte geben Sie den Dateinamen ein!", , "H:\NOVAIMPORT\*.txt")
fname = TextBox2.Text
MsgBox "File Selected is: " & fname
If fname  False Then
Open fname For Output As #F
Set rng = wks.Range("A1").CurrentRegion
Debug.Print rng.Address
FCol = rng.Columns(1).Column
LCol = rng.Columns(rng.Columns.Count).Column
Frow = rng.Rows(1).Row
Lrow = rng.Rows(rng.Rows.Count).Row
For i = Frow To Lrow
outputLine = ""
For j = FCol To LCol
If j  LCol Then
'Semikolon als Texttrennzeichen, kann geändert werden
outputLine = outputLine & wks.Cells(i, j) & ";"
Else
outputLine = outputLine & wks.Cells(i, j)
End If
Next j
Print #F, outputLine
Next i
Close #F
End If
Unload UserForm6
End Sub


Anzeige
AW: Arbeitsblatt ohne Select speichern
07.05.2008 11:48:00
Hajo_Zi
Hallo Josef,
warum Beitrag offen? Testen kannst Du es ja.
Gruß Hajo

AW: Arbeitsblatt ohne Select speichern
08.05.2008 06:38:29
Josef
Hallo Hajo!
Habe jetzt getestet und es funktioniert einwandfrei.
Danke nochmals für Deine Mühe und Deine Hilfe.
Josef

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige