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

gelöst Ausgabe eines Excel VBA-Makros in eine .txt-Datei umleiten

Mitglied: jschikora

jschikora (Level 1) - Jetzt verbinden

04.08.2011 um 15:25 Uhr, 4268 Aufrufe, 2 Kommentare

Hallo zusammen,

ich habe folgendes Problem und hoffe ihr könnt mir weiterhelfen. Ich habe in einer Excel-Tabelle mehrere Spalten mit Parametern und brauche von diesen Parametern alle Kombinationen. Ein VBA-Skript das mir diese Kombinationen erzeugt habe ich schon geschrieben. Das Problem ist jetzt, dass Excel 2003 "nur" 65536 Zeilen hat, ich aber mittlerweile mehr Kombinationen brauche. Das Makro funktioniert also nicht mehr.

Gibt es eine Möglichkeit die Ausgabe des Makros direkt in eine Textdatei, zum Beispiel auf dem Desktop, umzuleiten, damit ich das Platzproblem umgehe. Der Code für das bisherige Kombinations-Makro sieht so aus:

01.
Sub combinations() 
02.
 
03.
Dim c1() As Variant 
04.
Dim c2() As Variant 
05.
Dim c3() As Variant 
06.
Dim c4() As Variant 
07.
Dim c5() As Variant 
08.
Dim c6() As Variant 
09.
Dim out() As Variant 
10.
Dim j, k, l, m, n, o, p As Long 
11.
 
12.
 
13.
Dim col1 As Range 
14.
Dim col2 As Range 
15.
Dim col3 As Range 
16.
Dim col4 As Range 
17.
Dim col5 As Range 
18.
Dim col6 As Range 
19.
Dim out1 As Range 
20.
 
21.
 
22.
Set col1 = Range("A2", Range("A2").End(xlDown)) 
23.
Set col2 = Range("B2", Range("B2").End(xlDown)) 
24.
Set col3 = Range("C2", Range("C2").End(xlDown)) 
25.
Set col4 = Range("D2", Range("D2").End(xlDown)) 
26.
Set col5 = Range("E2", Range("E2").End(xlDown)) 
27.
Set col6 = Range("F2", Range("F2").End(xlDown)) 
28.
 
29.
c1 = col1 
30.
c2 = col2 
31.
c3 = col3 
32.
c4 = col4 
33.
c5 = col5 
34.
c6 = col6 
35.
 
36.
Set out1 = Range("H2", Range("M2").Offset(UBound(c1) * UBound(c2) * UBound(c3) * UBound(c4) * UBound(c5) * UBound(c6))) 
37.
out = out1 
38.
 
39.
j = 1 
40.
k = 1 
41.
l = 1 
42.
m = 1 
43.
n = 1 
44.
o = 1 
45.
p = 1 
46.
 
47.
Do While p <= UBound(c6) 
48.
    Do While o <= UBound(c5) 
49.
        Do While n <= UBound(c4) 
50.
            Do While j <= UBound(c3) 
51.
                Do While k <= UBound(c2) 
52.
                    Do While l <= UBound(c1) 
53.
                        out(m, 1) = c1(l, 1) 
54.
                        out(m, 2) = c2(k, 1) 
55.
                        out(m, 3) = c3(j, 1) 
56.
                        out(m, 4) = c4(n, 1) 
57.
                        out(m, 5) = c5(o, 1) 
58.
                        out(m, 6) = c6(p, 1) 
59.
                        m = m + 1 
60.
                        l = l + 1 
61.
                    Loop 
62.
                    l = 1 
63.
                    k = k + 1 
64.
                Loop 
65.
                k = 1 
66.
                j = j + 1 
67.
            Loop 
68.
            j = 1 
69.
            n = n + 1 
70.
        Loop 
71.
        n = 1 
72.
        o = o + 1 
73.
    Loop 
74.
    o = 1 
75.
    p = p + 1 
76.
Loop 
77.
 
78.
out1.Value = out 
79.
End Sub 
80.
 
Mitglied: bastla
04.08.2011 um 15:52 Uhr
Hallo jschikora!

Du könntest vor Zeile 46 das Trennzeichen zwischen den einzelnen Werten festlegen sowie die Zieldatei erstellen mit
01.
Delim = vbTab 'Trennzeichen zwischen den Spalten 
02.
 
