Moin zusammen, ich komme gerade nicht weiter. Ich habe eine Excel Datei, in der in Zelle G5 ein Wert steht. Dieser soll per Button geändert werden. Wenn man auf den Button klickt dann soll in einer anderen Datei in Spalte B der Wert gefunden werden und in der nächsten Zeile der Wert soll in "ThisWorkbook" in Zelle G5 eingefügt werden.
Allerdings... Bekomme ich immer nur den letzten wert der Spalte zurück und nicht den nächsten. Und ohne dem GoTo weiter, ist Excel scheinbar in einer Dauerschleife.
Ich hoffe, das mir einer helfen kann, Programmieren in PHP und C# bekomme ich hin. aber. VBA ist irgend wie.... Keine Ahnung. XD
Code:
Sub btnPlus()
Dim varOpenFile As Workbook Dim strDatei As String Dim strOldValue As String
strOldValue = Range("G5").Value
strDatei = "Liste Wiegeschein EDV.xlsx" Set varOpenFile = Workbooks.Open(strDatei)
For i = 1 To Rows.Count If Cells(i + 1, 2) = strOldValue Then Cells(i, 2).Copy GoTo weiter End If Next
weiter:
ThisWorkbook.Activate
Range("H5").Select ActiveSheet.Paste varOpenFile.Close End Sub
Deine Angaben sind etwas wirr und widersprüchlich. Versuch es mal so:
Code:
Sub btnPlus()
Dim varOpenFile As Workbook Dim rngFind As Range Dim wksSheet As Worksheet Dim strDatei As String
Set wksSheet = ActiveSheet strDatei = "Liste Wiegeschein EDV.xlsx" Set varOpenFile = Workbooks.Open(strDatei) Set rngFind = varOpenFile.ActiveSheet.Columns(2).Find(wksSheet.Range("G5").Value) If Not rngFind Is Nothing Then wksSheet.Range("G5").Value = rngFind.Offset(1, 0).Value End If varOpenFile.Close False End Sub
22.09.2022, 16:27 (Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2022, 16:34 von Mavericklp.)
Der Code macht Sinn. Aber es passiert nichts. Auch wenn ich das rngFind.Offset ändere passiert nichts.
Der IF Teil wird einfach übersprungen
Wenn ich schritt für schritt durchgehe, dann steht in wksSheet.Range("G5").Value Der wert aus der Liste Wiegeschein EDV und nicht aus der Vorlage der Wert 20619
22.09.2022, 16:34 (Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2022, 16:35 von Der Steuerfuzzi.)
Dann findet er den Suchbegriff vielleicht nicht in Spalte 2?
Da auch nicht bekannt ist auf welchem Blatt in der geöffneten Datei die Werte stehen, habe ich das aktive genommen. Kannst aber auch statt Activesheet z. B. Sheets(1) für das erste nehmen.
In der Datei Wiegeschein EDV Volrage heißt die Tabelle WIEGESCHEIN. Diese soll dann die Datei Liste Wiegeschein EDV.xlsx öffnen und dort gibt es nur eine Tabelle mit dem Namen Tabelle1
Habe ich doch geschrieben. Wenn es nur eine Tabelle gibt, dann ist es ja die erste:
Code:
Sub btnPlus()
Dim varOpenFile As Workbook Dim rngFind As Range Dim wksSheet As Worksheet Dim strDatei As String
Set wksSheet = ActiveSheet strDatei = "Liste Wiegeschein EDV.xlsx" Set varOpenFile = Workbooks.Open(strDatei) Set rngFind = varOpenFile.Sheets(1).Columns(2).Find(wksSheet.Range("G5").Value) If Not rngFind Is Nothing Then wksSheet.Range("G5").Value = rngFind.Offset(1, 0).Value End If varOpenFile.Close False End Sub
Kommt der Suchbegriff auch in der Tabelle in Spalte 2 vor?
22.09.2022, 16:53 (Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2022, 17:09 von Mavericklp.)
Ja. Die Zahl habe ich extra raus kopiert. War auch meine erste vermutung.
Ich hab es trotzdem geändert in:
Code:
Set rngFind = varOpenFile.Worksheets("Tabelle1").Columns(2).Find(wksSheet.Range("G5").Value)
Anbei auch die Beiden Dateien, mit denen ich arbeite.
So zum Hinweis. die gelben Felder sind einfache SVerweise gewesen und in der Liste steht nur Werte. Mehr wird nicht gemacht.
Meine Aufgabe ist lediglich das die Person mit dem Button + und - die Lieferscheine durchgehen soll und diese dann vorne angezeigt bekommt. Die Kür wird dann am ende sein, das es zusätzlich noch einen Button gibt, der dann dafür sorgt, das VBA jeden Lieferschein öffnen soll und diesen automatisch drucken soll.
23.09.2022, 08:25 (Dieser Beitrag wurde zuletzt bearbeitet: 23.09.2022, 08:31 von Mavericklp.)
Guten Morgen, ich versuche über die Button den nächsten oder den Vorherigen Lieferschein zu bekommen.
Das war der Fehler. Ich hab nicht gesehen, das es eine Verbundene Zelle war. Ich bin davon ausgegangen, das G5 rechtsbündig ist und in F5 rein schreibt.
Vielen Vielen Dank für deine Hilfe! Die Button machen das was Sie sollen. Jetzt kommt die nächste Hürde. Alles ausdrucken.