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

gelöst Daten in bestimmte Zeile eintragen

Mitglied: trmanky

trmanky (Level 1) - Jetzt verbinden

05.09.2011 um 12:03 Uhr, 3327 Aufrufe, 4 Kommentare

Hallo IT-Gemeinde,

ich habe ein relativ kompliziertes Problem, jedenfalls lässt sich danach schlecht bei Google suchen :D

Folgender Hintergrund:
Ich habe den Auftrag eine Datenbank für ein neues Produkt zu erstellen. Das Produkt besteht dabei aus verschieden Einzelteilen, die wir selbst zusammenfügen. Jedes Teil hat eine eigene Seriennummer usw.
Dazu hab ich als erstes eine Tabelle erstellt mit den verschiedenen Seriennummern, Montagedatum und Monteur.
Um die Daten nun schnell eingeben zu können, habe ich ein Eingabeformular erstellt, Buttons mit Makros setzen eine neue Zeile ein und setzen die Werte nun in die jeweilige Spalte ein, sodass sich die Liste von oben nach unten füllt.

Nun soll es noch einen Testlauf geben. Gesagt getan, habe ich ein Formular für diesen Testlauf erstellt. Diese Daten sollen ebenfalls in die Tabelle. Ich habe die Tabelle also um die Punkte des Testlaufs erweitert und wollte gerade mit der Erstellung des Makros zur Eingabe der Daten in die Tabelle beginnen, als ich auf mein Problem stieß:

Wie finde ich den Datensatz (also das montierte Produkt) in meiner Tabelle, um in der gleichen Zeile die Daten für den Testlauf einzutragen? Bei der Montage erhält das Produkt eine eigene Seriennummer, d.h. hinter einer Seriennummer stecken die einzelnen Nummern der Bauteile. Das Problem ist nämlich, dass nicht zwingend direkt nach der Montage der Testlauf durchgeführt wird. Ich kann also nicht einfach in der aktuelle Zeile arbeiten, sondern muss die Zeile der Seriennummer entsprechend erst suchen.

Nun muss ich also per Makro nach der Seriennummer suchen, die Zeile auswählen, dann X Schritte nach rechts (zu der jeweiligen Spalte, in der der erste Datensatz des Testprotokolls eingegeben werden soll), um dann die Daten nacheinander eintragen lassen zu können.

Ich weiß, ich könnte es mir einfach machen und eine zweite Tabelle anfangen, nur für die Testprotokolle, aber das möchte ich nicht. Ich möchte alles in einer Tabelle stehen haben. Gibt es eine Möglichkeit das zu bewerkstelligen?

Meine Kenntniss in VBA sind sehr, sehr, sehr, sehr gering, also bräuchte ich eine relativ ausführliche Erläuterung =)

VG
Mitglied: bastla
05.09.2011 um 12:20 Uhr
Hallo trmanky!
Wie finde ich den Datensatz (also das montierte Produkt) in meiner Tabelle
Gegenfrage - wie würdest Du das in der Tabelle ohne VBA machen? Wenn Du darauf eine Antwort hast, ist der Weg (über ein aufgezeichnetes Makro als Zwischenschritt) gar nicht mehr weit ...

Grüße
bastla
Bitte warten ..
Mitglied: trmanky
05.09.2011 um 12:38 Uhr
Hallo bastla,

diesen Gedanken hatte ich auch schon und habe prompt ein Makro aufgezeichnet und dann auf Suchen + Auswählen geklickt, die Zelle auf dem Testlaufprotokoll mit der Seriennummer angewählt kopiert und eingefügt und schließlich gesucht. Aber wenn ich mir nun das Makro anschaue, steht da:

Range("D5").Select
Selection.Copy
Sheets("Rekorder-SN").Select
Cells.Find(What:="123456", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate

unter "Cells.Find(What=123456..." sehe ich, dass er zwar nach der SN (hier nur eine Test-SN :D) sucht, aber eben nicht nach dem variablen kopierten aus D5 sondern nach der exakten Nummer. Das ist doch nicht richtig oder? Und wie kann ich jetzt die jeweiligen Spalten anwählen? Über den Cells-Befehl?

VG
Bitte warten ..
Mitglied: bastla
05.09.2011 um 12:53 Uhr
Hallo tmanky!

Der nächste Schritt wäre, zum einen die Konstante "123456" durch eine Variable oder einen Bezug auf die Zelle (also zB Cells(5, "D").Value)) zu ersetzen und zum anderen, in der Online-Hilfe nach "Find" zu suchen ...

