Jump to content

Recommended Posts

Moin,

da muss noch für jeden Button eine For-Schleife rein mit der du in Spalte A die erste leere Zelle findest und dann ausfüllst.

Etwa sowas:

Dim n As Long

For n = 2 To Cells(65356, 1).End(xlDown).Row
  If Cells(n, 1).Value = "" Then
  Cells(n, 1).Value = 0
Exit For
End If
Next n

Die Value halt für jeden Button anpassen, 0-36.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die letzte Eingabe löschen:

Dim n As Long
For n = 3 To Cells(65356, 1).End(xlDown).Row
  If Cells(n, 1).Value = "" Then
  Cells(n - 1, 1).Value = ""
Exit For
End If
Next n

Wichtig Variable n ist diesmal 3, damit nicht das Wort 'Permanenz' aus A1 gelöscht wird.

Gesamte Permanenz löschen:

Dim n As Long
Dim n As Long
For n = 2 To Cells(65356, 1).End(xlDown).Row
  If Cells(n, 1).Value = "" Then
Exit For
Else
  Cells(n, 1).Value = ""
End If
Next n

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

ah okay. Nach viermal lesen hab' ich's verstanden ;-)

Du möchtest dass das 2te 3te oder 4te Blatt geöffnet bleibt wenn du in die UserForm klickst.

Muss man mal schauen, im Code muss man dann noch eingeben das nur in Tabelle1 die Zellen genutzt werden.

Sooo fit in Excel Vba bin ich auch nicht, also kann 'nen Moment dauern bis ich mir das ergoogelt habe :D

Bis 'schpeter'.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Okay,

verändere für jeden Button einfach den Code in:

Sheets(1).Cells(n, 1).Value = ""

Also bei Cells... nur Sheets(1). davor schreiben.

Somit wird nur in das erste Blatt (Sheet) geschrieben. 

Ebenso beim Löschen-Button. Ansonsten löscht er nämlich im aktuellen Blatt. Wollen wir ja nicht.

Sollte dann alles so klappen, oder?

bearbeitet von Faustan
Link zu diesem Kommentar
Auf anderen Seiten teilen

Gesamte Permanenz löschen:

QUELLTEXTDim n As Long

Dim n As Long

For n = 2 To Cells(65356, 1).End(xlDown).Row

If Cells(n, 1).Value = "" Then

Exit For

Else

Cells(n, 1).Value = ""

End If

Next n

Dort ist langsam,

---------------------------------------

Private Sub CommandButton39_Click() = P

Range("A2:A100").ClearContents

End Sub

---------------------------------------

Die letzte Eingabe löschen:

QUELLTEXTDim n As Long

For n = 3 To Cells(65356, 1).End(xlDown).Row

If Cells(n, 1).Value = "" Then

Cells(n - 1, 1).Value = ""

Exit For

End If

Next n

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gesamte Permanenz löschen:

QUELLTEXTDim n As Long

Dim n As Long

For n = 2 To Cells(65356, 1).End(xlDown).Row

If Cells(n, 1).Value = "" Then

Exit For

Else

Cells(n, 1).Value = ""

End If

Next n

Dort ist langsam,

---------------------------------------

Private Sub CommandButton39_Click() = P

Range("A2:A100").ClearContents

End Sub

---------------------------------------

Die letzte Eingabe löschen:

QUELLTEXTDim n As Long

For n = 3 To Cells(65356, 1).End(xlDown).Row

If Cells(n, 1).Value = "" Then

Cells(n - 1, 1).Value = ""

Exit For

End If

Next n

Klick=D

0-37 +D +P zusammen =Button 39 klick

Gut.aber noch mehr

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmm?

meine Lösung ist langsam, und 

Private Sub CommandButton39_Click() = P

Range("A2:A100").ClearContents

ist schneller? Okay. Aber denk dran das Range() den Content im aktuellen Blatt löscht. Da müsstest noch Sheets(1). davor schreiben *glaub ich*.

bearbeitet von Faustan
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmm?

meine Lösung ist langsam, und

Private Sub CommandButton39_Click() = P

Range("A2:A100").ClearContents

ist schneller? Okay. Aber denk dran das Range() den Content im aktuellen Blatt löscht. Da müsstest noch Sheets(1). davor schreiben *glaub ich*.

Eben ich versuche dazu Range("Tabelle1A2:A100").ClearContents .weil zur Tabelle1 ja löscht andere Tabelle2oder3,,, nicht löscht

Mein meinung immer wichtig zur Tabelle1 eingeben immer auf A2bisA1000.

post-10736-1284665400_thumb.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Neee

Range("Tabelle1A2:A100").ClearContents 

ist ja falsch. Mag VBA nicht.

Du musst Sheets(). nehmen. Die Zahl in Klammern sagt dann welches Blatt. Also:

Sheets(1).Range("A2:A100").ClearContents

sollte funktionieren.

Und bei den Buttons:

Dim n As Long

For n = 2 To Cells(65356, 1).End(xlDown).Row

If Sheets(1).Cells(n, 1).Value = "" Then

Sheets(1).Cells(n, 1).Value = 0

Exit For

End If

Next n

bearbeitet von Faustan
Link zu diesem Kommentar
Auf anderen Seiten teilen

@Faustan @Heiß75

Hi Faustan, daß find ich ja gut, daß Du

Dir die Mühe machst und Ihm so hilfst ;-)

