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

Excel: freie Zelle suchen und Wert einfügen

Frage Microsoft Microsoft Office

Mitglied: BerndVorwerk

BerndVorwerk (Level 1) - Jetzt verbinden

01.08.2014, aktualisiert 23:45 Uhr, 1247 Aufrufe, 6 Kommentare

Noch einmal Hallo an alle,
dieses Script:

Private Sub Worksheet_Activate()
If Sheets("Versuchsauftrag").Range("A40").Value = 0 Then
Dim c As Range
If Sheets("Bewertungsübersicht").Range("B22") = "X" Then
With Sheets("Versuchsauftrag").Range("A40:Y41")
Set c = .Find("", LookIn:=xlValues, lookAt:=xlWhole, SearchOrder:=xlByColumns)
If Not c Is Nothing Then
c.Value = Sheets("Bewertungsübersicht").Range("A23").Value
End If
End With
End If
End If
End Sub

...soll folgendes tun: Wenn Zelle A40 vom Blatt Versuchsauftrag leer ist, soll wenn B22 aus Bewertungsübersicht X ist, der entsprechende Wert aus A22 im ersten freien Feld des Bereiches A40-Y41 eingefügt werden.
(Bitte nicht wundern: natürlich ist A40 dann immer frei und es macht eigentlich keinen Sinn, aber es sollen noch weitere Abfragen hinterher folgen. A40=0 soll nur dazu dienen, dass das Skript nur beim ersten mal auswählen des Arbeitsblattes ausgeführt wird)
Das ganze funktioniert eigentlich auch, nur wird der erste Wert (hier A22) nicht in die freie Zelle A40 eingetragen sondern in A41.... wieso?
Danke und Gruß,
Bernd
Mitglied: Pjordorf
01.08.2014 um 14:21 Uhr
Hallo,

Zitat von BerndVorwerk:
01.
Private Sub Worksheet_Activate() 
02.
If Sheets("Versuchsauftrag").Range("A40").Value = 0 Then 
03.
    Dim c As Rang 
04.
If Sheets("Bewertungsübersicht").Range("B22") = "X" Then 
05.
With Sheets("Versuchsauftrag").Range("A40:Y41") 
06.
    Set c = .Find("", LookIn:=xlValues, lookAt:=xlWhole, SearchOrder:=xlByColumns) 
07.
    If Not c Is Nothing Then 
08.
        c.Value = Sheets("Bewertungsübersicht").Range("A23").Value 
09.
    End If 
10.
End With 
11.
End If 
12.
End If 
13.
End Sub
In Zeile 02 prüfst du ob dort eine Wert gleich 0 (Ziffer NULL) eigetragen ist. 0 <> leer; leer <> Leerzeichen; NUL <> leer; NICHTS <> 0

...soll folgendes tun: Wenn Zelle A40 vom Blatt Versuchsauftrag leer ist,
Wird nur erfüllt wenn dort wirklich NICHTS drin steht

Das ganze funktioniert eigentlich auch, nur wird der erste Wert (hier A22) nicht in die freie Zelle A40 eingetragen sondern in A41.... wieso?
Weil in A40 eben kein NICHTS drin steht, wird die nächste genommen. Deine Zeile 7 sucht nach NICHTS. NICHTS <> 0

Und code Tags in der Formatierung tun dir auch nicht weh um dein Quellcode hier vernünftig darzustellen.

Gruß,
Peter
Bitte warten ..
Mitglied: colinardo
LÖSUNG 01.08.2014, aktualisiert um 23:45 Uhr
Das ganze funktioniert eigentlich auch, nur wird der erste Wert (hier A22) nicht in die freie Zelle A40 eingetragen sondern in A41.... wieso?
weil Range.Find beim Durchlauf die erste Zelle im Bereich immer ganz zum Schluss prüft.
Du müsstest hier den Bereich oben um eine Zelle vergrößern, oder du nimmst die Schleifen-Methode dich ich dir im letzen Post geschrieben habe.

Grüße Uwe
Bitte warten ..
Mitglied: BerndVorwerk
01.08.2014 um 14:38 Uhr
Hallo Peter,
danke für die schnelle Antwort!
ich hatte das Ganze auch schon probiert mit:

If Sheets("Versuchsauftrag").Range("A40").Value = "" Then

"" ist doch dann "nichts", oder?
Ich hatte die Zelle A40 vorher auf jeden Fall leer gemacht.

Dann wird das Ganze auch ausgeführt, aber trotzdem in A41 eingefügt.

code Tags? Wo finde ich hier eine Übesicht über Formatierungsmöglichkeiten? Bin noch ziemlich neu, sorry

Danke und Gruß,
Bernd
Bitte warten ..
Mitglied: colinardo
01.08.2014 um 14:40 Uhr
Zitat von BerndVorwerk:
code Tags? Wo finde ich hier eine Übesicht über Formatierungsmöglichkeiten? Bin noch ziemlich neu, sorry
http://www.administrator.de/faq/20
Bitte warten ..
Mitglied: Pjordorf
01.08.2014 um 14:52 Uhr
Hallo,

Zitat von BerndVorwerk:
"" ist doch dann "nichts", oder?
Unter Excel eher ISTLEER
"" ist eher ein Leerer String

Gruß,
Peter
Bitte warten ..
Mitglied: BerndVorwerk
01.08.2014 um 23:45 Uhr
Super,
damit hat es funktioniert!
Einmal mehr vielen Dank!
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
"Microsoft Excel kann die Daten nicht einfügen" (2)

Frage von arik12 zum Thema Microsoft Office ...

Microsoft Office
VBA Code zum Kopieren von einzelnen Zellen in Excel (3)

Frage von SebastianL zum Thema Microsoft Office ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (27)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Microsoft Office
Office Druck fehler (14)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

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

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...