Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Software > Office-Anwendungen

Office-Anwendungen Das Forum für alle Office-Anwendungen wie z.B. Open-Office,
Microsoft-Office (Word, Excel, Powerpoint, Access usw.) und Co.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26895, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3323, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 302, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7639, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 19, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 21, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 55, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 144, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 69, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50941, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27.10.2010, 14:06   #1 (Direktlink)
Unregistriert
Gast
 
Beiträge: n/a
Standard Excel Makro

Hallo Ich habe einProblem:

Sub Makro4()
'
' Makro4 Makro
' kopieren
'

'
ActiveWindow.SmallScroll Down:=-6
Range("E1:E23").Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Range("E1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Das Makro kopiert mir Daten von einem Tabellenblatt in ein anderes, nun fehlt mir der Durchblick, wie ich es erreiche das die nächste Ausführung des Makros die Daten nicht in Spalte E sondern in die nächste freie kopiert (hier dann f)

Danke im voraus

Viktor Polansky
  Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 28.10.2010, 07:53   #2 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 27.10.2010
Beiträge: 9
Standard

Nun auch als registrierter Benutzer.
poly7164 ist offline   Mit Zitat antworten
Alt 28.10.2010, 18:38   #3 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 23.11.2008
Beiträge: 104
Standard

Hallo Viktor

Ein Beispiel

Liebe Grüße Tanto

Was ich allerdings nicht verstehe
Du erstellst eine Neue Tabelle (die ja leer ist)und möchtest die nächste freie Spalte ermitteln

Code:
ActiveSheet.Cells(1, ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone
Tanto ist offline   Mit Zitat antworten
Alt 28.10.2010, 19:48   #4 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 27.10.2010
Beiträge: 9
Standard

Danke für das beispiel.

es ist so, in blatt eins wird eine Reihe von Messdaten eingeführt. diese werden gegen einen standart verglichen. dann laufen einige makros in sachen Etikettendruck, und dann soll dieser datensatz in ein anderes Blatt verschoben werden um dort dann als "Archiv" langfristig gespeichert werden. daher brauche ich dort die nächste leere Spalte.

Ich hoffe das klärt deine Frage. vieleicht hilft das auch.

Nun stellt sich ein weiteres problem:

es soll eine schaltfläche da sein, die nur dann da ist wenn ein bestimmter wert in Zelle E25 vorhanden ist, ist dort kein ok drinn, soll die Schaltfläche nicht sichtbar sein...

Na ja so ist das wenn man sich von Problem zu problem arbeitet.

Gruß Viktor
poly7164 ist offline   Mit Zitat antworten
Alt 28.10.2010, 20:52   #5 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 23.11.2008
Beiträge: 104
Standard

Hallo Viktor

Ein Beispiel mit einem Element der Steuerelement-Tollbox

Liebe Grüße Tanto

Einzufügen
Alt+F11/Projektexplorer/DeineTabelle

Code:
 
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Cells(1, 1) = "" Then
ActiveSheet.Shapes("CommandButton1").Visible = False
Else
ActiveSheet.Shapes("CommandButton1").Visible = True
End If
Application.EnableEvents = True
End Sub

Geändert von Tanto (28.10.2010 um 20:58 Uhr)
Tanto ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 28.10.2010, 21:14   #6 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 27.10.2010
Beiträge: 9
Standard

Hallo Tanto,

danke für das beispiel, ich werde es morgen früh versuchen.

Gruß Viktor
poly7164 ist offline   Mit Zitat antworten
Alt 29.10.2010, 08:32   #7 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 27.10.2010
Beiträge: 9
Standard

Hallo Tanto,

ich stehe im Wald....

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Cells(1, 1) = "ok" Then
ActiveSheet.Shapes("CommandButton1").Visible = False
Else
ActiveSheet.Shapes("CommandButton1").Visible = True
End If
Application.EnableEvents = True
End Sub

Private Sub CommandButton1_Click()
Testdruck

End Sub


Muss das nun so dort stehen, bzw, wie bekomme ich den Bezug auf die Zelle E 25?

Gruß Viktor Polansky
poly7164 ist offline   Mit Zitat antworten
Alt 29.10.2010, 09:32   #8 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 23.11.2008
Beiträge: 104
Standard

Hallo Victor
Code:
 
Cells(DeineZeile, DeineSpalte)
für E25 also folgendermaßen
Code:
 
Cells(25,5)
Liebe Grüße Tanto
Tanto ist offline   Mit Zitat antworten
Alt 29.10.2010, 14:03   #9 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 27.10.2010
Beiträge: 9
Daumen hoch

Hallo Tanto,

ich verwende Excel 2007, und der button weigert sich einfach zu verschwinden, ich habe aus der toolbox eine aktiveX Schaltfläche eingefügt und diese wie oben beschreiben mit dem Code von Dir versehen. Egal ob ich ok oder no in das Feld schreibe es bleibt immer sichtbar...

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Cells(25, 5) = "ok" Then
ActiveSheet.Shapes("CommandButton1").Visible = True
Else
ActiveSheet.Shapes("CommandButton1").Visible = False
End If
Application.EnableEvents = True

End Sub
Private Sub CommandButton1_Click()

End Sub


Es spielt wohl auch keine Rolle ob der Teil mit _Click oberhalb oder unterhalb des ganzen steht. Oder mache ich etwas grundsätzliches verkehrt?

Ich teste jeweils mit ausgeschaltetem Entwurfsmodus.

Gruß Viktor Polansky
poly7164 ist offline   Mit Zitat antworten
Alt 30.10.2010, 06:40   #10 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 23.11.2008
Beiträge: 104
Standard

Hallo Victor

Vielleich ist das Makro an der falschen Position,es muss hier eingefügt werden für den Automatismus

Alt+F11/Projektexplorer/DeineTabelle

Solltest Du nicht zurecht kommen,dann schau bitte in dein Postfach zum Emailaustausch

Das Ergebnis poste ich dann zu angemessener Zeit

Liebe Grüße Tanto

Geändert von Tanto (30.10.2010 um 14:42 Uhr)
Tanto ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 06.11.2010, 06:53   #11 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 23.11.2008
Beiträge: 104
Standard

Hallo Community

Konnte leider nicht weiter helfen,da ich kein excel7 besitze und die Datei dadurch nicht lesbar war

Liebe grüße Tanto
Tanto ist offline   Mit Zitat antworten
Alt 06.11.2010, 22:21   #12 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von Sascha Oliver Haak
 
Registriert seit: 11.02.2009
Ort: Hagen, Westf.
Alter: 41
Beiträge: 171
Standard

@poly7164

Ich habe mir gerade mal Dein Problem angesehen.
Möglich ist Dein Wunsch.

Frage: Die Tabellen bestehen alle schon?
Frage: Wie sind deren Namen?

Habe heute mal angefangen, bei mir funktioniert es 07.11.2010.

Es gibt drei Bereiche in denen Du die Codes einfügen musst:
VBA Öffnen
Folgenden Code in "Diese Arbeitsmappe" kopieren
Code:
' ------------------------------------------------------------------------------
' Dieser Code ist für Paules PC Forum geschrieben und kann frei verwendet werden
' Einbinden dieser Teil gehört in "Diese Arbeitsmappe"
' Dazu VBA öffnen und im Projektexplorer "Diese Arbeitsmappe" öffnen
' Damit der COde funktioniert muss in der iSourcetabelle ein Button mit dem Namen
' cmdOK eingebettet sein.
' -------------------------------------------------------------------------------
Public Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Init
    If Sh.Name = iSource Then                               ' Prüfen ob der Eintrag in der iSourcetabelle ist
        Zelle = Target.Address                              ' Adresse des Range Objectes z.B. $A$1
        iRow = Target.Row                                   ' Zeile
        iCol = Target.Column                                ' Spalte
        iTar = Target.Text                                  ' Wert in Zelle
        If Zelle = iEntry And Range(iEntry) = "OK" Then     ' Prüfe Überwachte Zelle auf OK
            Worksheets(iSource).cmdOK.Visible = True        ' Wenn OK dann Button anzeigen
            Else
            Worksheets(iSource).cmdOK.Visible = False       ' wenn nicht Button nicht anzeigen
        End If
    End If
End Sub
Public Sub Init()
      iEntry = "$B$3"                                       ' Überwachte Zelle
    iControl = "OK"                                         ' Wert
     iSource = "Tabelle1"                                   ' Tabelle mit den Rohdaten
     iTarget = "Tabelle2"                                   ' Ziel Tabelle
       iCopy = "E1:E23"                                     ' Kopierbereich von  iSource
End Sub
Der nächste Code gehört zum Button und muss in dessen Tabellenblatt
kopiert werden.

Code:
' ------------------------------------------------------------------------------
' Dieser Code ist für Paules PC Forum geschrieben und kann frei verwendet werden
' Einbinden dieser Teil gehört in die SourceTabelle
' Dazu VBA öffnen und im Projektexplorer "Tabelle wo Button ist" öffnen
' Damit der COde funktioniert muss in der iSourcetabelle ein Button mit dem Namen
' cmdOK eingebettet sein.
' -------------------------------------------------------------------------------

Public Sub cmdOK_Click()
    OK = Copy_Row
End Sub
Nun noch ein Code der in ein Modul gehört:

Code:
' ------------------------------------------------------------------------------
' Dieser Code ist für Paules PC Forum geschrieben und kann frei verwendet werden
' Einbinden dieser Teil gehört in "Modul" muss eventuell noch angelegt werden
' Dazu VBA öffnen und im Projektexplorer "Diese Arbeitsmappe" rechts anklicken
' Im Pop up Einfügen auswählen und dann Modul. Modul auswählen und Code einfügen
' Damit der COde funktioniert muss in der iSourcetabelle ein Button mit dem Namen
' cmdOK eingebettet sein.
' -------------------------------------------------------------------------------
Public iEntry As String
Public iControl As String
Public iSource As String
Public iTarget As String
Public iCopy As String
Public Function Cells2Range(Zeile, Spalte)
    Dim m1 As String
    m1 = Columns(Spalte).Address(False, False)
    m1 = Left(m1, InStr(m1, ":") - 1)
    Cells2Range = Trim(m1) & Trim(Str(Zeile)) + ":" + Trim(m1) & Trim(Str(Zeile + 23))
End Function
Public Function Copy_Row()
    iSpalte = 5                          ' Beginn mit der Überprüfung bei E (6 währe F .....)
    Do While iSpalte < 249
        If Worksheets(iTarget).Cells(1, iSpalte) <> "" Then ' Prüfe die Zieltabelle
            iSpalte = iSpalte + 1         ' Wenn Eintrag dann weiter
            Else
            Exit Do                     ' Schleife verlassen
        End If
    Loop
    CtR = Cells2Range(1, iSpalte)
    
    Worksheets(iSource).Range(iCopy).Select
    Selection.Copy
    Worksheets(iTarget).Select
    Range(CtR).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
End Function
Wenn Probleme sind melde Dich oder sende eine persönliche Nachricht.

Gruß
Sascha
__________________
Wer ein Problem erkennt, und nichts zu seiner Beseitigung unternimmt, der ist möglicherweise ein Teil dieses Problems.

Besucht mich auf meiner HP: http:\\www.saolha.bplaced.net

Geändert von Sascha Oliver Haak (07.11.2010 um 08:24 Uhr)
Sascha Oliver Haak ist offline   Mit Zitat antworten
Alt 08.11.2010, 11:09   #13 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 27.10.2010
Beiträge: 9
Standard

Hallo Sascha,

ich bekomme bei der Zeile :

Worksheets(iSource).cmdOK.Visible = False ' wenn nicht Button nicht anzeigen

immer wieder eine Fehlermeldung, ich habe die Codezeilen in eine neue Version meiner Datei eingefügt. Die Bezeichnungne für die Tabellen habe ich angepasst.

Der Button verschwindet zwar, aber wenn er da ist passiert nichts wenn ich Ihn anklicke.

iEntry habe ich auf "$E$23" gesetzt weil dies ja die Zelle ist die mir die Entscheidung OK oder NOK gibt.

gerne sende ich dir die Datei zu.

Gruß Viktor
poly7164 ist offline   Mit Zitat antworten
Alt 08.11.2010, 11:11   #14 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 27.10.2010
Beiträge: 9
Standard

Nachtrag:

Die Tabellen bestehen schon:

Data => Rohdaten
Übersicht => Ziel fürs Archiv
poly7164 ist offline   Mit Zitat antworten
Alt 08.11.2010, 15:22   #15 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 27.10.2010
Beiträge: 9
Standard

Hallo Sascha,


anbei meine Testdatei

Ich weis nun nicht mehr was ich falsch mache.

Gruß Viktor
Angehängte Dateien
Dateityp: zip TestPaules.zip (95,4 KB, 2x aufgerufen)
poly7164 ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Software > Office-Anwendungen

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Excel Makro optimieren manas Office-Anwendungen 5 13.11.2009 10:34
Excel Makro manas Office-Anwendungen 2 27.11.2008 07:35
Excel Makro beim Starten von Excel mitstarten? Throat Office-Anwendungen 1 16.04.2008 15:06
Excel Makro zum MP3 abspielen manas1 Office-Anwendungen 2 09.10.2005 07:27
Parsen via Makro von Excel in Excel Puliexon Office-Anwendungen 2 22.08.2005 21:04



Alle Zeitangaben in WEZ +2. Es ist jetzt 03:35 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2