Top-Themen

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

Frage Microsoft Microsoft Office

GELÖST

Makro: Bereich auf freie Zellen untersuchen und Inhalt einfügen

Mitglied: BerndVorwerk

BerndVorwerk (Level 1) - Jetzt verbinden

31.07.2014, aktualisiert 21:10 Uhr, 993 Aufrufe, 2 Kommentare

Hallo an alle,
ich bräuchte einmal mehr Hilfe bei dem Erstellen eines Makros.
Ich möchte gerne aus dem Tabellenblatt "Übersicht" die Zelle A1 kopieren und in Tabellenblatt "Auftrag" im Bereich B2 bis C4 (also 9 mögliche Zellen) in die nächst freie Zelle einfügen lassen. Reihenfolge der Kontrolle soll dabei sein: B2, B3, B4, C2, C3; ...
Falls also B2, B3, B4 und C2 belegt sind, soll in C3 eingefügt werden.
Ich habe einige Lösungen gefunden, in denen ganze Zeilen oder eine Spalte auf Leere überprüft wird, leider aber nicht, wie man einen Bereich aus mehreren Zeilen und Spalten abfragt.
Es wäre super wenn ihr eine Lösung hättet.
Danke und Gruß,
Bernd
Mitglied: colinardo
LÖSUNG 31.07.2014, aktualisiert um 21:25 Uhr
Hallo Bernd,
für diesen Fall gibt es in der Range.Find-Methode den Parameter SearchOrder mit dem sich auch nach Spaltenreihenfolge suchen lässt:
Variante 1: (mit Range.Find)
01.
Sub FindNextEmpty() 
02.
    dim ws1 as Worksheet, ws2 as Worksheet, c as Range 
03.
    Set ws1 = Worksheets("Übersicht")    'Übersichtstabelle 
04.
    Set ws2 = Worksheets("Auftrag")       'Auftragstabelle 
05.
    With ws2.Range("B2:C4") 
06.
        Set c = .Find("", LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns) 
07.
        If Not c Is Nothing Then 
08.
            c.Value = ws1.Range("A1").Value 
09.
        End If 
10.
    End With 
11.
End Sub
Es geht zwar auch manuell mit zwei verschachtelten For-Schleifen über die Spalten und Zeilen, aber die Find-Methode ist hier, gerade wenn der Bereich der durchsucht werden soll größer ist, eleganter und schneller.

Falls es dich trotzdem interessieren sollte wie die manuelle Suche aussieht, hier noch diese Variante:
Variante 2: (mit verschachtelten FOR-Schleifen)
01.
Sub FindNextEmpty() 
02.
    Dim ws1 As Worksheet, ws2 As Worksheet, c As Integer, r as Integer, rngSearch As Range 
03.
    Set ws1 = Worksheets("Übersicht")    'Übersichtstabelle 
04.
    Set ws2 = Worksheets("Auftrag")       'Auftragstabelle 
05.
    Set rngSearch = ws2.Range("B2:C4") 
06.
    For c = 1 To rngSearch.Columns.Count 
07.
        For r = 1 To rngSearch.Rows.Count 
08.
            If rngSearch.Cells(r, c).Value = "" Then 
09.
                rngSearch.Cells(r, c).Value = ws1.Range("A1").Value 
10.
                Exit Sub 
11.
            End If 
12.
        Next 
13.
    Next 
14.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: BerndVorwerk
31.07.2014 um 21:10 Uhr
Super,
Danke
Bitte warten ..
Ähnliche Inhalte
Basic
Zellen vergleichen und Inhalt aus dritte Zelle einfügen
gelöst Frage von Rabbit81Basic3 Kommentare

Hallo, ich habe schon sehr gute Erfahrungen in diesem Forum gemacht und deswegen wende ich mich wieder an euch. ...

Microsoft Office
Excel: freie Zelle suchen und Wert einfügen
gelöst Frage von BerndVorwerkMicrosoft Office6 Kommentare

Noch einmal Hallo an alle, dieses Script: Private Sub Worksheet_Activate() If Sheets("Versuchsauftrag").Range("A40").Value = 0 Then Dim c As Range ...

Microsoft Office
Excel 2010 Zellen mit bestimmten Inhalt mit Makro formartierten
gelöst Frage von packmann2016Microsoft Office5 Kommentare

ich möchte mit Hilfe einem Makro Zellen die einen bestimmten Inhalt ("G" und "A") haben ausblenden. Versuchte mit dem ...

Microsoft Office
Wenn Inhalt Zelle X dann bestimmte Zellen
gelöst Frage von KnuefiMicrosoft Office2 Kommentare

Hallo zusammen, ich hoffe mir kann jemand weiterhelfen. Ich habe eine Excel Datei mit zwei Tabellen Blätter Tabelle1 Tabelle2 ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall9 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen7 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...