03.
Set fso = CreateObject("Scripting.FileSystemObject") 
04.
Set Datei = fso.CreateTextFile(CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Ausgabe.txt")
und dann die Zeilen 53 bis 58 durch
Datei.WriteLine c1(l, 1) & Delim & c2(k, 1) & Delim & c3(j, 1) & Delim & c4(n, 1) & Delim & c5(o, 1) & Delim & c6(p, 1)
ersetzen.

Das Testen überlasse ich Dir ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
05.08.2011 um 11:32 Uhr
Hallo jschikora!

Den Anfangsteil könnte man etwas vereinfachen:
01.
    Set col1 = Range("A2", Range("A2").End(xlDown)) 
02.
    Set col2 = Range("B2", Range("B2").End(xlDown)) 
03.
    Set col3 = Range("C2", Range("C2").End(xlDown)) 
04.
    Set col4 = Range("D2", Range("D2").End(xlDown)) 
05.
    Set col5 = Range("E2", Range("E2").End(xlDown)) 
06.
    Set col6 = Range("F2", Range("F2").End(xlDown)) 
07.
     
08.
    Set cols = Union(col1, col2, col3, col4, col5, col6) 
09.
     
10.
    For Each cell In cols.Cells 
11.
       'durläuft alle Zellen von col1 - col6 
12.
    Next 
13.
     
14.
    Set out1 = Range("H2", Range("M2").Offset(cols.Cells.Count - 1))
Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Linux
Ps Ausgabe in Datei umleiten
gelöst Frage von Matze1508Linux3 Kommentare

Hallo Zusammen, ich kann mir mit dem Befehl: ps -fC java einen output auf die Konsole ausgeben lassen. Allerdings ...

VB for Applications

Einlesen von Txt-Dateien mit unterschiedlichen Trennern mit Excel VBA

gelöst Frage von mhsk97VB for Applications12 Kommentare

Hallo Wissende, ich habe eine Textdatei mit unterschiedlichen Trennern vorliegen die ich über ein Excelmakro einlesen und schlußendlich als ...

VB for Applications

Excel Makros

Frage von chaos2goVB for Applications2 Kommentare

Hallo Gemeinde, File Größe über 500k Einträge Steigend . ich bekomme Monatlich ein Raw Dump aus unserer DB als ...

Microsoft Office

Excel VBA - Inhalte und Dateiname von txt-Dateien automatisch in Excel importieren

gelöst Frage von Booster07Microsoft Office2 Kommentare

Hallo zusammen, folgendes Problem habe ich so leider nicht im Internet finden können. Deshalb hoffe ich auf eure Hilfe. ...

Neue Wissensbeiträge
Administrator.de Feedback
Unsere Datenbank wurde umgestellt
Information von Frank vor 1 StundeAdministrator.de Feedback

Hallo User, ich habe in der Nacht unsere Datenbank umgestellt. D.h. neue Version (MySQL 8) und andere Örtlichkeit. Sollte ...

Sonstige Systeme
Es war einmal ein BeOS - Wer erinnert sich noch?
Information von BassFishFox vor 2 TagenSonstige Systeme5 Kommentare

Hallo, Bin gerade ueber Haiku gestolpert, von dessen Existenz als "Nachfolger des BeOS" ich wusste nur mich nie wirklich ...

Datenschutz

Microsoft und DSGVO - ob das wohl jemals klappt (Probleme beim Datenabfluss für Office Pro Plus)?

Tipp von VGem-e vor 2 TagenDatenschutz3 Kommentare

Servus Kollegen, siehe Aber wer setzt schon MS Office Pro Plus ein? Wie dann der Stand beim "normalen" MS ...

Windows 10

Macht Windows 10.1809 Probleme mit gemappten Netzlaufwerken (betrifft wohl insbes. AMD-Hardware und Trend Micro AV-Produkte)?

Tipp von VGem-e vor 2 TagenWindows 103 Kommentare

Moin Kollegen, grad dazu gefunden und Hatten wir dies nicht bei früheren W10-Upgrades ebenfalls? Da bleibt nur, das Upgrade ...

Heiß diskutierte Inhalte
Windows 10
Programm unter Windows 10 automatisch mit administrativen Rechten starten
Frage von GrafmulderWindows 1016 Kommentare

Hallo zusammen! Zur Situation: Ich benutze Windows 10 Pro für Workstations (Build 1803) mit zwei Konten. Einem Administratorkonto und ...

Windows Server
Cisco Annyconnect Secure Mobility Client - Windows2003 Server unable to connect
Frage von novregenWindows Server11 Kommentare

Von einem Windows 2003 Server soll eine Verbindung über Cisco Anyconnect Mobility Client zu einer Gegenstelle aufgebaut werden. Die ...

LAN, WAN, Wireless
Empfehlung Powerline Adapter
Frage von AgilolfingerLAN, WAN, Wireless9 Kommentare

Hallo Zusammen, ich brauche eine Empfehlung von euch. Ich möchte in einem privaten Haushalt eine Powerline Lösung einrichten. Allerdings ...

Microsoft
Schulungs-Microsoft-Konten zentral verwalten
Frage von thejarneMicrosoft9 Kommentare

Hallo zusammen, wir haben bei uns in der Firma 12 Computer-Arbeitsplätze für EDV-Schulungen, wo u.A. auch Computer-Basics-Kurse (wie verwende ...