Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Ändern Set Bereich
zurück: Per VBA Formel einfügen wenn in einer Zelle Werte sind weiter: De-Bug wenn Userform aufgerufen wird Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Messegast-Hannover
Gast


Verfasst am:
01. März 2012, 08:28
Rufname:

Ändern Set Bereich - Ändern Set Bereich

Nach oben
       Version: Office 2003

Hallo zusammen,

ich habe ein Makro bekommen, welches eine EXCEL-Datei in eine CSV-Datei abspeichert. Dabei wird das ganze Tabellenblatt durchsucht und dummerweise bis zur letzten jemals genutzten Zeile alles an "leeren Daten" exportiert.

Wie kann ich anliegendes Makro verändern, dass nur die Zeilen 1 bis 2500 exportiert werden?

Danke aus Hannover
Messegast-Hannover

Sub SaveCSV()
' Speichert den Inhalt eines Arbeitsblatts als CSV-Datei
' mit wählbarem Trennzeichen und Maskierung von Einträgen


Dim Bereich As Object, Zeile As Object, Zelle As Object
Dim strTemp As String
Dim strDateiname As String
Dim strTrennzeichen As String
Dim strMappenpfad As String

strMappenpfad = ActiveWorkbook.FullName
strMappenpfad = Replace(strMappenpfad, ".xls", ".csv")

strDateiname = InputBox("Wie soll die CSV-Datei heißen (inkl. Pfad)?", "CSV-Export", strMappenpfad)
If strDateiname = "" Then Exit Sub

strTrennzeichen = InputBox("Welches Trennzeichen soll verwendet werden?", "CSV-Export", ",")
If strTrennzeichen = "" Then Exit Sub

Set Bereich = ActiveSheet.UsedRange

Open strDateiname For Output As #1

For Each Zeile In Bereich.Rows
For Each Zelle In Zeile.Cells
If InStr(1, Zelle.Text, strTrennzeichen) > 0 Then
'Zellen, die ein Trennzeichen beinhalten in Anführungsstriche setzen
strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
Else
strTemp = strTemp & CStr(Zelle.Text) & strTrennzeichen
End If
Next
If Right(strTemp, 1) = strTrennzeichen Then strTemp = Left(strTemp, Len(strTemp) - 1)
Print #1, strTemp
strTemp = ""
Next

Close #1
Set Bereich = Nothing
MsgBox "Datei wurde exportiert nach" & vbCrLf & strDateiname

End Sub
Phelan XLPH
Fortgeschritten


Verfasst am:
01. März 2012, 09:32
Rufname: Phelan


AW: Ändern Set Bereich - AW: Ändern Set Bereich

Nach oben
       Version: Office 2003

Hallo,

versuchs hiermit:

Set Bereich = ActiveSheet.Cells(1).CurrentRegion

_________________
Was vorstellbar ist, ist auch machbar. - Albert Einstein
Messegast-Hannover
Gast


Verfasst am:
01. März 2012, 09:52
Rufname:

AW: Ändern Set Bereich - AW: Ändern Set Bereich

Nach oben
       Version: Office 2003

Habe es mehrfach durchlaufen lassen, bei Zeile 127 hört es auf zu "exportieren" obwohl dort auch nur Text drinsteht.

???

Danke
Phelan XLPH
Fortgeschritten


Verfasst am:
01. März 2012, 09:56
Rufname: Phelan

AW: Ändern Set Bereich - AW: Ändern Set Bereich

Nach oben
       Version: Office 2003

Hast du leerzeilen
_________________
Was vorstellbar ist, ist auch machbar. - Albert Einstein
Messegast-Hannover
Gast


Verfasst am:
01. März 2012, 10:12
Rufname:

AW: Ändern Set Bereich - AW: Ändern Set Bereich

Nach oben
       Version: Office 2003

Ich habe jetzt alle Leerzeilen entfernt (entsprechend sortiert).
Aber er exportiert jetzt nur bis Zeile 317 der Original-Datei. Und das steht nichts anderes drin vom Aufbau her als in den vorigen Zeilen oder den danach noch folgenden Zeilen.

