Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Excel Datei - Werte per Macro auslesen

Frage Microsoft Microsoft Office

Mitglied: cico2610

cico2610 (Level 1) - Jetzt verbinden

05.02.2009, aktualisiert 12:11 Uhr, 5760 Aufrufe, 2 Kommentare

Liebe VBA Experten!

Habe folgendes Problem: eine Excel Datei mit ins. 14 Arbeitsblättern (1-4 sind Kalkulationen, welche auf 5-14 zugreifen.

Ich möchte nun entweder in einer neuen Datei, oder in einem 15 Arbeitsblatt alle Zeilen der Arbeitsblätter 5-14 auslesen, welche in der Spalte D (ab Zeile 5) den Wert > 1 haben (vorzugsweise nicht die ganze Zeile sondern nur Spalten B-D)

Ich habe zwar einige ähnliche Problemstellungen in diesem Forum gefunden, aber als absoluter VBA Neuling schaffe ich das ohne fremde Hilfe nicht.

Danke schon mal im Voraus.

cico
Mitglied: bastla
05.02.2009 um 21:43 Uhr
Hallo cico2610!

Das ließe sich zwar auch kürzer schreiben, aber ich habe versucht, das Ganze etwas allgemeiner zu halten:
01.
Sub Zusammenfassen() 
02.
QSVon = "B" 'erste zu übertragende Spalte der Quelltabelle 
03.
QSBis = "D" 'letzte zu übertragende Spalte der Quelltabelle 
04.
QSKrit = "D" 'Spalte der Quelltabelle, welche als Kriterium herangezogen wird 
05.
QZVon = 5 'erste zu übertragende Zeile der Quelltabelle 
06.
Set ZT = Worksheets("Zusammenfassung") 'Name der Zieltabelle 
07.
ZS = "A" 'Spalte, ab welcher die Daten in die Zieltabelle geschrieben werden sollen 
08.
ZZ = 2 'Zeile, ab welcher die Daten in die Zieltabelle geschrieben werden sollen 
09.
 
10.
ZSAnz = Range(Cells(1, QSVon), Cells(1, QSBis)).Columns.Count ' Anzahl der zu übertragenden Spalten ermitteln 
11.
 
12.
For i = 5 To 14 'lfd Tabellennummern der Quelltabellen (alternativ: Array mit den Namen der Quelltabellen verwenden) 
13.
    QZ = QZVon 'in Zeile, ab welcher aus der jeweiligen Quelltabelle Daten übernommen werden sollen, starten 
14.
    With Worksheets(i) 'Quelltabelle 
15.
        Do While .Cells(QZ, QSKrit).Value <> "" 'Schleife, solange in der Kriterienspalte noch Daten vorhanden sind 
16.
            If .Cells(QZ, QSKrit).Value > 1 Then 'hier das Kriterium (">1") festlegen 
17.
                Daten = .Range(.Cells(QZ, QSVon), .Cells(QZ, QSBis)).Value 'Werte aus der Quelltabelle in Array übertragen 
18.
                ZT.Cells(ZZ, ZS).Resize(1, ZSAnz) = Daten 'Array in Zieltabelle schreiben 
19.
                ZZ = ZZ + 1 'nächste Zeile der Zieltabelle festlegen 
20.
            End If 
21.
            QZ = QZ + 1 'nächste Zeile der Quelltabelle festlegen 
22.
        Loop 
23.
    End With 
24.
Next 
25.
End Sub
Anzupassen sind ggf die Zeilen 2 bis 8, 12 (Tabellen) und 16 (Kriterium).

Grüße
bastla
Bitte warten ..
Mitglied: cico2610
06.02.2009 um 11:04 Uhr
Besten Dank vorab - werde es am Wochenende ausprobieren.
lg
cico
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Microsoft Office
Excel Dateien durchsuchen und Werte einzeln in neue Excel Datei auslesen (1)

Frage von krischanii zum Thema Microsoft Office ...

VB for Applications
gelöst VB Skript Excel Datei (3)

Frage von Frager zum Thema VB for Applications ...

Microsoft Office
gelöst Excel Datei bleibt unbearbeitet trotz täglichem Zugriff (61)

Frage von Edaseins zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (24)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (14)

Frage von bogi1102 zum Thema Exchange Server ...

DNS
Brauche einen Nameserver (12)

Frage von leon123 zum Thema DNS ...