Jump to content
Roulette Forum

Recommended Posts

Geschrieben

Ich möchte mich Helfe über VBA ,Code und Excel!

Ich habe bastel 0-36 Button(Klick) nach Excel immer Spalten A2,A3,A3,A4 ........

Aber ich selbst nicht klappt!

Achnung für VBA Code.

Ich habe ein Bild einfügen!

Bitte mich helfe!

post-10736-1284548714_thumb.jpg

Geschrieben

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.

Geschrieben

@Faustan Moin,Gut gemacht, 0-36 ist fertig

Das ist Bild, tipp Falsche gemacht zurück löscht!

D Button = Löscht letzte oben auch weiter oben!

Code!

Bitte mich helfe!

post-10736-1284563480_thumb.jpg

Geschrieben

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

Geschrieben

@Faustan moin

UserForm bleibe,dass Maus nach Tabelle2"Anzahl Plein und EC Serie,EC-Serie" klick nicht klappt.

soll alles fertig dass festSchlüssel??

Bitte mich helfe!

Schritt für Schritt

post-10736-1284650107_thumb.jpg

Geschrieben

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'.

Geschrieben (bearbeitet)

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
Geschrieben
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

Geschrieben
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

Geschrieben (bearbeitet)

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
Geschrieben
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

Geschrieben

Aber dazu "Tabelle1" beispiel Excel Tab1 nach Tab2 Tabelle1!A..... wie gleich

aber für Code dazu Tabelle1

immer richtig zur Tabelle1 eingeben!

post-10736-1284665866_thumb.jpg

Geschrieben (bearbeitet)

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
Geschrieben (bearbeitet)

@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
Geschrieben (bearbeitet)

@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. ?

bearbeitet von Faustan
Geschrieben

@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.

;-)

Geschrieben (bearbeitet)
@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
Geschrieben

@ 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!

Geschrieben (bearbeitet)

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...