Wer kann mir helfen -bislang alles fehl geschlagen.... in VB

truckerking

Mitglied
dann hilf mir bitte wie muss ich den Speicherbutton programmieren damit er in bestimmten Zeilen werte einträgt, aber über eine Schleife vorab checckt welches die richtige freie Zelle für die daten ist. Speichern tut es inzwischen aber die Abfrage bekomme ich nicht hin.
 

Yaslaw

n/a
Moderator
Ist schwer mit deinen Angaben. Irgendie, nach einem unbekannten System soll er eine freie Zelle finden. Irgendwo in der Tabelle.
Irgendwas funkioert mit speichern. Die Exceldatei kannst du speichern? Oder was meinst du damit?

Nein, ich kann dir mit diesen Angaben nicht helfen.
Wird mal konkret. Mach mal einen Beschreibung die man Umsetzen kann.
Irgend in der Art: Beim drücken auf den Knopf ABC muss in der Spalte G die erste freie Zelle gefunden werden. Dort wird dann der Wert aus dem Formularfeld XY eingetragen.
 

truckerking

Mitglied
Ach so ok .....
Also beim Drücken eines Button so der mehrere Spalten auf Freizellen überprüfen und dann dort die Eingaben in den Textfelder in die Exceltabelle eintragen.

Oder ist es möglich das nach Drücken des Button folgendes passiert:
Das Datum wir abgefragt und dann wird in der entsprechenden Zeile (Monat) der Wert aus den Textboxen eingetragen.
 

Yaslaw

n/a
Moderator
Welcher Button und welche Spalten?
Welche Eingaben?
Du willst ein Code? Wie soll man deine Anbgaben in ein Code fassen.

Alles ungetestet. Es ist nicht Möglich einen passenden Testfall nach deinen Beschreibungen aufzubauen.
Viel Spass damit
Visual Basic:
Function HierIrgendEinButten_click()   
    Dim cols As Range
    Dim rowNr As Long

    Set cols =  ActiveWorksheet.Columns(HierIrgenEineSpaltendefinition)
    'Etwa so oder ähnlich die erste freine Zeile finden. Die Logik ist für eine SPalte. Kommt halt drauf an, ob deine Spalten nebeneinander sind oder nicht
    rowNr = cols.Cells.SpecialCells(xlCellTypeLastCell).row
    ActiveWorksheet.cells(rowNr, cols.Column).value = IrgendeinFeldAusEinemFormular
  
End Function

Nachtrag:
Nicht falsch verstehen - ich würde gerne helfen. An Erfahrung mangelt es mir auch nicht. Aber ich kann einfach aus deinen Erläuterungen nix herauslesen, das ich sinnvoll zu Code wandeln kann. Wir schreiben da irgendwie an einander vorbei.
 
Zuletzt bearbeitet:

truckerking

Mitglied
Private Sub cmbkundendaten_Click()
Dim ff As Integer
Dim txt As String
txt = txtkundedaten.Text
ff = FreeFile
Open "C:\Users\Andreas.wiese\Documents\Test.txt" For Output As #ff
Print #ff, txt
Close #ff
End Sub

das funktioniert auf Click, wie stelle ich das an das immer ein neues text dokument mit neuen namen erstellt wird, weil so überschreibt der das dokument test.txt immer.

ich hoffe das ich diesmal genauer klassifiziert habe was ich möchte.
 

Yaslaw

n/a
Moderator
Was? Ein Import ist auch noch dabei?

Naja, du must halt dein Dateinamen variabel machen. zb mit einem Zeitstempel oder einer ID oder was auch immer du da halt brauchst. Der Dateipfad ist auch nix anderes als ein String.
Visual Basic:
Dim strFilePath As String
strFilePath = "C:\Users\Andreas.wiese\Documents\Test_" & format(now, "yyyymmdd") & ".txt"
Open strFilePath For Output As #ff
 

truckerking

Mitglied
Private Sub cmbkundendaten_click()
Dim pfad As String
pfad = "C:\Users\Andreas.wiese\Documents\Kunden"
Dim i As Long
With Application.FileSearch
.LookIn = pfad
If .Execute > 0 Then i = .FoundFiles.Count
i = i + 1
ActiveWorkbook.SaveAs Filename:=pfad & "\" & "Kunden" & Format(i, "00000") & "-" & Format(Date, "DD-MM-YYYY") & ".txt"
End With
End Sub

irgendwie will das nicht funktionieren, welchen Fehler mache ich da?

bei deinem vorherigen Beispiel sagt er mir das:

-> bei Zeile 3 = Fehler 52
 

Yaslaw

n/a
Moderator
1) Bitte Code in Code-Tags setzen . Hilft uns ungemein beim lesen von Code
2019-02-27_144100.jpg

2) Was ist Fehler 52? Gibts da auch ein Text dazu oder darf man den Auswürfeln?

3)Welches ist die Zeile 3? Ist es die Pfad= Zeile?
 

truckerking

Mitglied
Problem egal ob als txt oder xls ich kann im ordner Kunden die Dateien nicht öffnen und wenn nur als Buchstabensalat, was kann ich da machen und das in klarschrift zu lesen.

zeile 3 = CODE]Open strFilePath For Output As #ff[/CODE] = Laufzeitfehler