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
GELÖST

Per Makro in einer Excel Namen suchen, range makieren, range kopieren, andere Excel, in Range einfügen

Frage Entwicklung VB for Applications

Mitglied: ColdZero89

ColdZero89 (Level 1) - Jetzt verbinden

26.07.2012, aktualisiert 11:20 Uhr, 6602 Aufrufe, 2 Kommentare

Vorhanden sind 2 Daten. Einmal tagesaktuelle auslesungen und die Zieldatei in die einige Daten müssen.

Moin,

in der Überschrift in Kurzform gehalten, hier nun in der Langform erklärt.

Ich habe eine Datei in der Tagesaktuelle auslesungen von PV Anlagen sind. Da es vorkommen kann das dort weitere PV Anlangen hinzukommen, ist es nicht möglich eine Feste Range mitzugeben, die das kopieren soll.

Plan war nun ein Makro zu schreiben was in die tagesauslesung geht, nach dem PV Anlagennamen sucht (In Spalte A) dann die Werte der einzelnen Wechselrichter kopiert (eine Zeile tiefer und in Spalte B). Die Anzahl der Wechselrichtger (Pro WR eine Zeile) ist somit FEST.

Dass das Makro in EINER Datei sucht und die Zeilen findet funktionierte. Nun wollte ich das um die Dateiöffnung und der dortigen Suche erweitern.

In der Tagesauslesung heißt die Mappe "Sheet1" in der Zieldatei immermal anders in meinem BEispiel nun "Tabelle1".

Das Makro ist bisher so aufgebaut das ich vorab nach und nach die Variablen setze und diese dann per Schleife aufrufen lasse.
Somit müsste auch per Variable die Range in die die Daten in die Zieldatei sollen per Variabler übergeben werden, da sich diese ja ständig ändert.

In meinem BEispiel ist Dettenhofen betroffen. In der Zieldatei sollen die Daten in die Range B4:B14

Die Maximale Zeilenanzahl ist 300 in der Tagesauslesungsdatei in der er Suchen soll.

Nachdem ich nun das Makro um die Öffnung der AUslegunsdatei erweitert habe springt er beim Debuggen nicht mehr soweit um die Zeilen zu Makieren.
Ich verzweifle grad!

Danke für eure Hilfe, sollten noch Fragen sein, dann fragt

Makro:
01.
Sub Filtern() 
02.
 
03.
Dim Parknummer As Integer 
04.
Dim Parkname As String 
05.
Dim Suchbereich As Integer 
06.
Dim WRAnzahl As Byte 
07.
 
08.
 'Excel öffnen 
09.
    Workbooks.Open Filename:= _ 
10.
        "N:\PFAD\_tagesauslesung_zählerstände.xls" _ 
11.
         
12.
'Einsetzen der entsprechenden Daten 
13.
For Parknummer = 1 To 1 
14.
 If Parknummer = 1 Then 
15.
  Parkname = "Dettenhofen" 
16.
  WRAnzahl = 11 
17.
 End If    
18.
    
19.
'Suchen nach Parkname, Auswahl der Daten entsprechend der Anzahl 
20.
For Suchbereich = 1 To 300 
21.
 Workbooks("_tagesauslesung_zählerstände").Activate 
22.
 If Cells(Suchbereich, 1) = Parkname Then 
23.
   Cells(Suchbereich, 1).Select 
24.
   Selection.Offset(1, 1).Select 
25.
   Range(Cells(ActiveCell.Row, 2), Cells((ActiveCell.Row + (WRAnzahl - 1)), 2)).Select 
26.
 Selection.Copy 
27.
 
28.
Exit For 
29.
End If 
30.
 
31.
    Next 
32.
 Next 
33.
End Sub
Mitglied: ColdZero89
26.07.2012, aktualisiert um 11:31 Uhr
Moin,

ok, nach kleinem hin und her, fehler mit "End If" und "Exit For" gefunden. Die hab ich verdreht.
Nun Makiert er.

