HuoFenG Geschrieben 1. März 2013 Geschrieben 1. März 2013 Hi, Ich versuch mich mal an die Basics von VBA (woah Wortspiel xD) Nach und nach werde ich hier die Fragen zu dem kleinen Progrämmchen stellen.. Ich möchte auf ein Button drücken der mir ein Dialogfenster öffnet (eine InputBox). Über diese InputBox möchte ich dann in der letzten Spalte der Zeile 1 einen Wert eintragen. Was ich bisher habe: Private Sub CommandButton1_Click() iSpalte = Cells(1, Columns.Count).End(xlToLeft).Column ActiveSheet.Range("A7") = iSpalte x = InputBox("Gib hier deinen Wert ein:", "Letzte Spalte Zeile 1", "0") ActiveSheet.Range([I]"A" + "iSpalte"[/I]) = x End Sub In iSpalte ist der Index von der letzten Spalte gespeichert. Im ersten Schritt habe ich versucht in der Spalte A an der Stelle "iSpalte" den Wert von der InputBox zu speichern. Wie das mit der Range-Verknüpfung an der Stelle funktioniert weiß ich leider nicht. Im nächsten Schritt muss ich das ja andersherum verknüpfen. Also Den Index Wert irgendwie in einen Buchstaben verwandeln + Zeile 1 behalten. Habt ihr da nen Stoß für mich? Zitieren
HuoFenG Geschrieben 4. März 2013 Autor Geschrieben 4. März 2013 Oh man, Das war ja einfacher als gedacht.. Gibt es eigentlich so eine Art "Libary" für die Funktionen von VBA in Excel? Zitieren
HuoFenG Geschrieben 4. März 2013 Autor Geschrieben 4. März 2013 Ich hab die MSDN Libary gefunden, ich glaub das hier entwickelt sich zu meinem Blog xD Um die Chatbox nicht vollzuspammen stell ich jetzt hier mal wieder die nächste Frage: Mit dieser Funktion "Tabelle4.Cells.SpecialCells(xlCellTypeLastCell).Row" erhalte ich einen Zahlenwert für die letzt verwendete Reihe in meiner ExcelTabelle. Zu Testzwecken hab ich ein paar Zeilen gefüllt und dann wieder gelöscht. Das Problem ist, dass irgendwo gespeichert wird, welche Reihe/Zeile zuletzt beschrieben wurde. Wenn ich den z.B. die Inhalte von Zeile 1-20 wieder lösche, wird die Zeile 21 als nächste letzte Zeile zurückgegeben. Weiß jemand wie ich den Wert für die letzte beschriebene Zeile wieder zurücksetze? Zitieren
HuoFenG Geschrieben 5. März 2013 Autor Geschrieben 5. März 2013 Okay, wenn man speichert wird der Wert zurückgesetzt. Aber eine sauberere Lösung ist: Cells(Cells.Rows.Count, 1).End(xlUp).Row für Spalte A Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.