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, 6425 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

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

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

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...