Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

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, 6698 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
VB for Applications
Excel Makro zum Suchen von Spalten und exportieren in CSV (3)

Frage von Raptox zum Thema VB for Applications ...

Microsoft Office
"Microsoft Excel kann die Daten nicht einfügen" (2)

Frage von arik12 zum Thema Microsoft Office ...

Batch & Shell
gelöst Nach bestimmten Ordner namen suchen und in einem anderem Pfad kopieren (8)

Frage von erdgnrft zum Thema Batch & Shell ...

Neue Wissensbeiträge
Mac OS X

Apple hat macOS High Sierra veröffentlicht

Information von Frank zum Thema Mac OS X ...

Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

(4)

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(7)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

Heiß diskutierte Inhalte
Windows 10
gelöst Netzwerkkarte schaltet sich erst nach dem Logon ein (24)

Frage von DerWoWusste zum Thema Windows 10 ...

Windows Server
Seit IP Umstellung DC DNS Fehler (19)

Frage von Yaimael zum Thema Windows Server ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (15)

Frage von Voiper zum Thema Weiterbildung ...