Da ich ähnliche Routinen schon fertig hab,

geb ich mal meine Vorschläge.

Eigentlich fast wie Deine, jedoch wird immer auf das zuletzt angezeigt Blatt zurückgeschaltet.

Beim Komplett - Löschen, wird keine feste Zahl angegeben

sondern die Anzahl benutzter Zeilen wird gelöscht

-------------------------------------------------------------------------------------------------------------

Sub ClearLastRow()
'
Dim Row, LastRow As Long
Dim PreviousSheet As String
'
PreviousSheet = ActiveSheet.Name ' Angezeigtes Blatt merken
Sheets("Tabelle1").Select
' Erste leere Zelle suchen
For Row = 3 To 65535
If Cells(Row, 1) = "" Then LastRow = Row - 1: Exit For
Next
'Zeile Löschen
Rows(LastRow).ClearContents
Sheets(PreviousSheet).Select ' gemerktes Blatt wieder anzeigen
End Sub
'
Sub ClearAllRows()
'
Dim Row, LastRow As Long
Dim PreviousSheet As String
'
PreviousSheet = ActiveSheet.Name ' Angezeigtes Blatt merken
Sheets("Tabelle1").Select
' Erste leere Zelle suchen
For Row = 2 To 65535
If Cells(Row, 1) = "" Then LastRow = Row - 1: Exit For
Next
' Mehrere Zeilen
Rows("2:" & Trim(Str(LastRow))).ClearContents
Sheets(PreviousSheet).Select ' gemerktes Blatt anzeigen
End Sub

-------------------------------------------------------------------------------------------------------------

@Heiß75

Was wäre Dir ein Tool Wert, daß die Zahlen automatisch

vom Bildschirm abliest, und in Deine Tabelle eintägt ???

Dann brauchst Du das Eingabe- Formular garnicht mehr :-)

Nur noch Setzen und Drehen klicken. die Tabelle füllt sich dann von alleine ?

Was wäre Dir sowas Wert ?

Gruß MsoProfi

Code nachgebessert

bearbeitet von msoprofi
Link zu diesem Kommentar
Auf anderen Seiten teilen

@msoprofi moin abend!

Was wäre Dir ein Tool Wert, daß die Zahlen automatisch

vom Bildschirm abliest, und in Deine Tabelle eintägt ???

Dann brauchst Du das Eingabe- Formular garnicht mehr :-)

Permanenz abschreiber nach excel ja viel Mühe mit hand tastaur 0-36 Eingeben!Finger!

Besser 0-36 Klick nach Excel.Gut als Hand , weil beide Hand bis Schulter viel Muskel und kraft ist leer nach schwache!

Ich gerne Bildschirm automatische nach Excel ohne Maus ,nur Maus auf Drehen klick,klick,klick aber noch nicht

ich mit VBA Tool 0-36 Button Maus klick nach Excel.noch weiter.

@Faustan

Und bei den Buttons

Dim n As Long

For n = 2 To Cells(65356, 1).End(xlDown).Row

If Sheets(1).Cells(n, 1).Value = "" Then

Sheets(1).Cells(n, 1).Value = 0

Exit For

End If

Next n

Das ist richtig,gut als vor.

;-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

@msoprofi

Ich seh' grad, hast du da nicht nen Fehler drin?

For Row = 3 To 65535

If Cells(1, Row) = "" Then LastRow = Row - 1: Exit For

Next

Du liest dann von Spalte 3 bis Spalte 65535. Und dort jeweils nur Zeile 1. ?

@Faustan

Ups ... Du hast Recht, da ich die Parameter vertauscht habe.

Es muß natürlich heißen :

If Cells(Row , 1) = "" Then LastRow = Row - 1: Exit For

Ich änder das oben ....

Gruß Mso

bearbeitet von msoprofi
Link zu diesem Kommentar
Auf anderen Seiten teilen

@ Faustan Moin

ja, ;-) aber nur weiter,ich will schau nach Tabelle2 oder Tabelle3 aber VBA Tool Schliess dass ja kann schau nach Tabelle2 oder Tabelle3

Wenn später alles fertig Tool "Schweißfest"

Darum

Ich will kurz ca 1-3 Minute Film von Camtasia Studio kann zeiger, Einfügen aber viel MB wegen Anhänge bis 3MB ob versuche??

3 MB ob nur 5 Sekunde film??

leider ja schwer erklären sonst weiter!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du hast warscheinlich im Code jetzt bei jedem Button:

Sheets(1).Cells(n, 1).Select

oder? Das ist falsch. Deshalb wechselt er immer wieder zu Tabelle1. Lass es einfach so:

Cells(n, 1).Select

Dann bleibt Excel im aktuellen Blatt und markiert dort nur die Zelle (um zu scrollen).

EDIT: Ausserdem darauf achten dass die UserForm nicht modal angezeigt wird. 'Modal' heisst alles wird gestoppt solange die UserForm aktiv ist, du kannst also nicht ins ExcelBlatt wechseln während die UserForm läuft.

showmodal.jpg

bearbeitet von Faustan
Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie ist deine Meinung dazu?

Du kannst jetzt schreiben und dich später registrieren. Bereits registrierter Teilnehmer? Dann melde dich jetzt an, um einen Kommentar zu schreiben.
Hinweis: Dein Beitrag wird nicht sofort sichtbar sein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Neu erstellen...