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, 3334 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: ...

PHP

PHP: Wert nur in bestimmter Zeile erhöhen

gelöst Frage von Sven32PHP7 Kommentare

Hallo Zusammen, ich habe mir ein kleines Script gebastelt, dass mir in einer Textdatei die als Datenbank fungiert einen ...

Neue Wissensbeiträge
Windows Netzwerk
Windows Admin Center - Sagt was ihr braucht!
Tipp von Juanito vor 19 StundenWindows Netzwerk12 Kommentare

Hallo zusammen, der ein- oder andere hat sicherlich schon vom Windows Admin Center gehört. - Microsoft's neue Adminkonsole welche ...

Verschlüsselung & Zertifikate

Bitlocker-Verschlüsselung und -Monitoring ohne MBAM

Tipp von DerWoWusste vor 1 TagVerschlüsselung & Zertifikate

Der Folgende Tipp beschreibt, wie man ohne MBAM die Verschlüsselung erzwingt und monitort. MBAM ist ein Enterprise-Benefit und somit ...

Netzwerkprotokolle
IPv6 Konfiguration von Site-Site-VPN ohne feste IP
Anleitung von lcer00 vor 2 TagenNetzwerkprotokolle1 Kommentar

Hallo zusammen, vor einiger Zeit hatte ich hier eine Frage zu dem Thema gepostet: Da war noch etwas offen. ...

Verschlüsselung & Zertifikate
Nutzung von Bitlocker in virtuellen Maschinen
Tipp von DerWoWusste vor 3 TagenVerschlüsselung & Zertifikate3 Kommentare

Vorbetrachtung: Wen sollte das interessieren? Wer virtuelle Maschinen zum Test auf seiner lokalen Festplatte speichert, wird diese nur selten ...

Heiß diskutierte Inhalte
Viren und Trojaner
Viren zu Testzwecken gesucht
Frage von ElHuttiViren und Trojaner20 Kommentare

Hallo, Ich suche zum rumtrollen auf einem alten PC Viren, die: - Keine Komponenten beschädigen - Keine Auswirkungen auf ...

Voice over IP
Andere Rufnummer bei abgehenden Gesprächen vom All-IP-Anschluß der Telekom anzeigen
Frage von vafk18Voice over IP17 Kommentare

Ich möchte bei abgehenden Gesprächen vom All-IP-Anschluß der Telekom meine Handynummer hinterlegen, damit ich Rückrufe jederzeit empfangen kann. Derzeit ...

Monitoring
Empfehlung für Server-Monitoring gesucht
Frage von LordGurkeMonitoring15 Kommentare

Moin, wir sehen uns momentan ein wenig nach einer Alternative zu unserem jetzigen Server-Monitoring um. Getestet habe ich bisher ...

Windows 10
Windows 10 mit CRITICAL PROCESS DIED
Frage von liquidbaseWindows 1013 Kommentare

Das aktuelle Problem was ich habe steht bereits im Threadtitel. Etwas mehr zum Hintergrund soll nun folgen. Problemkind ist ...