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, 5766 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 ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel Datei automatisch , jede Woche , an bestimmten Drucker ausdrucken. (7)

Frage von tomigun zum Thema Microsoft Office ...

Batch & Shell
gelöst Datei aus Verzeichnis auslesen? (4)

Frage von freshman2017 zum Thema Batch & Shell ...

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

Frage von Frager zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(1)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Windows 10
Windows 10 Home "Netzlaufwerk nicht bereit" (11)

Frage von Oggy01 zum Thema Windows 10 ...

SAN, NAS, DAS
+100tb Storagelösung (10)

Frage von Data-Fabi zum Thema SAN, NAS, DAS ...