Dann kann ich nun weiter basteln. Vielleicht hat jemand eine elegantere Lösung, denke aber so bin ich aufm guten Weg.
Bitte warten ..
Mitglied: ColdZero89
26.07.2012, aktualisiert um 14:50 Uhr
Moin,

FERTIG :D

Das Script ist nun Variabel erweiterbar, führt die zu öffnende Datei im Hiddenmode aus und schließt sich danach wieder.

01.
Sub Filtern() 
02.
 
03.
Application.ScreenUpdating = False 'Screen off 
04.
 
05.
'Marko um in der Tagesauslesung nach Parknamen zu suchen um diese zu Kopieren und in die Tabelle einzutragen 
06.
 
07.
Dim Parknummer As Integer 
08.
Dim Parkname As String 
09.
Dim Suchbereich As Integer 
10.
Dim WRAnzahl As Byte 
11.
 
12.
 
13.
'Excel Datei öffnen 
14.
    Workbooks.Open Filename:= _ 
15.
        "N:\PFAD\_tagesauslesung_zählerstände.xls" _ 
16.
 
17.
    'Deklarierung der Entsprechenden Daten 
18.
    For Parknummer = 1 To 3 'Erste Schleife 
19.
     If Parknummer = 1 Then 
20.
        Parkname = "Dettenhofen" 
21.
        WRAnzahl = 11 
22.
     End If 
23.
    If Parknummer = 2 Then 
24.
        Parkname = "Oberostendorf" 
25.
        WRAnzahl = 9 
26.
     End If 
27.
     If Parknummer = 3 Then 
28.
        Parkname = "Münster" 
29.
        WRAnzahl = 12 
30.
     End If 
31.
     
32.
        'Suchlauf nach Parknamen. Kopieren und Einfügen der Daten 
33.
        Workbooks("_tagesauslesung_zählerstände.xls").Activate 
34.
        For Suchbereich = 1 To 300 'Zweite Schleife 
35.
            If Cells(Suchbereich, 1) = Parkname Then 
36.
                Cells(Suchbereich, 1).Select 
37.
                Selection.Offset(1, 1).Select 
38.
                Range(Cells(ActiveCell.Row, 2), Cells((ActiveCell.Row + (WRAnzahl - 1)), 2)).Select 
39.
                Selection.Copy 
40.
         
41.
            Workbooks("testdatei2.xls").Activate 
42.
            For Copybereich = 1 To 300 'Dritte Schleife 
43.
                If Cells(Copybereich, 1) = Parkname Then 
44.
                    Cells(Copybereich, 1).Select 
45.
                    Selection.Offset(1, 1).Select 
46.
                    Range(Cells(ActiveCell.Row, 2), Cells((ActiveCell.Row + (WRAnzahl - 1)), 2)).Select 
47.
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
48.
                        :=False, Transpose:=False 
49.
            Exit For 'Dritte Schleife 
50.
                End If 
51.
            Next 'Dritte Schleife 
52.
        Exit For 'Zweite Schleife 
53.
            End If 
54.
                       
55.
        Next 'Zweite Schleife 
56.
    Next 'Erste Schleife 
57.
     
58.
    'Excel Datei schließen 
59.
    Workbooks("_tagesauslesung_zählerstände.xls").Close 
60.
     
61.
    Application.ScreenUpdating = True 'Screen on 
62.
     
63.
End Sub
Gruß Zero
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Nach bestimmten Ordner namen suchen und in einem anderem Pfad kopieren (8)

Frage von erdgnrft zum Thema Batch & Shell ...

Microsoft
Im ordner nach dateien aus excel liste suchen (2)

Frage von tioloco zum Thema Microsoft ...

Microsoft Office
Excel 2010 - Microsoft Excel kann die Daten nicht kopieren (4)

Frage von EDV-Oellerking zum Thema Microsoft Office ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

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

(11)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server Komplettspiegelung (13)

Frage von pdiddo zum Thema Windows Server ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...