... und da das uU nicht unmittelbar zum gewünschten Ergebnis führt, einen anderen Begriff aus dem aufgezeichneten Suchvorgang, also etwa "SearchOrder" oder "LookIn" zu verwenden - früher oder später bist Du dann bei der "Range.Find"-Methode angekommen.
Die Zeile einer Zelle findest Du übrigens mit ".Row" heraus ...

Grüße
bastla

P.S.: Wenn Du Code postest, verwende doch bitte die passende Formatierung ...
Bitte warten ..
Mitglied: trmanky
06.09.2011 um 12:52 Uhr
Heyho,

ich habs gelöst =) mit ein bisschen von allem :D

01.
' suchen Makro 
02.
Dim i As Integer 
03.
' D7 Suchzelle kopieren 
04.
 Sheets("Testprotokoll").Select 
05.
    Range("D5").Select 
06.
    Selection.Copy 
07.
    Sheets("Rekorder-SN").Select 
08.
    Range("V1").Select 
09.
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ 
10.
        SkipBlanks:=False, Transpose:=False 
11.
' Inhalt Ergebnis kopieren 
12.
Sheets("Testprotokoll").Select 
13.
    Range("D7").Select 
14.
    Selection.Copy 
15.
    Sheets("Rekorder-SN").Select 
16.
' Suchen und einfügen 
17.
For i = 3 To 4000 
18.
If Cells(i, 2) = Cells(1, 22) Then 
19.
 
20.
Range("C" & i).Select 
21.
ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 7).Activate 
22.
 
23.
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ 
24.
        SkipBlanks:=False, Transpose:=False 
25.
 
26.
On Error Resume Next 
27.
End If 
28.
Next
Hoffe, die Formatierung hat geklappt.
Ich habe mir als erstes eine Suchzelle "erschaffen". Also eine Zelle im Blatt der Tabelle, in die ich die gesuchte SN jedes mal hineinkopiere. Danach kopiere ich den in die Tabelle einzufügenden Inhalt und beginne mit der Suche nach meiner SN.
Ist die gefunden, springe ich bestimme Schritte(=Zellen) nach rechts und kopiere die Daten hinein.
Das wäre also erledigt, nun habe ich aber ein weiteres Problem, dazu eröffne ich aber ein neues Thema :D

Danke, für die Hilfe, vllt schaust du in mein neues Thema auch gleich nochmal rein

VG
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch - Ein logfile auf änderungen prüfen und in den letzten Zeilen nach MEHREREN BESTIMMTEN einträgen suchen?

Frage von AnomalyxBatch & Shell6 Kommentare

Hallo, Ich benötige eine Abfrage die überprüft ob die Datei workshop_log.txt sich verändert hat. Falls das Logfile sich verändert ...

Entwicklung

Programmierung - In Textdatei an einer bestimmten Stelle einen bestimmten Wert eintragen

gelöst Frage von JimStarEntwicklung1 Kommentar

Guten Morgen zusammen, habe ein kleines Problem: Ich soll ein Script schreiben, welches durch ausführen eine bestimmte Datei bearbeitet. ...

Batch & Shell

Batch Zeile für Zeile auslesen und jede Zeile eine bestimmte Variable zuweisen

gelöst Frage von CerauxBatch & Shell4 Kommentare

Hallo, ich habe schon überall gesucht und noch nichts gefunden wie man Zeilen bestimme Variablen zuweist. Zum Beispiel: file.txt: ...

Batch & Shell

Bestimmte Zeilen einer Datei addieren - Linux

gelöst Frage von lapvikaBatch & Shell2 Kommentare

Hallo zusammen, ich habe eine Datei die wie folgt aussieht: 536870912 - System1_2 536870912 - System1_3 536870912 - System1_4 ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 16 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 22 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...