Danke
slowboarder
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. März 2012, 10:21
Rufname:

AW: Ändern Set Bereich - AW: Ändern Set Bereich

Nach oben
       Version: Office 2003

Hi

wenn du maximal 2500 Zeilen exportiern willst, dann kannst du das so einschänken:

Set Bereich = Intersect(Range("1:2500"), ActiveSheet.Usedrange

oder so:

Set Bereich = ActiveSheet.Usedrange.Resize(2500)

Gruß Daniel
Messegast-Hannover
Gast


Verfasst am:
01. März 2012, 10:51
Rufname:

AW: Ändern Set Bereich - AW: Ändern Set Bereich

Nach oben
       Version: Office 2003

Recht herzlichen Danke,

die zweite Variante hat funktioniert.

Bei Variante 1 (Set Bereich = Intersect(Range("1:2500"), ActiveSheet.Usedrange) bekam ich die Fehlermeldung: Fehler beim Kompilieren: Syntaxfehler:


Danke nochmals und Gruß
Messegast-Hannover
slowboarder
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. März 2012, 11:02
Rufname:


AW: Ändern Set Bereich - AW: Ändern Set Bereich

Nach oben
       Version: Office 2003

HI
naja, wenn du schon bei einfachen rechtschreibfehlern wie Klammer-Zu vergessen nicht weiterkommst, wie behebst du dann deine eigenen?
Gruß Daniel
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Zuordnung einer Zahl in einem Bereich... 2 roland330 880 26. März 2007, 12:50
Gast Zuordnung einer Zahl in einem Bereich...
Keine neuen Beiträge Excel Formeln: Hilfe zu Bereich.Verschieben 0 ManuelaG 680 06. März 2007, 19:50
ManuelaG Hilfe zu Bereich.Verschieben
Keine neuen Beiträge Excel Formeln: Verweis für einen Bereich(Summe) 3 TheCrow 1415 27. Feb 2007, 12:30
TheCrow Verweis für einen Bereich(Summe)
Keine neuen Beiträge Excel Formeln: Formelproblem: Markierung Ändern 1 WildThing 400 31. Jan 2007, 09:57
Labasocke Formelproblem: Markierung Ändern
Keine neuen Beiträge Excel Formeln: WENN über Bereich anwenden möglich? 3 stephcar 1292 27. Jul 2006, 13:53
fridgenep WENN über Bereich anwenden möglich?
Keine neuen Beiträge Excel Formeln: kgrösste aus Bereich mit bedingung 8 xl-newp 8830 14. Jul 2006, 17:34
Gast kgrösste aus Bereich mit bedingung
Keine neuen Beiträge Excel Formeln: Daten suchen und definierter Bereich kopieren 10 Andy010172 7087 19. Apr 2006, 11:33
Andy010172 Daten suchen und definierter Bereich kopieren
Keine neuen Beiträge Excel Formeln: Bereich verschieben Excel 2003 6 Ahnzi 6857 09. März 2006, 11:49
Ahnzi Bereich verschieben Excel 2003
Keine neuen Beiträge Excel Formeln: Bereich autom. anpassen lassen 3 Detlef 42 822 06. März 2006, 21:45
Detlef 42 Bereich autom. anpassen lassen
Keine neuen Beiträge Excel Formeln: Summe für einen bestimmten Bereich berechnen? 6 bruce 2852 07. Nov 2005, 20:14
Gast Summe für einen bestimmten Bereich berechnen?
Keine neuen Beiträge Excel Formeln: Summe wenn Bereich einem Kriterium entspricht 2 AMB 1018 10. Aug 2005, 16:14
AMB Summe wenn Bereich einem Kriterium entspricht
Keine neuen Beiträge Excel Formeln: Summenbildung für den Bereich von Anfang bis Ende 11 Dan0032 1108 19. Jul 2005, 08:05
Dan0032 Summenbildung für den Bereich von Anfang bis Ende
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel-Formeln